)]}'
{
  "log": [
    {
      "commit": "02cb2858dbfe216bd4a91c4afb4e259ef3b9e151",
      "tree": "7c850038c24199ef7b392e5b2402d6f097c76543",
      "parents": [
        "9064caae8f47bb7ed5d91712e81f01c1aba2fa3c"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Fri Apr 24 15:41:57 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed May 06 16:22:41 2009 -0400"
      },
      "message": "nfsd: nfs4_stat_init cleanup\n\nSave some loop time.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9064caae8f47bb7ed5d91712e81f01c1aba2fa3c",
      "tree": "8949b0ae4c1a24c65652343561109e1964a31f72",
      "parents": [
        "63e4863fabc6e165a6ca813051305be58966da45"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Apr 28 16:48:25 2009 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 03 15:09:12 2009 -0400"
      },
      "message": "nfsd: use C99 struct initializers\n\nEliminate 56 sparse warnings like this one:\n\nfs/nfsd/nfs4xdr.c:1331:15: warning: obsolete array initializer, use C99 syntax\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63e4863fabc6e165a6ca813051305be58966da45",
      "tree": "e84b927ca00ce91c8a3a4e93b7f61a0fea315e00",
      "parents": [
        "3aea09dc9106407d8bc18e593fbffda9ad632844"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 22:36:55 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 03 15:08:56 2009 -0400"
      },
      "message": "nfsd4: make recall callback an asynchronous rpc\n\nAs with the probe, this removes the need for another kthread.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3aea09dc9106407d8bc18e593fbffda9ad632844",
      "tree": "563b9b3cfbd5203e87b7fea59946729c135de1d3",
      "parents": [
        "6707bd3d420f53ae8f090dac871843f6f43c9980"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 20:11:12 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 20:11:12 2009 -0400"
      },
      "message": "nfsd4: track recall retries in nfs4_delegation\n\nMove this out of a local variable into the nfs4_delegation object in\npreparation for making this an async rpc call (at which point we\u0027ll need\nany state like this in a common object that\u0027s preserved across function\ncalls).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6707bd3d420f53ae8f090dac871843f6f43c9980",
      "tree": "d72d14847fddef8bec160cd15e58d9edb9a9ddd9",
      "parents": [
        "b53d40c5070bffde1b2bcaf848412a50d8894794"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:57:46 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:57:46 2009 -0400"
      },
      "message": "nfsd4: remove unused dl_trunc\n\nThere\u0027s no point in keeping this field around--it\u0027s always zero.\n\n(Background: the protocol allows you to tell the client that the file is\nabout to be truncated, as an optimization to save the client from\nwriting back dirty pages that will just be discarded.  We don\u0027t\nimplement this hint.  If we do some day, adding this field back in will\nbe the least of the work involved.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b53d40c5070bffde1b2bcaf848412a50d8894794",
      "tree": "3f0e0f62997b437eb03678040393aa5e1fbfd315",
      "parents": [
        "c237dc0303bcf6f4cc2e0efe4fe4e341c6f34dac"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:50:00 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:50:00 2009 -0400"
      },
      "message": "nfsd4: eliminate struct nfs4_cb_recall\n\nThe nfs4_cb_recall struct is used only in nfs4_delegation, so its\npointer to the containing delegation is unnecessary--we could just use\ncontainer_of().\n\nBut there\u0027s no real reason to have this a separate struct at all--just\nmove these fields to nfs4_delegation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c237dc0303bcf6f4cc2e0efe4fe4e341c6f34dac",
      "tree": "d314fbccd51967a80f31f62e2467f0936fd096c0",
      "parents": [
        "e300a63ce4ccec073d254d883a3638d5dca1d771"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 19:09:19 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 17:31:44 2009 -0400"
      },
      "message": "nfsd4: rename callback struct to cb_conn\n\nI want to use the name for a struct that actually does represent a\nsingle callback.\n\n(Actually, I\u0027ve never been sure it helps to a separate struct for the\ncallback information.  Some day maybe those fields could just be dumped\ninto struct nfs4_client.  I don\u0027t know.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e300a63ce4ccec073d254d883a3638d5dca1d771",
      "tree": "63df254b53d9e5a48f7a2d31ac62c9bc23b48aba",
      "parents": [
        "3cef9ab266a932899e756f7e1ea7a988a97bf3b2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 05 15:01:11 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 17:10:53 2009 -0400"
      },
      "message": "nfsd4: replace callback thread by asynchronous rpc\n\nWe don\u0027t really need a synchronous rpc, and moving to an asynchronous\nrpc allows us to do without this extra kthread.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3cef9ab266a932899e756f7e1ea7a988a97bf3b2",
      "tree": "a1fff617c936214a9e95bdec760904a28859126b",
      "parents": [
        "ecdd03b7914c91ef849e49c4d466c87f4981b5cd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 21:42:10 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:45:03 2009 -0400"
      },
      "message": "nfsd4: lookup up callback cred only once\n\nLookup the callback cred once and then use it for all subsequent\ncallbacks.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ecdd03b7914c91ef849e49c4d466c87f4981b5cd",
      "tree": "16d67b4af0e8545f60e31f0b1f9cfb0f97526641",
      "parents": [
        "e1cab5a5896e142190cd66a8287099b52e5855a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 19:35:22 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:53 2009 -0400"
      },
      "message": "nfsd4: create rpc callback client from server thread\n\nThe code is a little simpler, and it should be easier to avoid races, if\nwe just do all rpc client creation/destruction from nfsd or laundromat\nthreads and do only the rpc calls themselves asynchronously.  The rpc\ncreation doesn\u0027t involve any significant waiting (it doesn\u0027t call the\nclient, for example), so there\u0027s no reason not to do this.\n\nAlso don\u0027t bother destroying the client on failure of the rpc null\nprobe.  We may want to retry the probe later anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1cab5a5896e142190cd66a8287099b52e5855a7",
      "tree": "dbdf0c075a83b192a1e2e2d450cac65f720a4ec4",
      "parents": [
        "595947acaaef373445131471a78650003f5d8e7d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 10:45:27 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:47 2009 -0400"
      },
      "message": "nfsd4: set cb_client inside setup_callback_client\n\nThis is just a minor code simplification.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "595947acaaef373445131471a78650003f5d8e7d",
      "tree": "706a17e13c60f802678964c6720486abfc33a5bc",
      "parents": [
        "f64f79ea5f5e02ba8585f35a10b4a3bcab0cea52"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 05 17:18:10 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:40 2009 -0400"
      },
      "message": "nfsd4: set shorter timeout\n\nWe tried to do something overly complicated with the callback rpc\ntimeouts here.  And they\u0027re wrong--the result is that by the time a\nsingle callback times out, it\u0027s already too late to tell the client\n(using the cb_path_down return to RENEW) that the callback is down.\n\nUse a much shorter, simpler timeout.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f64f79ea5f5e02ba8585f35a10b4a3bcab0cea52",
      "tree": "0b78de112c3a015c3f719064d1fa86583c7d5f0b",
      "parents": [
        "b8fd47aefa5f13df1edacbc7e68d9874635109e5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 13:45:36 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:34 2009 -0400"
      },
      "message": "nfsd4: setclientid_confirm callback-change fixes\n\nThis setclientid_confirm case should allow the client to change\ncallbacks, but it currently has a dummy implementation that just turns\noff callbacks completely.  That dummy implementation isn\u0027t completely\ncorrect either, though:\n\n\t- There\u0027s no need to remove any client recovery directory in\n\t  this case.\n\t- New clientid confirm verifiers should be generated (and\n\t  returned) in setclientid; there\u0027s no need to generate a new\n\t  one here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b8fd47aefa5f13df1edacbc7e68d9874635109e5",
      "tree": "25eb59eb5b533b272c317a2a6854430cc5e29320",
      "parents": [
        "c654b8a9cba6002aad1c01919e4928a79a4a6dcf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 11:36:17 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 11:36:17 2009 -0400"
      },
      "message": "nfsd: quiet compile warning\n\nStephen Rothwell said:\n\"Today\u0027s linux-next build (powerpc ppc64_defconfig) produced this new\nwarning:\n\nfs/nfsd/nfs4state.c: In function \u0027EXPIRED_STATEID\u0027:\nfs/nfsd/nfs4state.c:2757: warning: comparison of distinct pointer types lacks a cast\n\nCaused by commit 78155ed75f470710f2aecb3e75e3d97107ba8374 (\"nfsd4:\ndistinguish expired from stale stateids\").\"\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\n"
    },
    {
      "commit": "c654b8a9cba6002aad1c01919e4928a79a4a6dcf",
      "tree": "fee411bb42ec86e72a9e843529551e559c1f2749",
      "parents": [
        "3352d2c2d0540955a7bbb3421a28330af7f9d79c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 16 17:33:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 11:35:49 2009 -0400"
      },
      "message": "nfsd: support ext4 i_version\n\next4 supports a real NFSv4 change attribute, which is bumped whenever\nthe ctime would be updated, including times when two updates arrive\nwithin a jiffy of each other.  (Note that although ext4 has space for\nnanosecond-precision ctime, the real resolution is lower: it actually\nuses jiffies as the time-source.)  This ensures clients will invalidate\ntheir caches when they need to.\n\nThere is some fear that keeping the i_version up-to-date could have\nperformance drawbacks, so for now it\u0027s turned on only by a mount option.\nWe hope to do something better eventually.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3352d2c2d0540955a7bbb3421a28330af7f9d79c",
      "tree": "ca155444103cb3bf2b737d1cd7bf8200d747e9ec",
      "parents": [
        "bc749ca4c405d507e6ec6e3f3e5475e9a09faf0a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 07 17:03:19 2009 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 11:35:49 2009 -0400"
      },
      "message": "nfsd4: delete obsolete xdr comments\n\nWe don\u0027t need comments to tell us these macros are ugly.  And we\u0027re long\npast trying to share any of this code with the BSD\u0027s.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bc749ca4c405d507e6ec6e3f3e5475e9a09faf0a",
      "tree": "3038939701eab62e8adbb752cacdde20b989f769",
      "parents": [
        "e06b64050ebea1220bca3c291d0431f5206b5c95"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 07 16:55:27 2009 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 11:35:49 2009 -0400"
      },
      "message": "nfsd: eliminate ENCODE_HEAD macro\n\nThis macro doesn\u0027t serve any useful purpose.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e06b64050ebea1220bca3c291d0431f5206b5c95",
      "tree": "8d24948cb2397ae456bdf0467b63fa41764759fe",
      "parents": [
        "261758b5c3dfeac73ca364c47ed538f5ce4250ee"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:33:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:30 2009 -0400"
      },
      "message": "NFSD: Stricter buffer size checking in fs/nfsd/nfsctl.c\n\nClean up: For consistency, handle output buffer size checking in a\nother nfsctl functions the same way it\u0027s done for write_versions().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "261758b5c3dfeac73ca364c47ed538f5ce4250ee",
      "tree": "b5d8a8ec58eba1f400b3b5d4fbe222cdeda39d28",
      "parents": [
        "3d72ab8fdd44c872633b210dd1a4afd2910d0bbb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:33:18 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:30 2009 -0400"
      },
      "message": "NFSD: Stricter buffer size checking in write_versions()\n\nWhile it\u0027s not likely today that there are enough NFS versions to\noverflow the output buffer in write_versions(), we should be more\ncareful about detecting the end of the buffer.\n\nThe number of NFS versions will only increase as NFSv4 minor versions\nare added.\n\nNote that this API doesn\u0027t behave the same as portlist.  Here we\nattempt to display as many versions as will fit in the buffer, and do\nnot provide any indication that an overflow would have occurred.  I\ndon\u0027t have any good rationale for that.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3d72ab8fdd44c872633b210dd1a4afd2910d0bbb",
      "tree": "78b8ffba38d32d99b518c0efba19bffacc034b22",
      "parents": [
        "017cb47f46722f29d101a709a2094d151111ed6d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:33:10 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:30 2009 -0400"
      },
      "message": "NFSD: Stricter buffer size checking in write_recoverydir()\n\nWhile it\u0027s not likely a pathname will be longer than\nSIMPLE_TRANSACTION_SIZE, we should be more careful about just\nplopping it into the output buffer without bounds checking.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "017cb47f46722f29d101a709a2094d151111ed6d",
      "tree": "374085d064c4d74477cb3433bf045ab561a5be7e",
      "parents": [
        "58de2f86585dd8fc785aca6625adee32af84b8d7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:33:03 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:29 2009 -0400"
      },
      "message": "SUNRPC: Clean up one_sock_name()\n\nClean up svc_one_sock_name() by setting up automatic variables for\nfrequently used expressions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "58de2f86585dd8fc785aca6625adee32af84b8d7",
      "tree": "f97d43fe28914b43fc146083653804bdad46f9fd",
      "parents": [
        "e7942b9f2586fb15e1b898acc7c198ffd60aee4e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:55 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:29 2009 -0400"
      },
      "message": "SUNRPC: Support PF_INET6 in one_sock_name()\n\nAdd an arm to the switch statement in svc_one_sock_name() so it can\nconstruct the name of PF_INET6 sockets properly.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aime Le Rouzic \u003caime.le-rouzic@bull.net\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e7942b9f2586fb15e1b898acc7c198ffd60aee4e",
      "tree": "eda6f5323a320ae59fe33f13b0c4bbd857eac7c6",
      "parents": [
        "8435d34dbbe75678c3cdad3d53b1e7996a79b3bf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:48 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:29 2009 -0400"
      },
      "message": "SUNRPC: Switch one_sock_name() to use snprintf()\n\nUse snprintf() in one_sock_name() to prevent overflowing the output\nbuffer.  If the name doesn\u0027t fit in the buffer, the buffer is filled\nin with an empty string, and -ENAMETOOLONG is returned.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8435d34dbbe75678c3cdad3d53b1e7996a79b3bf",
      "tree": "efce3e51cb67c1d8ce39cd87bc22fbac8ee32cbe",
      "parents": [
        "bfba9ab4c64f0e5c33930711e6c073c285e01fcf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:40 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "SUNRPC: pass buffer size to svc_sock_names()\n\nAdjust the synopsis of svc_sock_names() to pass in the size of the\noutput buffer.  Add a documenting comment.\n\nThis is a cosmetic change for now.  A subsequent patch will make sure\nthe buffer length is passed to one_sock_name(), where the length will\nactually be useful.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bfba9ab4c64f0e5c33930711e6c073c285e01fcf",
      "tree": "1342b7e7d682fd468f0eb271faf2c15afdc8bd50",
      "parents": [
        "335c54bdc4d3bacdbd619ec95cd0b352435bd37f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:33 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "SUNRPC: pass buffer size to svc_addsock()\n\nAdjust the synopsis of svc_addsock() to pass in the size of the output\nbuffer.  Add a documenting comment.\n\nThis is a cosmetic change for now.  A subsequent patch will make sure\nthe buffer length is passed to one_sock_name(), where the length will\nactually be useful.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "335c54bdc4d3bacdbd619ec95cd0b352435bd37f",
      "tree": "922de1595031ab24a31ba263c1f07bf876797b05",
      "parents": [
        "ea068bad27cefc71ab03230dbf01a8f8d98da5ba"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "NFSD: Prevent a buffer overflow in svc_xprt_names()\n\nThe svc_xprt_names() function can overflow its buffer if it\u0027s so near\nthe end of the passed in buffer that the \"name too long\" string still\ndoesn\u0027t fit.  Of course, it could never tell if it was near the end\nof the passed in buffer, since its only caller passes in zero as the\nbuffer length.\n\nLet\u0027s make this API a little safer.\n\nChange svc_xprt_names() so it *always* checks for a buffer overflow,\nand change its only caller to pass in the correct buffer length.\n\nIf svc_xprt_names() does overflow its buffer, it now fails with an\nENAMETOOLONG errno, instead of trying to write a message at the end\nof the buffer.  I don\u0027t like this much, but I can\u0027t figure out a clean\nway that\u0027s always safe to return some of the names, *and* an\nindication that the buffer was not long enough.\n\nThe displayed error when doing a \u0027cat /proc/fs/nfsd/portlist\u0027 is\n\"File name too long\".\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ea068bad27cefc71ab03230dbf01a8f8d98da5ba",
      "tree": "e36b3c23598de4233ffae06fa556504082bd20eb",
      "parents": [
        "0a5372d8a13c3f670bf7c9c4a68ab04c3664fa28"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:18 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "NFSD: move lockd_up() before svc_addsock()\n\nClean up.\n\nA couple of years ago, a series of commits, finishing with commit\n5680c446, swapped the order of the lockd_up() and svc_addsock() calls\nin __write_ports().  At that time lockd_up() needed to know the\ntransport protocol of the passed-in socket to start a listener on the\nsame transport protocol.\n\nThese days, lockd_up() doesn\u0027t take a protocol argument; it always\nstarts both a UDP and TCP listener.  It\u0027s now more straightforward to\ntry the lockd_up() first, then do a lockd_down() if the svc_addsock()\nfails.\n\nCareful review of this code shows that the svc_sock_names() call is\nused only to close the just-opened socket in case lockd_up() fails.\nSo it is no longer needed if lockd_up() is done first.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0a5372d8a13c3f670bf7c9c4a68ab04c3664fa28",
      "tree": "378c78a984625b9b09ed30ececd906ea838a2e3b",
      "parents": [
        "c71206a7b4e829601e44c49d8a0f4df0fdfe9302"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:10 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:27 2009 -0400"
      },
      "message": "NFSD: Finish refactoring __write_ports()\n\nClean up: Refactor transport name listing out of __write_ports() to\nmake it easier to understand and maintain.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c71206a7b4e829601e44c49d8a0f4df0fdfe9302",
      "tree": "429fc7b6b1a50a7dde2a9b59bbe2df9bd3ea23e7",
      "parents": [
        "0b7c2f6fc7e06867885c7b0f256ff5bd494e0653"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:03 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:27 2009 -0400"
      },
      "message": "NFSD: Note an additional requirement when passing TCP sockets to portlist\n\nUser space must call listen(3) on SOCK_STREAM sockets passed into\n/proc/fs/nfsd/portlist, otherwise that listener is ignored.  Document\nthis.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0b7c2f6fc7e06867885c7b0f256ff5bd494e0653",
      "tree": "ff4434f78737edb6896275aebd6f6f93252ab34d",
      "parents": [
        "82d565919aa4138bc481a7473491b71385af4018"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:55 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:27 2009 -0400"
      },
      "message": "NFSD: Refactor socket creation out of __write_ports()\n\nClean up: Refactor the socket creation logic out of __write_ports() to\nmake it easier to understand and maintain.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "82d565919aa4138bc481a7473491b71385af4018",
      "tree": "4bc51f1a754af10989cf04ddd2cb278ce96ca154",
      "parents": [
        "4eb68c266cb1754ffa0040e882882680ece8cf34"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:48 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:26 2009 -0400"
      },
      "message": "NFSD: Refactor portlist socket closing into a helper\n\nClean up: Refactor the socket closing logic out of __write_ports() to\nmake it easier to understand and maintain.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4eb68c266cb1754ffa0040e882882680ece8cf34",
      "tree": "2c4f5b51ca01170616a57b41db7392fce512d4a9",
      "parents": [
        "4cd5dc751a5889b5b37aa88752e33a58d8f6b624"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:40 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:26 2009 -0400"
      },
      "message": "NFSD: Refactor transport addition out of __write_ports()\n\nClean up: Refactor transport addition out of __write_ports() to make\nit easier to understand and maintain.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4cd5dc751a5889b5b37aa88752e33a58d8f6b624",
      "tree": "cf632057f6ccc09c8bc5dd6952f8acf8f243e1df",
      "parents": [
        "abc5c44d6284fab8fb21bcfc52c0f16f980637df"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:32 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:26 2009 -0400"
      },
      "message": "NFSD: Refactor transport removal out of __write_ports()\n\nClean up: Refactor transport removal out of __write_ports() to make it\neasier to understand and maintain.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "abc5c44d6284fab8fb21bcfc52c0f16f980637df",
      "tree": "98825098d3f6488a1a8fb55ec40131313b1d25e9",
      "parents": [
        "dcf1a3573eae69937fb14462369c4d3e6f4a37f1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:25 2009 -0400"
      },
      "message": "SUNRPC: Fix error return value of svc_addr_len()\n\nThe svc_addr_len() helper function returns -EAFNOSUPPORT if it doesn\u0027t\nrecognize the address family of the passed-in socket address.  However,\nthe return type of this function is size_t, which means -EAFNOSUPPORT\nis turned into a very large positive value in this case.\n\nThe check in svc_udp_recvfrom() to see if the return value is less\nthan zero therefore won\u0027t work at all.\n\nAdditionally, handle_connect_req() passes this value directly to\nmemset().  This could cause memset() to clobber a large chunk of memory\nif svc_addr_len() has returned an error.  Currently the address family\nof these addresses, however, is known to be supported long before\nhandle_connect_req() is called, so this isn\u0027t a real risk.\n\nChange the error return value of svc_addr_len() to zero, which fits in\nthe range of size_t, and is safer to pass to memset() directly.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dcf1a3573eae69937fb14462369c4d3e6f4a37f1",
      "tree": "587a2d13fa80e0a0f6297e80dd609e3e6e777b4f",
      "parents": [
        "4ba170c2bb77713e999ac6fb9ffe6ddd99d2f25a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Apr 22 20:18:19 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:00:02 2009 -0400"
      },
      "message": "net/sunrpc/svc_xprt.c: fix sparse warnings\n\nFix the following sparse warnings in net/sunrpc/svc_xprt.c.\n\n  warning: symbol \u0027svc_recv\u0027 was not declared. Should it be static?\n  warning: symbol \u0027svc_drop\u0027 was not declared. Should it be static?\n  warning: symbol \u0027svc_send\u0027 was not declared. Should it be static?\n  warning: symbol \u0027svc_close_all\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4ba170c2bb77713e999ac6fb9ffe6ddd99d2f25a",
      "tree": "00c389049336dbc438b80b12b1200e46b9cc184a",
      "parents": [
        "78155ed75f470710f2aecb3e75e3d97107ba8374"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Apr 07 21:45:37 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 12:54:45 2009 -0400"
      },
      "message": "update Documentation/filesystems/00-INDEX with new nfsd related docs.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: James Lentini \u003cjlentini@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "78155ed75f470710f2aecb3e75e3d97107ba8374",
      "tree": "1a4b52cf0cd92ce7529036a3efa0eb4ad1bd2744",
      "parents": [
        "a9e61e25f9d2e7e43bf17625f5cb56c9e0a89b17"
      ],
      "author": {
        "name": "Bian Naimeng",
        "email": "biannm@cn.fujitsu.com",
        "time": "Wed Apr 22 18:25:37 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 24 19:17:18 2009 -0400"
      },
      "message": "nfsd4: distinguish expired from stale stateids\n\nIf we encode the time of client creation into the stateid instead of the\ntime of server boot, then we can determine whether that stateid is from\na previous instance of the a server, or from a client that has expired,\nand return an appropriate error to the client.\n\nSigned-off-by: Bian Naimeng \u003cbiannm@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a9e61e25f9d2e7e43bf17625f5cb56c9e0a89b17",
      "tree": "1c000afc1e2eadb00570ae34666af508afa021fe",
      "parents": [
        "80492e7d49bee0a280a84a39075a7857b92836b2"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Mar 31 15:12:56 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 24 16:36:03 2009 -0400"
      },
      "message": "lockd: call locks_release_private to cleanup per-filesystem state\n\nFor every lock request lockd creates a new file_lock object\nin nlmsvc_setgrantargs() by copying the passed in file_lock with\nlocks_copy_lock(). A filesystem can attach it\u0027s own lock_operations\nvector to the file_lock. It has to be cleaned up at the end of the\nfile_lock\u0027s life. However, lockd doesn\u0027t do it today, yet it\nasserts in nlmclnt_release_lockargs() that the per-filesystem\nstate is clean.\nThis patch fixes it by exporting locks_release_private() and adding\nit to nlmsvc_freegrantargs(), to be symmetrical to creating a\nfile_lock in nlmsvc_setgrantargs().\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "80492e7d49bee0a280a84a39075a7857b92836b2",
      "tree": "dcf87df4579091000311fb9dd7d68faa23002798",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Apr 21 16:08:39 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 23 17:25:07 2009 -0400"
      },
      "message": "rpcgss: remove redundant test on unsigned\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "091069740304c979f957ceacec39c461d0192158",
      "tree": "0d9ed94eaae0f0cdc4ab259f365d9de1b9601fb9",
      "parents": [
        "d4d5291c8cd499b1b590336059d5cc3e24c1ced6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 20:07:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 20:07:00 2009 -0700"
      },
      "message": "Linux 2.6.30-rc3\n"
    },
    {
      "commit": "d4d5291c8cd499b1b590336059d5cc3e24c1ced6",
      "tree": "bb4c2ea559001e066bf3355c1e4d82b36cb916d6",
      "parents": [
        "5dd559f020c98a2a4b3e063f09c0e4bc771ed838"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Apr 21 13:32:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 19:40:00 2009 -0700"
      },
      "message": "driver synchronization: make scsi_wait_scan more advanced\n\nThere is currently only one way for userspace to say \"wait for my storage\ndevice to get ready for the modules I just loaded\": to load the\nscsi_wait_scan module. Expectations of userspace are that once this\nmodule is loaded, all the (storage) devices for which the drivers\nwere loaded before the module load are present.\n\nNow, there are some issues with the implementation, and the async\nstuff got caught in the middle of this: The existing code only\nwaits for the scsy async probing to finish, but it did not take\ninto account at all that probing might not have begun yet.\n(Russell ran into this problem on his computer and the fix works for him)\n\nThis patch fixes this more thoroughly than the previous \"fix\", which\nhad some bad side effects (namely, for kernel code that wanted to wait for\nthe scsi scan it would also do an async sync, which would deadlock if you did\nit from async context already.. there\u0027s a report about that on lkml):\nThe patch makes the module first wait for all device driver probes, and then it\nwill wait for the scsi parallel scan to finish.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nTested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dd559f020c98a2a4b3e063f09c0e4bc771ed838",
      "tree": "dec5af9f6bea2167c6cc95fd442ff5343cf56ec0",
      "parents": [
        "5028eaa97dd1dab9cd7c30c4d38f71c708ca64bc"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Apr 21 16:30:32 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 19:40:00 2009 -0700"
      },
      "message": "Trivial: fix a typo in slow-work.h\n\nFix a comment typo in slow-work.h\n\n...a trivial mistake, but it will mess up kerneldoc if nothing else.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5028eaa97dd1dab9cd7c30c4d38f71c708ca64bc",
      "tree": "ff416e9ecb00ab2b616bce6acc4e2579c45b06b9",
      "parents": [
        "9b8de7479d0dbab1ed98b5b015d44232c9d3d08e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 21 23:00:29 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 19:40:00 2009 -0700"
      },
      "message": "PERCPU: Collect the DECLARE/DEFINE declarations together\n\nCollect the DECLARE/DEFINE declarations together in linux/percpu-defs.h so\nthat they\u0027re in one place, and give them descriptive comments, particularly\nthe SHARED_ALIGNED variant.\n\nIt would be nice to collect these in linux/percpu.h, but that\u0027s not possible\nwithout sorting out the severe #include recursion between the x86 arch headers\nand the general headers (and possibly other arches too).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b8de7479d0dbab1ed98b5b015d44232c9d3d08e",
      "tree": "1b138996efe642f03699a7737af109dfa72ef830",
      "parents": [
        "ccc5ff94c66e628d3c501b26ace5d4339667715d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 21 23:00:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 19:39:59 2009 -0700"
      },
      "message": "FRV: Fix the section attribute on UP DECLARE_PER_CPU()\n\nIn non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()\ndoes not agree with that specified by DEFINE_PER_CPU().  This means that\narchitectures that have a small data section references relative to a base\nregister may throw up linkage errors due to too great a displacement between\nwhere the base register points and the per-CPU variable.\n\nOn FRV, the .h declaration says that the variable is in the .sdata section, but\nthe .c definition says it\u0027s actually in the .data section.  The linker throws\nup the following errors:\n\nkernel/built-in.o: In function `release_task\u0027:\nkernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts\u0027 defined in .data section in kernel/built-in.o\nkernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts\u0027 defined in .data section in kernel/built-in.o\n\nTo fix this, DECLARE_PER_CPU() should simply apply the same section attribute\nas does DEFINE_PER_CPU().  However, this is made slightly more complex by\nvirtue of the fact that there are several variants on DEFINE, so these need to\nbe matched by variants on DECLARE.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccc5ff94c66e628d3c501b26ace5d4339667715d",
      "tree": "41ca2f1552864cc86bd5735c1b05d0de2898bb05",
      "parents": [
        "c19c6c32dcccfc89216bd579c0cb12d2dd45098f",
        "546888da82082555a56528730a83f0afd12f33bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:58 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix btrfs fallocate oops and deadlock\n  Btrfs: use the right node in reada_for_balance\n  Btrfs: fix oops on page-\u003emapping-\u003ehost during writepage\n  Btrfs: add a priority queue to the async thread helpers\n  Btrfs: use WRITE_SYNC for synchronous writes\n"
    },
    {
      "commit": "c19c6c32dcccfc89216bd579c0cb12d2dd45098f",
      "tree": "65d75d324281eebb12af9ee472d483b580a230c6",
      "parents": [
        "daba0280fdebce0761088cf541d6e6dd7c232850",
        "7400516ab40d8fe55031dc8d614e2b365bd95f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:43 2009 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6:\n  go7007: Convert to the new i2c device binding model\n"
    },
    {
      "commit": "daba0280fdebce0761088cf541d6e6dd7c232850",
      "tree": "486a33ddc9e873ecb525c02258280705735a0020",
      "parents": [
        "2e2e425989080cc534fc0fca154cae515f971cf5"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Apr 21 12:24:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:51 2009 -0700"
      },
      "message": "bfin_5xx: misplaced parentheses\n\n`!\u0027 has a higher precedence than `\u0026\u0027, parentheses are misplaced.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e2e425989080cc534fc0fca154cae515f971cf5",
      "tree": "c4acbd403164d1d210e3bc274b7d93487071153e",
      "parents": [
        "55e5750b3e979bac853c0809ad0ef75b7cebd18c"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Apr 21 12:24:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:51 2009 -0700"
      },
      "message": "vmscan,memcg: reintroduce sc-\u003emay_swap\n\nCommit a6dc60f8975ad96d162915e07703a4439c80dcf0 (\"vmscan: rename\nsc.may_swap to may_unmap\") removed the may_swap flag, but memcg had used\nit as a flag for \"we need to use swap?\", as the name indicate.\n\nAnd in the current implementation, memcg cannot reclaim mapped file\ncaches when mem+swap hits the limit.\n\nre-introduce may_swap flag and handle it at get_scan_ratio().  This\npatch doesn\u0027t influence any scan_control users other than memcg.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55e5750b3e979bac853c0809ad0ef75b7cebd18c",
      "tree": "6cb6d0576a557b7559bf7230d692609de1763bbe",
      "parents": [
        "b298cecb3deddf76d60022473a57f1cb776cbdcd"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Tue Apr 21 12:24:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:51 2009 -0700"
      },
      "message": "edac: ppc mpc85xx fix mc err detect\n\nError found by Jeff Haran.\n\nThe error detect register is 0s when no errors are detected.  The check\ncode is incorrect, so reverse check sense.\n\nReported-by: Jeff Haran \u003cjharan@Brocade.COM\u003e\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nSigned-off-by: Doug Thompson \u003cdougthompson@xmission.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b298cecb3deddf76d60022473a57f1cb776cbdcd",
      "tree": "e821e13f932ed2e3f5b1bd6c9cd399a671f439a5",
      "parents": [
        "e873cff0fada2b0532ca5104d5b5f5b02aa442b2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@parisplace.org",
        "time": "Tue Apr 21 12:24:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "scsi: mpt: suppress debugobjects warning\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13133\n\nODEBUG: object is on stack, but not annotated\n------------[ cut here ]------------\nWARNING: at lib/debugobjects.c:253 __debug_object_init+0x1f3/0x276()\nHardware name: VMware Virtual Platform\nModules linked in: mptspi(+) mptscsih mptbase scsi_transport_spi ext3 jbd mbcache\nPid: 540, comm: insmod Not tainted 2.6.28-mm1 #2\nCall Trace:\n [\u003cc042c51c\u003e] warn_slowpath+0x74/0x8a\n [\u003cc0469600\u003e] ? start_critical_timing+0x96/0xb7\n [\u003cc060c8ea\u003e] ? _spin_unlock_irqrestore+0x2f/0x3c\n [\u003cc0446fad\u003e] ? trace_hardirqs_off_caller+0x18/0xaf\n [\u003cc044704f\u003e] ? trace_hardirqs_off+0xb/0xd\n [\u003cc060c8ea\u003e] ? _spin_unlock_irqrestore+0x2f/0x3c\n [\u003cc042cb84\u003e] ? release_console_sem+0x1a5/0x1ad\n [\u003cc05013e6\u003e] __debug_object_init+0x1f3/0x276\n [\u003cc0501494\u003e] debug_object_init+0x13/0x17\n [\u003cc0433c56\u003e] init_timer+0x10/0x1a\n [\u003ce08e5b54\u003e] mpt_config+0x1c1/0x2b7 [mptbase]\n [\u003ce08e3b82\u003e] ? kmalloc+0x8/0xa [mptbase]\n [\u003ce08e3b82\u003e] ? kmalloc+0x8/0xa [mptbase]\n [\u003ce08e6fa2\u003e] mpt_do_ioc_recovery+0x950/0x1212 [mptbase]\n [\u003cc04496c2\u003e] ? __lock_acquire+0xa69/0xacc\n [\u003cc060c8f1\u003e] ? _spin_unlock_irqrestore+0x36/0x3c\n [\u003cc060c3af\u003e] ? _spin_unlock_irq+0x22/0x26\n [\u003cc04f2d8b\u003e] ? string+0x2b/0x76\n [\u003cc04f310e\u003e] ? vsnprintf+0x338/0x7b3\n [\u003cc04496c2\u003e] ? __lock_acquire+0xa69/0xacc\n [\u003cc060c8ea\u003e] ? _spin_unlock_irqrestore+0x2f/0x3c\n [\u003cc04496c2\u003e] ? __lock_acquire+0xa69/0xacc\n [\u003cc044897d\u003e] ? debug_check_no_locks_freed+0xeb/0x105\n [\u003cc060c8f1\u003e] ? _spin_unlock_irqrestore+0x36/0x3c\n [\u003cc04488bc\u003e] ? debug_check_no_locks_freed+0x2a/0x105\n [\u003cc0446b8c\u003e] ? lock_release_holdtime+0x43/0x48\n [\u003cc043f742\u003e] ? up_read+0x16/0x29\n [\u003cc05076f8\u003e] ? pci_get_slot+0x66/0x72\n [\u003ce08e89ca\u003e] mpt_attach+0x881/0x9b1 [mptbase]\n [\u003ce091c8e5\u003e] mptspi_probe+0x11/0x354 [mptspi]\n\nNoticing that every caller of mpt_config has its CONFIGPARMS struct\ndeclared on the stack and thus the \u0026pCfg-\u003etimer is always on the stack I\nchanged init_timer() to init_timer_on_stack() and it seems to have shut\nup.....\n\nCc: \"Moore, Eric Dean\" \u003cEric.Moore@lsil.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: \"Desai, Kashyap\" \u003cKashyap.Desai@lsi.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.29.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e873cff0fada2b0532ca5104d5b5f5b02aa442b2",
      "tree": "d5a751a5a4d8cb75b7110700b2c929f0cb52a7e4",
      "parents": [
        "2d7197f412e75587037449960bc4c7ea06155a7f"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue Apr 21 12:24:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "sgi-xp/sgi-gru: allow modules to load on non-uv systems\n\nFor an upcoming distro release, we need to have the xp kernel module\nloadable even when not on UV equipment.  The xpc module will not load.\nThis will allow one set of modules dependent upon xp to work on either UV\nor non-UV equipment.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d7197f412e75587037449960bc4c7ea06155a7f",
      "tree": "bfcbdf73e028eac3776bf5efa09f945f93fdf2e2",
      "parents": [
        "77e38a554aae2c3cdbf852117bc09bac6f95dae1"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Apr 21 12:24:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "uml: kill a kconfig warning\n\nGot this warning from Kconfig:\n\n   boolean symbol INPUT tested for \u0027m\u0027? test forced to \u0027n\u0027\n\nbecause INPUT is tristate, not bool.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77e38a554aae2c3cdbf852117bc09bac6f95dae1",
      "tree": "813625300e07dd77623ed28dc2df43488ee59dbc",
      "parents": [
        "6d029b645175ae71fdeedea84b246ecb1362d003"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 21 12:24:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "frv: insert PCI root bus resources for the MB93090 devel motherboard\n\nInsert PCI root bus resources for the FRV-based MB93090 development kit\nmotherboard.  This is required because the CPU\u0027s window onto the PCI bus\naddress space is considerably smaller than the CPU\u0027s full address space\nand non-PCI devices lie outside of the PCI window that we might want to\naccess.\n\nWithout this patch, the PCI root bus uses the platform-level bus\nresources, and these are then confined to the PCI window, thus making\nplatform_device_add() reject devices outside of this window.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d029b645175ae71fdeedea84b246ecb1362d003",
      "tree": "837f6d63186d27eafb8f3b9d91aef6aca863dd44",
      "parents": [
        "6e538aaf50ae782a890cbc02c27950448d8193e1"
      ],
      "author": {
        "name": "Krzysztof Halasa",
        "email": "khc@pm.waw.pl",
        "time": "Tue Apr 21 12:24:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "rtc-cmos: fix printk output\n\nWith no IRQ available/defined, RTC-CMOS driver prints something like:\n\trtc0: alarms up to one no, y3k, 114 bytes nvram\n                              ^^^^\nI guess the following is a bit easier to understand:\n\trtc0: no alarms, y3k, 114 bytes nvram\n\nSigned-off-by: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e538aaf50ae782a890cbc02c27950448d8193e1",
      "tree": "0e61cacadc2fe403f411e52ba18539bdd52b17e2",
      "parents": [
        "14fadca793e39742f442df53391cdd1437b9262f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Apr 21 12:24:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:50 2009 -0700"
      },
      "message": "spi: documentation: emphasise spi_master.setup() semantics\n\nThis is a doc-only patch which I hope will reduce the number of\nspi_master controller driver patches starting out with a common\nimplementation bug.\n\n(As in: almost every spi_master driver I see starts out with its\nversion of this bug.  Sigh.)\n\nIt just re-emphasizes that the setup() method may be called for one\ndevice while a transfer is active on another ...  which means that most\ndriver implementations shouldn\u0027t touch any registers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14fadca793e39742f442df53391cdd1437b9262f",
      "tree": "5ddf84241fe08587907e4e79cc898585bc55450d",
      "parents": [
        "0f249221813150b92c9d85b6bd232e7ee695ec6e"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 21 12:24:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "MAINTAINERS: add a more searchable string for the H8300 architecture.\n\nAdd a parenthesized string of \"H8300\" for more convenient searchability\nin the MAINTAINERS file.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f249221813150b92c9d85b6bd232e7ee695ec6e",
      "tree": "11707f249e5c9621b3ba952fdc00031e7b4f5f15",
      "parents": [
        "306c68aaa7c62010428196d309fda30b6bf57710"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Tue Apr 21 12:24:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "MAINTAINERS: add Matt Mackall to embedded maintainers\n\nImpact: make more work for myself\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "306c68aaa7c62010428196d309fda30b6bf57710",
      "tree": "0302de1a38b1c3e0381d546d668e741e39abbfcd",
      "parents": [
        "dc8c7f8919aeb2d89247bdf302ad68b569a2b1e2"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Apr 21 12:24:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "spi: pxa2xx: limit reaches -1\n\nOn line 944 the return value of flush() is considered as a boolean,\nbut limit reaches -1 upon timeout which evaluates to true.\n\nOn 540, 594, 720 the same occurs for wait_ssp_rx_stall()\nOn 536 the same occurs for wait_dma_channel_stop()\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc8c7f8919aeb2d89247bdf302ad68b569a2b1e2",
      "tree": "eab7141e0172d1ad38a731d6c11d0f98f754c62d",
      "parents": [
        "3285821bc5850f5bb099e803a55b0fd884a153b8"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Apr 21 12:24:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "MAINTAINERS: update KMEMTRACE pattern after file rename\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3285821bc5850f5bb099e803a55b0fd884a153b8",
      "tree": "7330d0d2045b6018f1497576cd7e07609a275e29",
      "parents": [
        "148da331200a0df8195e10eb8a38fd77bd7003af"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Apr 21 12:24:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "MAINTAINERS: remove include/asm-*/suspend* file patterns\n\nThere are no more arches with suspend support using these directories.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "148da331200a0df8195e10eb8a38fd77bd7003af",
      "tree": "73c24340fe39aa12fa9a31997ace8ce95448bc68",
      "parents": [
        "aa0b8f3687f06ac0e5a2b24547fdf431e923c475"
      ],
      "author": {
        "name": "Daniel Ribeiro",
        "email": "drwyrm@gmail.com",
        "time": "Tue Apr 21 12:24:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "pxa2xx_spi: restore DRCMR on resume\n\nIf DMA is enabled, any spi_sync call after suspend/resume would block\nforever, because DRCMR is lost on suspend.  This patch restores DRCMR to\nthe same values set by probe.\n\nSigned-off-by: Daniel Ribeiro \u003cdrwyrm@gmail.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0b8f3687f06ac0e5a2b24547fdf431e923c475",
      "tree": "94150412078aeb2e32c9927b13e0cd0a60a1aac0",
      "parents": [
        "e638c1394010859a015a3b533ee452d768e62cea"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Apr 21 12:24:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:49 2009 -0700"
      },
      "message": "drivers/input/serio/hp_sdc.c: fix crash when removing hp_sdc module\n\nOn parisc machines, which don\u0027t have HIL, removing the hp_sdc module\npanics the kernel.  Fix this by returning early in hp_sdc_exit() if no HP\nSDC controller was found.\n\nAdd functionality to probe for the hp_sdc_mlc kernel module (which takes\ncare of the upper layer HIL functionality on parisc) after two seconds.\nThis is needed to get all the other HIL drivers (keyboard / mouse/ ..)\ndrivers automatically loaded by udev later as well.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e638c1394010859a015a3b533ee452d768e62cea",
      "tree": "b8db247c01e86835afe6b0d6cd897543e76c23d0",
      "parents": [
        "c12ddba09394c60e1120e6997794fa6ed52da884"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Apr 21 12:24:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "memcg: use rcu_dereference to access mm-\u003eowner\n\nmm-\u003eowner should be accessed with rcu_dereference().\n\nReported-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c12ddba09394c60e1120e6997794fa6ed52da884",
      "tree": "7848a312993bee19c0096b2e4cb08b15140fd08c",
      "parents": [
        "4dec302ff71ebf48f5784a2d2fc5e3745e6d4d52"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Apr 21 12:24:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "hugetlbfs: return negative error code for bad mount option\n\nThis fixes the following BUG:\n\n  # mount -o size\u003dMM -t hugetlbfs none /huge\n  hugetlbfs: Bad value \u0027MM\u0027 for mount option \u0027size\u003dMM\u0027\n  ------------[ cut here ]------------\n  kernel BUG at fs/super.c:996!\n\nDue to\n\n\tBUG_ON(!mnt-\u003emnt_sb);\n\nin vfs_kern_mount().\n\nAlso, remove unused #include \u003clinux/quotaops.h\u003e\n\nCc: William Irwin \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dec302ff71ebf48f5784a2d2fc5e3745e6d4d52",
      "tree": "f2c7042168c8e25987c0b0cd55c546078f454089",
      "parents": [
        "25176ed670121e1e0aae5c8161713c332b786538"
      ],
      "author": {
        "name": "dann frazier",
        "email": "dannf@hp.com",
        "time": "Tue Apr 21 12:24:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "ipmi: add oem message handling\n\nEnable userspace to receive messages that a BMC transmits using an OEM\nmedium.  This is used by the HP iLO2.\n\nBased on code originally written by Patrick Schoeller.\n\nSigned-off-by: dann frazier \u003cdannf@hp.com\u003e\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25176ed670121e1e0aae5c8161713c332b786538",
      "tree": "f022df5bce75f72994d59b43ff64d9a114fc5261",
      "parents": [
        "40112ae7504745799e75ef418057f0d2cb745050"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Tue Apr 21 12:24:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "ipmi: fix statistics counting issues\n\nBela Lubkin noticed that the statistics for send IPMB and LAN commands\nin the IPMI driver could be incremented even if an error occurred.  Move\nthe increments to the proper place to avoid this.\n\nAlso add some statistics for retransmissions that failed, and some little\nhelper functions to neaten up the code a little.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Bela Lubkin \u003cblubkin@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40112ae7504745799e75ef418057f0d2cb745050",
      "tree": "f40db99519d3567e74fa699ff78a3e637df3dc2c",
      "parents": [
        "8b32b5d0dca2f5ab632e8bedcd57fe4c109c13fe"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Tue Apr 21 12:24:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "ipmi: test for event buffer before using\n\nThe IPMI driver would attempt to use the event buffer even if that\ndidn\u0027t exist on the BMC.  This patch modified the IPMI driver to check\nfor the event buffer\u0027s existence before trying to use it.\n\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b32b5d0dca2f5ab632e8bedcd57fe4c109c13fe",
      "tree": "f9a4aa93b52d4bb6a326c56974d186788e654cdd",
      "parents": [
        "4614e6adafa2c5e6c3a9c245af2807fa7bc5117a"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Tue Apr 21 12:24:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "ipmi: fix platform return check\n\nThe wrong return value is being tested when allocating a platform device\nin the IPMI SI code.  Check the right value.\n\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4614e6adafa2c5e6c3a9c245af2807fa7bc5117a",
      "tree": "e4bb5eeaa252ede053abc6b3c4d15c4127ce7a32",
      "parents": [
        "8e19608e8b5c001e4a66ce482edc474f05fb7355"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: add enable() and disable() callbacks\n\nAdd enable() and disable() callbacks for clocksources.\n\nThis allows us to put unused clocksources in power save mode.  The\nfunctions clocksource_enable() and clocksource_disable() wrap the\ncallbacks and are inserted in the timekeeping code to enable before use\nand disable after switching to a new clocksource.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e19608e8b5c001e4a66ce482edc474f05fb7355",
      "tree": "06af4be339136da7476396604c30112238d84339",
      "parents": [
        "ff14ed5db6e7e5e5dc23712d3c877891d4d9a1a8"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: pass clocksource to read() callback\n\nPass clocksource pointer to the read() callback for clocksources.  This\nallows us to share the callback between multiple instances.\n\n[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff14ed5db6e7e5e5dc23712d3c877891d4d9a1a8",
      "tree": "5215a82df4a7465f0163c4ab00ca0cd77a488786",
      "parents": [
        "44aa417910ec9cda6da42be914105e789273b507"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 21 12:23:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "pxafb: lcsr1 is unused without CONFIG_FB_PXA_OVERLAY\n\nFixes the warning:\n\n  drivers/video/pxafb.c: In function \u0027pxafb_handle_irq\u0027:\n  drivers/video/pxafb.c:1442: warning: unused variable \u0027lcsr1\u0027\n\n[akpm@linux-foundation.org: save an ifdef]\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44aa417910ec9cda6da42be914105e789273b507",
      "tree": "be2ea32bb8d74b309b7602b7315c7234cd7e7344",
      "parents": [
        "b33ecba033ca649f6350696a3057d916a23a775a"
      ],
      "author": {
        "name": "Vlada Peric",
        "email": "vlada.peric@gmail.com",
        "time": "Tue Apr 21 12:23:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "asiliantfb: add missing return statement\n\nCommit 032220ba (asiliantfb: fix cmap memory leaks) changed the function\ninit_asiliant from void to int, resulting in the following compile warning:\n\n  drivers/video/asiliantfb.c: In function `init_asiliant\u0027:\n  drivers/video/asiliantfb.c:536: warning: control reaches end of non-void function\n\nFix the warning by returning 0.\n\nSigned-off-by: Vlada Peric \u003cvlada.peric@gmail.com\u003e\nCc: Andres Salomon \u003cdilinger@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7400516ab40d8fe55031dc8d614e2b365bd95f1c",
      "tree": "33fc8410c9727ca32747ed84832bafb785285f79",
      "parents": [
        "a939b96cccdb65df80a52447ec8e4a6d79c56dbb"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 21 21:47:22 2009 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 21 21:47:22 2009 +0200"
      },
      "message": "go7007: Convert to the new i2c device binding model\n\nMove the go7007 driver away from the legacy i2c binding model, which\nis going away really soon now.\n\nThe I2C addresses of the audio and video chips in s2250-board didn\u0027t\nlook quite right, apparently they were left-aligned values when Linux\nwants right-aligned values, so I fixed them too.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "546888da82082555a56528730a83f0afd12f33bf",
      "tree": "98ee868d1b8a4bd390a980fed707f91419b79fb5",
      "parents": [
        "8c594ea81d7abbbffdda447b127f8ba8d76f319d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 21 11:53:38 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 21 12:45:12 2009 -0400"
      },
      "message": "Btrfs: fix btrfs fallocate oops and deadlock\n\nBtrfs fallocate was incorrectly starting a transaction with a lock held\non the extent_io tree for the file, which could deadlock.  Strictly\nspeaking it was using join_transaction which would be safe, but it is better\nto move the transaction outside of the lock.\n\nWhen preallocated extents are overwritten, btrfs_mark_buffer_dirty was\nbeing called on an unlocked buffer.  This was triggering an assertion and\noops because the lock is supposed to be held.\n\nThe bug was calling btrfs_mark_buffer_dirty on a leaf after btrfs_del_item had\nbeen run.  btrfs_del_item takes care of dirtying things, so the solution is a\nto skip the btrfs_mark_buffer_dirty call in this case.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b33ecba033ca649f6350696a3057d916a23a775a",
      "tree": "c73dec9bdacace464a6df43b14c4f0dfc0d2a607",
      "parents": [
        "81ca98036985559c49480007371af94aa6e85dc0",
        "e56985da455b9dc0591b8cb2006cc94b6f4fb0f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:27:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:27:30 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix page_mkwrite() return code\n  GFS2: Clear dirty bit at end of inode glock sync\n"
    },
    {
      "commit": "81ca98036985559c49480007371af94aa6e85dc0",
      "tree": "1d4f400a40b573d1405ccd0a7d869e9859a30408",
      "parents": [
        "9a41fe3415bbef2c0c08ac232dc3a17add0dee58",
        "4db25d496c09fdf094d52d11a90ae51f9ee473c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:16:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:16:14 2009 -0700"
      },
      "message": "Merge branch \u0027sh/for-2.6.30\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.30\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Fix mmap2 for handling differing PAGE_SIZEs.\n  sh: sh7723: Don\u0027t default enable the RTC clock.\n  sh: sh7722: Don\u0027t default enable the RTC clock.\n  rtc: rtc-sh: clock framework support.\n"
    },
    {
      "commit": "9a41fe3415bbef2c0c08ac232dc3a17add0dee58",
      "tree": "6c2440e3dd3babd4643396de9ba44303d8d3a7b4",
      "parents": [
        "8b9cf76d0fa6cd98fe42dd2f86460d6ede55fed8",
        "be9208dff23af904655807672dd8235abf6ac039"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:56:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:56:17 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  reiserfs: fix j_last_flush_trans_id type\n  fs: Mark get_filesystem_list() as __init function.\n  kill vfs_stat_fd / vfs_lstat_fd\n  Separate out common fstatat code into vfs_fstatat\n  ecryptfs: use memdup_user()\n  ncpfs: use memdup_user()\n  xfs: use memdup_user()\n  sysfs: use memdup_user()\n  btrfs: use memdup_user()\n  xattr: use memdup_user()\n  autofs4: use memchr() in invalid_string()\n  Documentation/filesystems: remove out of date reference to BKL being held\n  Fix i_mutex vs. readdir handling in nfsd\n  fs/compat_ioctl: fix build when !BLOCK\n  Fix autofs_expire()\n  No need for crossing to mountpoint in audit_tag_tree()\n  Safer nfsd_cross_mnt()\n  Touch all affected namespaces on propagation of mount\n  Fix AUTOFS_DEV_IOCTL_REQUESTER_CMD\n"
    },
    {
      "commit": "8b9cf76d0fa6cd98fe42dd2f86460d6ede55fed8",
      "tree": "2c9f926f83bdcbc260304aa243087613a3894871",
      "parents": [
        "8340437210390676f687633a80e3748c40885dc8"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Tue Apr 21 13:44:13 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:50:58 2009 -0700"
      },
      "message": "Fix SYSCALL_ALIAS for older MIPS assembler\n\nOlder MIPS assembler don\u0027t support .set for defining aliases.\nUsing \u003d works for old and new assembers.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8340437210390676f687633a80e3748c40885dc8",
      "tree": "844b16bd6c152c8632b6a5f032c36d09bd1baf18",
      "parents": [
        "608faf1ff2341dd89307eea649c8efaa6d08b911"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 20 14:58:35 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:46:49 2009 -0700"
      },
      "message": "NFS: Fix the XDR iovec calculation in nfs3_xdr_setaclargs\n\nCommit ae46141ff08f1965b17c531b571953c39ce8b9e2 (NFSv3: Fix posix ACL code)\nintroduces a bug in the calculation of the XDR header iovec. In the case\nwhere we are inlining the acls, we need to adjust the length of the iovec\nreq-\u003erq_svec, in addition to adjusting the total buffer length.\n\nTested-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nTested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4db25d496c09fdf094d52d11a90ae51f9ee473c6",
      "tree": "77ab8003db1d6ccbcf3a9acafad26002fba37b63",
      "parents": [
        "b8c193f88ebd8705b3e916532539031cd9fc0b4c",
        "8c31813f31cd4403b46802866949a95a6e8fa584"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Apr 21 17:12:16 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Apr 21 17:12:16 2009 +0900"
      },
      "message": "Merge branch \u0027sh/stable-updates\u0027 into sh/for-2.6.30\n"
    },
    {
      "commit": "be9208dff23af904655807672dd8235abf6ac039",
      "tree": "9c1e48f30787ec907db4812107f8086ccbb25666",
      "parents": [
        "38e23c95f92a84fb8505a9f572b8a209c9c372c1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:29:41 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:29:41 2009 -0400"
      },
      "message": "reiserfs: fix j_last_flush_trans_id type\n\nConversion in commit 600ed41675d8c384519d8f0b3c76afed39ef2f4b had missed\nthat one, but converted format from %lu to %u.  As the result,\n/proc/..../journal got buggered on 64bit boxen.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "38e23c95f92a84fb8505a9f572b8a209c9c372c1",
      "tree": "3caa1061a8c6a831935ce3fa7209cc2db1ea3e0d",
      "parents": [
        "2eae7a1874ca5be3232765d89e0250a449f1bc90"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Apr 09 20:17:52 2009 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "fs: Mark get_filesystem_list() as __init function.\n\n\"int get_filesystem_list(char * buf)\" is called by only\n\"static void __init get_fs_names(char *page)\".\nWe can mark get_filesystem_list() as \"__init\".\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2eae7a1874ca5be3232765d89e0250a449f1bc90",
      "tree": "571f62f170623b98ab7b673fb18ea1c2c2582604",
      "parents": [
        "0112fc2229847feb6c4eb011e6833d8f1742a375"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Apr 08 16:34:03 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "kill vfs_stat_fd / vfs_lstat_fd\n\nThere\u0027s really no reason to keep vfs_stat_fd and vfs_lstat_fd with\nOleg\u0027s vfs_fstatat.  Use vfs_fstatat for the few cases having the\ndirectory fd, and switch all others to vfs_stat / vfs_lstat.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0112fc2229847feb6c4eb011e6833d8f1742a375",
      "tree": "c5bda0b4f5a5f942478faf2fb5961df7fbd15546",
      "parents": [
        "fd56d242b3b80b6f2ca174272b20029aae61df75"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Wed Apr 08 20:05:42 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "Separate out common fstatat code into vfs_fstatat\n\nThis is a version incorporating Christoph\u0027s suggestion.\n\nSeparate out common *fstatat functionality into a single function\ninstead of duplicating it all over the code.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd56d242b3b80b6f2ca174272b20029aae61df75",
      "tree": "57f51b3471dc6fdb8bcb92bff5bfdc8f4c441cd1",
      "parents": [
        "a9482ebcdedbc5872ed34a266e6a45c35116f264"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:09:29 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "ecryptfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9482ebcdedbc5872ed34a266e6a45c35116f264",
      "tree": "2a4e82f04bce55bdd02beb39319f691ff9533fe3",
      "parents": [
        "0e639bdeef26faf287db77a15530f3f295a4ae04"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:08:53 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "ncpfs: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0e639bdeef26faf287db77a15530f3f295a4ae04",
      "tree": "b5f15e44cd974561a426fc2e07c792255b1328cb",
      "parents": [
        "1c8542c7bb239ef02fe21477acd9cdac04c1b640"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:08:04 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "xfs: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1c8542c7bb239ef02fe21477acd9cdac04c1b640",
      "tree": "45d9f29f241203608866f8246a699bc00b6ecf6b",
      "parents": [
        "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:07:30 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "sysfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33",
      "tree": "ab7f9fc54bcf735c7f331f78858ec0db7f634cdd",
      "parents": [
        "3939fcde24473dc09ce16e922c88df9b3bee45d9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:06:54 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "btrfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nNote this changes some GFP_NOFS to GFP_KERNEL, since copy_from_user() may\ncause pagefault, it\u0027s pointless to pass GFP_NOFS to kmalloc().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3939fcde24473dc09ce16e922c88df9b3bee45d9",
      "tree": "fe1525d311cad56f25323a659e6c1811b22c0a8d",
      "parents": [
        "3eac8778a237d83a1e553eba0c6f4fd4b39eeec0"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:06:12 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "xattr: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3eac8778a237d83a1e553eba0c6f4fd4b39eeec0",
      "tree": "0a546e57929310f0968d5e9b43afec08b86aeed5",
      "parents": [
        "66672fefaa91802fec51c3fe0cc55bc9baea5a2d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 11:12:46 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "autofs4: use memchr() in invalid_string()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "66672fefaa91802fec51c3fe0cc55bc9baea5a2d",
      "tree": "881ff54bfb1cb2de02181382475465389147913f",
      "parents": [
        "2f9092e1020246168b1309b35e085ecd7ff9ff72"
      ],
      "author": {
        "name": "Adrian McMenamin",
        "email": "adrian@mcmen.demon.co.uk",
        "time": "Mon Apr 20 18:38:28 2009 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:16 2009 -0400"
      },
      "message": "Documentation/filesystems: remove out of date reference to BKL being held\n\nDocumentation/filesystems/vfs.txt incorrectly states that the kernel is\nlocked during the call to statfs (Documentation/filesystems/Locking\ncorrectly says it is not). This patch removes the offending sentence.\n\nremove reference to BKL being held in statfs\n\nSigned-off-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f9092e1020246168b1309b35e085ecd7ff9ff72",
      "tree": "f8318c1e62e789718ae7637869f6c075b815bcb2",
      "parents": [
        "1ba0c7dbbbc24230394100c5f0d0df38cb400cff"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 20 23:18:37 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:16 2009 -0400"
      },
      "message": "Fix i_mutex vs. readdir handling in nfsd\n\nCommit 14f7dd63 (\"Copy XFS readdir hack into nfsd code\") introduced a\nbug to generic code which had been extant for a long time in the XFS\nversion -- it started to call through into lookup_one_len() and hence\ninto the file systems\u0027 -\u003elookup() methods without i_mutex held on the\ndirectory.\n\nThis patch fixes it by locking the directory\u0027s i_mutex again before\ncalling the filldir functions. The original deadlocks which commit\n14f7dd63 was designed to avoid are still avoided, because they were due\nto fs-internal locking, not i_mutex.\n\nWhile we\u0027re at it, fix the return type of nfsd_buffered_readdir() which\nshould be a __be32 not an int -- it\u0027s an NFS errno, not a Linux errno.\nAnd return nfserrno(-ENOMEM) when allocation fails, not just -ENOMEM.\nSparse would have caught that, if it wasn\u0027t so busy bitching about\n__cold__.\n\nCommit 05f4f678 (\"nfsd4: don\u0027t do lookup within readdir in recovery\ncode\") introduced a similar problem with calling lookup_one_len()\nwithout i_mutex, which this patch also addresses. To fix that, it was\nnecessary to fix the called functions so that they expect i_mutex to be\nheld; that part was done by J. Bruce Fields.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nUmm-I-can-live-with-that-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nTested-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nLKML-Reference: \u003c8036.1237474444@jrobl\u003e\nCc: stable@kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ba0c7dbbbc24230394100c5f0d0df38cb400cff",
      "tree": "4515c03337286c7d2a5ae1c7976b7b742b3a7e1a",
      "parents": [
        "117aff744a20a2a04ccdb36cd5978316e1af0c3a"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Mon Apr 20 12:23:02 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:16 2009 -0400"
      },
      "message": "fs/compat_ioctl: fix build when !BLOCK\n\nIn file included from fs/compat_ioctl.c:61:\ninclude/linux/loop.h:59: error: field \u0027lo_bio_list\u0027 has incomplete type\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "117aff744a20a2a04ccdb36cd5978316e1af0c3a",
      "tree": "1f96bb44bf67a7737d233831399ab58d9fa842bf",
      "parents": [
        "24b6f16ecf37f918a1934d590e9e71c100d6388f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 11:19:26 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Fix autofs_expire()\n\nmnt should remain the same for all iterations through the list;\nas it is, if we have a busy mount, mnt follows into it and isn\u0027t\nrestored for the next iteration.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "24b6f16ecf37f918a1934d590e9e71c100d6388f",
      "tree": "14ea0e7f399c1608d0401e87655cc9332a3b9f33",
      "parents": [
        "1644ccc8a99ae73859c39372f96afdbf03c9f80d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 03:25:41 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "No need for crossing to mountpoint in audit_tag_tree()\n\nis_under() will DTRT anyway.  And yes, is_subdir() behaviour\nis intentional.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1644ccc8a99ae73859c39372f96afdbf03c9f80d",
      "tree": "27b568d2fcc00738a505fd562d7fa4728aa43d7f",
      "parents": [
        "e5d67f0715bc60f6c19abdd86d007d7bb29c9951"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 02:32:31 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Safer nfsd_cross_mnt()\n\nAFAICS, we have a subtle bug there: if we have crossed mountpoint\n*and* it got mount --move\u0027d away, we\u0027ll be holding only one\nreference to fs containing dentry - exp-\u003eex_path.mnt.  IOW, we\nought to dput() before exp_put().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e5d67f0715bc60f6c19abdd86d007d7bb29c9951",
      "tree": "8de787c36ea21736434e7c4442a41527fc33bdbe",
      "parents": [
        "cf2706a340ae98616d4e2a54900393e0e0b6b72c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 12:15:39 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Touch all affected namespaces on propagation of mount\n\nWe shouldn\u0027t just touch the namespace of current process\n\nCaught-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf2706a340ae98616d4e2a54900393e0e0b6b72c",
      "tree": "85a925228256ccdc1eb4453fefa3e09215dccee0",
      "parents": [
        "a939b96cccdb65df80a52447ec8e4a6d79c56dbb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 09:03:30 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Fix AUTOFS_DEV_IOCTL_REQUESTER_CMD\n\nMissing conversion from kernel to userland dev_t; this sucker\nbreaks as soon as we get sufficiently many autofs mounts for\nnew_encode_dev(s_dev) !\u003d s_dev.\n\nNote: this is the minimal fix.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c31813f31cd4403b46802866949a95a6e8fa584",
      "tree": "83f774f5b0f979d53b909638efe56d8dc2e05ea0",
      "parents": [
        "aefe6475720bd5eb8aacbc881488f3aa65618562"
      ],
      "author": {
        "name": "Toshinobu Sugioka",
        "email": "sugioka@itonet.co.jp",
        "time": "Tue Apr 21 07:34:53 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Apr 21 07:34:53 2009 +0900"
      },
      "message": "sh: Fix mmap2 for handling differing PAGE_SIZEs.\n\nmmap2 uses a fixed page shift of 12, regardless of the PAGE_SIZE setting.\nFix up the mmap2 code to add some sanity checks on the mapping, and to\nupdate pgoff accordingly.\n\nError handling bits based on 4280e3126f641898f0ed1a931645373d3489e2a6\n(\"frv: fix mmap2 error handling\").\n\nSigned-off-by: Toshinobu Sugioka \u003csugioka@itonet.co.jp\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    }
  ],
  "next": "8c594ea81d7abbbffdda447b127f8ba8d76f319d"
}
