)]}'
{
  "log": [
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
      "tree": "80acf6fa7d35d29ba03798fb6745ad9791f965c9",
      "parents": [
        "7ebb931598cd95cccea10d4bc4c0123a464ea565"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: Determine initial mount security\n\nWhen sec\u003d\u003csomething\u003e is not presented as a mount option,\nwe should attempt to determine what security flavor the\nserver is using.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8de240a9074b72b156d9e6d53f00076e6cd5f03",
      "tree": "9436ca858870ce89af75703b61a2c25889db354e",
      "parents": [
        "e020c6800c9621a77223bf2c1ff68180e41e8ebf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 19:56:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:38:59 2011 -0400"
      },
      "message": "SUNRPC: Convert struct rpc_xprt to use atomic_t counters\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8",
      "tree": "16939b96996e8380d91d7e2743e811cf5c49f629",
      "parents": [
        "dc70d7b3189597f313df7bd2da849cfc39063b15"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout async error handler\n\nUse our own async error handler.\nMark the layout as failed and retry i/o through the MDS on specified errors.\n\nUpdate the mds_offset in nfs_readpage_retry so that a failed short-read retry\nto a DS gets correctly resent through the MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "b9d919a4ac6cf031b8e065f82ad8f1b0c9ed74b1",
      "tree": "3139b066396956fd3794df0cb1aa74dcc9f1cb28",
      "parents": [
        "7c955fca3e1d8132982148267d9efcafae849bb6",
        "357f54d6b38252737116a6d631f6ac28ded018ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "message": "Merge branch \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)\n  NFS fix the setting of exchange id flag\n  NFS: Don\u0027t use vm_map_ram() in readdir\n  NFSv4: Ensure continued open and lockowner name uniqueness\n  NFS: Move cl_delegations to the nfs_server struct\n  NFS: Introduce nfs_detach_delegations()\n  NFS: Move cl_state_owners and related fields to the nfs_server struct\n  NFS: Allow walking nfs_client.cl_superblocks list outside client.c\n  pnfs: layout roc code\n  pnfs: update nfs4_callback_recallany to handle layouts\n  pnfs: add CB_LAYOUTRECALL handling\n  pnfs: CB_LAYOUTRECALL xdr code\n  pnfs: change lo refcounting to atomic_t\n  pnfs: check that partial LAYOUTGET return is ignored\n  pnfs: add layout to client list before sending rpc\n  pnfs: serialize LAYOUTGET(openstateid)\n  pnfs: layoutget rpc code cleanup\n  pnfs: change how lsegs are removed from layout list\n  pnfs: change layout state seqlock to a spinlock\n  pnfs: add prefix to struct pnfs_layout_hdr fields\n  pnfs: add prefix to struct pnfs_layout_segment fields\n  ...\n"
    },
    {
      "commit": "f0418aa4b1103f959d64dc18273efa04ee0140e9",
      "tree": "01457cfe70d614dcdb12759247212602c2c2c008",
      "parents": [
        "99de8ea962bbc11a51ad4c52e3dc93bee5f6ba70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 13:48:19 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n\nThis allows us to reuse the xprt associated with a server connection if\none has already been set up.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d75faea330dbd1873c9094e9926ae306590c0998",
      "tree": "36b8e50ad2d94c75e77dacd98ff02036ddd0f65f",
      "parents": [
        "dcbeaa68dbbdacbbb330a86c7fc95a28473fc209"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 30 19:15:01 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: move sk_bc_xprt to svc_xprt\n\nThis seems obviously transport-level information even if it\u0027s currently\nused only by the server socket code.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "68c404b18f6fba404b2753622d0459c68ee128ae",
      "tree": "c1ec0bb12f19d91071b461cc2831d9d3dd4c74f3",
      "parents": [
        "d035c36c58dd9183ad6aa7875dea89893faedb55",
        "6650239a4b01077e80d5a4468562756d77afaa59"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-2.6.38\n\nConflicts:\n\tfs/nfs/nfs2xdr.c\n\tfs/nfs/nfs3xdr.c\n\tfs/nfs/nfs4xdr.c\n"
    },
    {
      "commit": "6650239a4b01077e80d5a4468562756d77afaa59",
      "tree": "505c9a1dc26c26608ce6a5981093a6357d4f3638",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 08 17:45:38 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:45:01 2011 -0500"
      },
      "message": "NFS: Don\u0027t use vm_map_ram() in readdir\n\nvm_map_ram() is not available on NOMMU platforms, and causes trouble\non incoherrent architectures such as ARM when we access the page data\nthrough both the direct and the virtual mapping.\n\nThe alternative is to use the direct mapping to access page data\nfor the case when we are not crossing a page boundary, but to copy\nthe data into a linear scratch buffer when we are accessing data\nthat spans page boundaries.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nCc: stable@kernel.org  [2.6.37]\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a19de0f4b693139bb10b7cc3cfe1f618576ba67",
      "tree": "c947ed534254d08c5b8836349303844134a13d19",
      "parents": [
        "42acd021824578fa0eeb6eb58d457c23ec5dc9c0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS rename client back channel transport field\n\nDifferentiate from server backchannel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c36fca52f5e4594ffd0ff175b328966b0d393184",
      "tree": "6d771744cc49f0edc0d2b6b2f9fe919163002346",
      "parents": [
        "2c2618c6f29c41a0a966f14f05c8bf45fcabb750"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:32 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS refactor nfs_find_client and reference client across callback processing\n\nFixes a bug where the nfs_client could be freed during callback processing.\nRefactor nfs_find_client to use minorversion specific means to locate the\ncorrect nfs_client structure.\n\nIn the NFS layer, V4.0 clients are found using the callback_ident field in the\nCB_COMPOUND header.  V4.1 clients are found using the sessionID in the\nCB_SEQUENCE operation which is also compared against the sessionID associated\nwith the back channel thread after a successful CREATE_SESSION.\n\nEach of these methods finds the one an only nfs_client associated\nwith the incoming callback request - so nfs_find_client_next is not needed.\n\nIn the RPC layer, the pg_authenticate call needs to find the nfs_client. For\nthe v4.0 callback service, the callback identifier has not been decoded so a\nsearch by address, version, and minorversion is used.  The sessionid for the\nsessions based callback service has (usually) not been set for the\npg_authenticate on a CB_NULL call which can be sent prior to the return\nof a CREATE_SESSION call, so the sessionid associated with the back channel\nthread is not used to find the client in pg_authenticate for CB_NULL calls.\n\nPass the referenced nfs_client to each CB_COMPOUND operation being proceesed\nvia the new cb_process_state structure. The reference is held across\ncb_compound processing.\n\nUse the new cb_process_state struct to move the NFS4ERR_RETRY_UNCACHED_REP\nprocessing from process_op into nfs4_callback_sequence where it belongs.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c2618c6f29c41a0a966f14f05c8bf45fcabb750",
      "tree": "c247cfda9f847028e1d43cab1e69d2cd8a2146a4",
      "parents": [
        "f4eecd5da3422e82e88e36c33cbd2595eebcacb1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS associate sessionid with callback connection\n\nThe sessions based callback service is started prior to the CREATE_SESSION call\nso that it can handle CB_NULL requests which can be sent before the\nCREATE_SESSION call returns and the session ID is known.\n\nSet the callback sessionid after a sucessful CREATE_SESSION.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16b2d1e1d12de000404d7c845d0db1226511f84d",
      "tree": "8ad973bbcee7a1d5bb34ce855ef41324e253c181",
      "parents": [
        "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:27 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC register and unregister the back channel transport\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b",
      "tree": "7d99e63af6a6c0b371ab1ee48da16edc73ab942c",
      "parents": [
        "71e161a6a9fa021a280e564254fcda894e6fbd14"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC new transport for the NFSv4.1 shared back channel\n\nMove the current sock create and destroy routines into the new transport ops.\nBack channel socket will be destroyed by the svc_closs_all call in svc_destroy.\n\nAdded check: only TCP supported on shared back channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e701c610923aaeac8b38b9202a686d1cc9ee35d",
      "tree": "1b2d65df63858a2cd35a4154e6d8a9fea3e716a3",
      "parents": [
        "d76d1815f3e72fb627ad7f95ef63120b0a557c9c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Jan 02 21:56:36 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:22 2011 -0500"
      },
      "message": "svcrpc: simpler request dropping\n\nCurrently we use -EAGAIN returns to determine when to drop a deferred\nrequest.  On its own, that is error-prone, as it makes us treat -EAGAIN\nreturns from other functions specially to prevent inadvertent dropping.\n\nSo, use a flag on the request instead.\n\nReturning an error on request deferral is still required, to prevent\nfurther processing, but we no longer need worry that an error return on\nits own could result in a drop.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bdd5f05d91e8ae68075b812ce244c918d3d752cd",
      "tree": "45e5e9d403ee26a666cd9fbcfee5e26ea6511d50",
      "parents": [
        "31f7aa65f536995c6d933c57230919ae408952a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 04 13:31:45 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:48:02 2011 -0500"
      },
      "message": "SUNRPC: Remove more code when NFSD_DEPRECATED is not configured\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n[bfields@redhat.com: moved svcauth_unix_purge outside ifdef\u0027s.]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7c96aef75949a56ec427fc6a2522dace2af33605",
      "tree": "ca65368231d4c5b39e3adce558bfe15d712809c7",
      "parents": [
        "18b631f83810e95eeb2e1839889b27142bd8d6d8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 15 11:27:01 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:18 2010 -0500"
      },
      "message": "sunrpc: remove xpt_pool\n\nThe xpt_pool field is only used for reporting BUGs.\nAnd it isn\u0027t used correctly.\n\nIn particular, when it is cleared in svc_xprt_received before\nXPT_BUSY is cleared, there is no guarantee that either the\ncompiler or the CPU might not re-order to two assignments, just\nsetting xpt_pool to NULL after XPT_BUSY is cleared.\n\nIf a different cpu were running svc_xprt_enqueue at this moment,\nit might see XPT_BUSY clear and then xpt_pool non-NULL, and\nso BUG.\n\nThis could be fixed by calling\n  smp_mb__before_clear_bit()\nbefore the clear_bit.  However as xpt_pool isn\u0027t really used,\nit seems safest to simply remove xpt_pool.\n\nAnother alternate would be to change the clear_bit to\nclear_bit_unlock, and the test_and_set_bit to test_and_set_bit_lock.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bf2695516db982e90a22fc94f93491b481796bb1",
      "tree": "367bf134ef892bfc3fcd2c4fe676b14102d97467",
      "parents": [
        "9f06c719f474be7003763284a990bed6377bb0d4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:29 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR decoder API\n\nNow that all client-side XDR decoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC res *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each decoder function.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f06c719f474be7003763284a990bed6377bb0d4",
      "tree": "409ebc3505f943bfdb933ab0acd76ffb5347b372",
      "parents": [
        "1ac7c23e4af5e83525137661595000099f1ce94f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:18 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR encoder API\n\nNow that all client-side XDR encoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC arg *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each encoder function.\n\nAlso, all the client-side encoder functions return 0 now, making a\nreturn value superfluous.  Take this opportunity to convert them to\nreturn void instead.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21b75b019983dfa5c2dda588f4b60b4ca69844a4",
      "tree": "c1e0a8c4e136a0de35fc996a7ed6c5db1e6bb9cc",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 26 10:07:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 02 17:13:52 2010 -0400"
      },
      "message": "nfsd4: fix 4.1 connection registration race\n\nIf a connection is closed just after a sequence or create_session\nis sent over it, we could end up trying to register a callback that will\nnever get called since the xprt is already marked dead.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4390110fef9e5c64e10c6ca19d586932242c9a8a",
      "tree": "f2f26fe291c8b4e424b97ac57370b33e0c006568",
      "parents": [
        "a4dd8dce14014665862ce7911b38cb2c69e366dd",
        "42d7ba3d6d56a6cbc773284896108b1e2ebcee81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux: (99 commits)\n  svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n  svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n  svcrpc: assume svc_delete_xprt() called only once\n  svcrpc: never clear XPT_BUSY on dead xprt\n  nfsd4: fix connection allocation in sequence()\n  nfsd4: only require krb5 principal for NFSv4.0 callbacks\n  nfsd4: move minorversion to client\n  nfsd4: delay session removal till free_client\n  nfsd4: separate callback change and callback probe\n  nfsd4: callback program number is per-session\n  nfsd4: track backchannel connections\n  nfsd4: confirm only on succesful create_session\n  nfsd4: make backchannel sequence number per-session\n  nfsd4: use client pointer to backchannel session\n  nfsd4: move callback setup into session init code\n  nfsd4: don\u0027t cache seq_misordered replies\n  SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n  SUNRPC: Use conventional switch statement when reclassifying sockets\n  sunrpc/xprtrdma: clean up workqueue usage\n  sunrpc: Turn list_for_each-s into the ..._entry-s\n  ...\n\nFix up trivial conflicts (two different deprecation notices added in\nseparate branches) in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "a4dd8dce14014665862ce7911b38cb2c69e366dd",
      "tree": "00e79b2845d5d49abcd83cf253db83a52d482265",
      "parents": [
        "b18cae4224bde7e5a332c19bc99247b2098ea232",
        "411b5e05617593efebc06241dbc56f42150f2abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  net/sunrpc: Use static const char arrays\n  nfs4: fix channel attribute sanity-checks\n  NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n  NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n  NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure\n  NFS: client needs to maintain list of inodes with active layouts\n  NFS: create and destroy inode\u0027s layout cache\n  NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n  NFSv4.1: pnfs: full mount/umount infrastructure\n  NFS: set layout driver\n  NFS: ask for layouttypes during v4 fsinfo call\n  NFS: change stateid to be a union\n  NFSv4.1: pnfsd, pnfs: protocol level pnfs constants\n  SUNRPC: define xdr_decode_opaque_fixed\n  NFSD: remove duplicate NFS4_STATEID_SIZE\n"
    },
    {
      "commit": "74eb94b218d087798a52c0b4f1379b635287a4b8",
      "tree": "4e467c3014c2b1169f6f71d88cf5d1598f3ce28e",
      "parents": [
        "7b6181e06841f5ad15c4ff708b967b4db65a64de",
        "9a84d38031c258a17bb39beed1e500eadee67407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)\n  SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n  nfs: fix unchecked value\n  Ask for time_delta during fsinfo probe\n  Revalidate caches on lock\n  SUNRPC: After calling xprt_release(), we must restart from call_reserve\n  NFSv4: Fix up the \u0027dircount\u0027 hint in encode_readdir\n  NFSv4: Clean up nfs4_decode_dirent\n  NFSv4: nfs4_decode_dirent must clear entry-\u003efattr-\u003evalid\n  NFSv4: Fix a regression in decode_getfattr\n  NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer\n  NFS: Ensure we check all allocation return values in new readdir code\n  NFS: Readdir plus in v4\n  NFS: introduce generic decode_getattr function\n  NFS: check xdr_decode for errors\n  NFS: nfs_readdir_filler catch all errors\n  NFS: readdir with vmapped pages\n  NFS: remove page size checking code\n  NFS: decode_dirent should use an xdr_stream\n  SUNRPC: Add a helper function xdr_inline_peek\n  NFS: remove readdir plus limit\n  ...\n"
    },
    {
      "commit": "35b61e63323ccf5fdcdd74b11751b58392c9cce1",
      "tree": "9e52ba11f99df17ce4c58edb2842cc8cc9ea9950",
      "parents": [
        "3c9101a0575f6078191dae6bb91a834c6aac3557"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Oct 20 00:17:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:02:53 2010 -0400"
      },
      "message": "SUNRPC: define xdr_decode_opaque_fixed\n\nA helper for decoding a fixed length opaque value.\nReturns a pointer to the next item in the xdr stream.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba8e452a4fe64a51b74d43761e14d99f0666cc45",
      "tree": "7237e9bf9f2415eda15fec5e517da3340342e9f1",
      "parents": [
        "0715dc632a271fc0fedf3ef4779fe28ac1e53ef4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 19 19:58:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Oct 23 15:27:32 2010 -0400"
      },
      "message": "SUNRPC: Add a helper function xdr_inline_peek\n\nWe sometimes need to be able to read ahead in an xdr_stream without\nincrementing the current pointer position.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edc7a894034acb4c7ff8305716ca5df8aaf8e642",
      "tree": "7db61c8c76fc3e58e499989665f2f26987c058a1",
      "parents": [
        "c7662518c781edc8059cd9737d18168154bf7510"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 22 15:37:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 19:29:44 2010 -0400"
      },
      "message": "nfsd: provide callbacks on svc_xprt deletion\n\nNFSv4.1 needs warning when a client tcp connection goes down, if that\nconnection is being used as a backchannel, so that it can warn the\nclient that it has lost the backchannel connection.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1e7af1b8062598a038c04dfaaabd038a0d6e8b6a",
      "tree": "2e171464ff365c4322d30a0d2fed106c74feecdd",
      "parents": [
        "277f68dbba397997c7f3dc843d14afa1654bb80e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 15:40:01 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 18:09:55 2010 -0400"
      },
      "message": "nfsd4: remove spkm3\n\nUnfortunately, spkm3 never got very far; while interoperability with one\nother implementation was demonstrated at some point, problems were found\nwith the spec that were deemed not worth fixing.\n\nThe kernel code is useless on its own without nfs-utils patches which\nwere never merged into nfs-utils, and were only ever available from\nciti.umich.edu.  They appear not to have been updated since 2005.\n\nTherefore it seems safe to assume that this code has no users, and never\nwill.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "37aa2133731d9231eb834f700119f0d3f1ed2664",
      "tree": "2b4da236e76d590fb1bd675e4401af5d1ecff327",
      "parents": [
        "9a23e332ec621d36e52cc7a978abc0917067b1aa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:58 2010 -0400"
      },
      "message": "sunrpc: Tag rpc_xprt with net\n\nThe net is known from the xprt_create and this tagging will also\ngive un the context in the conntection workers where real sockets\nare created.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9a23e332ec621d36e52cc7a978abc0917067b1aa",
      "tree": "351025a1c7816a40407999692ede97421c0057df",
      "parents": [
        "c653ce3f0aee9bb2b221ebf3579385c06f81efcd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:12 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:57 2010 -0400"
      },
      "message": "sunrpc: Add net to xprt_create\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c653ce3f0aee9bb2b221ebf3579385c06f81efcd",
      "tree": "d0f5a8018e2cf959b6bc1549ce75602ed179dca9",
      "parents": [
        "62832c039eab9d03cd28a66427ce8276988f28b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:45 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:56 2010 -0400"
      },
      "message": "sunrpc: Add net to rpc_create_args\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "62832c039eab9d03cd28a66427ce8276988f28b0",
      "tree": "47d0b7fbd5ca567aa31661146ba16218149d67c8",
      "parents": [
        "fc5d00b04a3a58cac8620403dfe9f43f72578ec1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:18 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:55 2010 -0400"
      },
      "message": "sunrpc: Pull net argument downto svc_create_socket\n\nAfter this the socket creation in it knows the context.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "fc5d00b04a3a58cac8620403dfe9f43f72578ec1",
      "tree": "3a8b9a5ae3456b5846fb64c0a74c9389998b3e18",
      "parents": [
        "e204e621b4160c802315bc2d0fa335337c0d62e8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:50 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:54 2010 -0400"
      },
      "message": "sunrpc: Add net argument to svc_create_xprt\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e204e621b4160c802315bc2d0fa335337c0d62e8",
      "tree": "f61889925880484b71ce8b5dbef9a95c3a3b4acb",
      "parents": [
        "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:13 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:53 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt freeing\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2",
      "tree": "358d45aaf5fb08a177fd6fbe5dcf8872160c30fc",
      "parents": [
        "2b44f1ba40914777f4b1075254ba97663d4e2574"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:02:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:52 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt allocation\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c135e84afb6bcec9cb8ef0492fa4867efbfaad91",
      "tree": "b28519b140d0f839abb77a843128cf918014115d",
      "parents": [
        "90d51b02fd702d969eb05bd9d4ecc954759fbe23"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Sep 29 14:16:57 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 29 12:27:37 2010 -0400"
      },
      "message": "sunrpc: fix up rpcauth_remove_module section mismatch\n\nOn Wed, 29 Sep 2010 14:02:38 +1000 Stephen Rothwell \u003csfr@canb.auug.org.au\u003e wrote:\n\u003e\n\u003e After merging the final tree, today\u0027s linux-next build (powerpc\n\u003e ppc44x_defconfig) produced tis warning:\n\u003e\n\u003e WARNING: net/sunrpc/sunrpc.o(.init.text+0x110): Section mismatch in reference from the function init_sunrpc() to the function .exit.text:rpcauth_remove_module()\n\u003e The function __init init_sunrpc() references\n\u003e a function __exit rpcauth_remove_module().\n\u003e This is often seen when error handling in the init function\n\u003e uses functionality in the exit path.\n\u003e The fix is often to remove the __exit annotation of\n\u003e rpcauth_remove_module() so it may be used outside an exit section.\n\u003e\n\u003e Probably caused by commit 2f72c9b73730c335381b13e2bd221abe1acea394\n\u003e (\"sunrpc: The per-net skeleton\").\n\nThis actually causes a build failure on a sparc32 defconfig build:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nI applied the following patch for today:\n\nFixes:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4f42d0d53ca4737f82937edb0efc83564c124853",
      "tree": "487cbc8e7bc9ed643fbbfb2216230c15ed3b1552",
      "parents": [
        "2f72c9b73730c335381b13e2bd221abe1acea394"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:01:58 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Make the /proc/net/rpc appear in net namespaces\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4fb8518bdac8e85f6580ea3f586adf396cd472bc",
      "tree": "887efb838b220afdd147faa1281d21cf0ee83cd8",
      "parents": [
        "593ce16b943ea37d4ec62c377b32d7f3f4085e84"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:49 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Tag svc_xprt with net\n\nThe transport representation should be per-net of course.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "593ce16b943ea37d4ec62c377b32d7f3f4085e84",
      "tree": "d8e161541e89f69e0de4416d76655cf11d9ecaa8",
      "parents": [
        "352114f395bd79353faf0bc1506ead94de393f55"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:15 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add routines that allow registering per-net caches\n\nExisting calls do the same, but for the init_net.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "352114f395bd79353faf0bc1506ead94de393f55",
      "tree": "46d9001aff3738afd13323fc883d89b7e8a74450",
      "parents": [
        "3be4479fdf2fb7eb17a4592917ae4b536058b0c7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:59:48 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add net to pure API calls\n\nThere are two calls that operate on ip_map_cache and are\ndirectly called from the nfsd code. Other places will be\nhandled in a different way.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3bfca01c1ad378deaee598292bcc7ee19024563",
      "tree": "bc4a89934cfb309f3d835917257e17e5d5236c6c",
      "parents": [
        "bf18ab32ff2a50a3d13d559f26f94ecfba131f24"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:58:42 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Make xprt auth cache release work with the xprt\n\nThis is done in order to facilitate getting the ip_map_cache from\nwhich to put the ip_map.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1117449276bb909b029ed0b9ba13f53e4784db9d",
      "tree": "14b119924ac54165e6b18f3772cfe966b6883245",
      "parents": [
        "2ed5282cd9b44686a6e718269abb5c5cd332d8f1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:08 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 21:51:11 2010 -0400"
      },
      "message": "sunrpc/cache: change deferred-request hash table to use hlist.\n\nBeing a hash table, hlist is the best option.\n\nThere is currently some ugliness were we treat \"-\u003enext \u003d\u003d NULL\" as\na special case to avoid having to initialise the whole array.\nThis change nicely gets rid of that case.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1ebede86b8abbcf8833830e18e05391758cf2f28",
      "tree": "872f1218a45f84070eeac162621ef3e56fc6f222",
      "parents": [
        "06497524589f2a7717da33969d541674e0a27da6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:07 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 16:57:49 2010 -0400"
      },
      "message": "sunrpc: close connection when a request is irretrievably lost.\n\nIf we drop a request in the sunrpc layer, either due kmalloc failure,\nor due to a cache miss when we could not queue the request for later\nreplay, then close the connection to encourage the client to retry sooner.\n\nNote that if the drop happens in the NFS layer, NFSERR_JUKEBOX\n(aka NFS4ERR_DELAY) is returned to guide the client concerning\nreplay.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b4687da7fc5f741af7fee9b0248a2cf2ad9c4478",
      "tree": "1df8cb2cc72a88b4646bf380ff68345415d0222f",
      "parents": [
        "38359352fcb0d776b562a9e0ed4f0d355d5a332e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "message": "SUNRPC: Refactor logic to NUL-terminate strings in pages\n\nClean up: Introduce a helper to \u0027\\0\u0027-terminate XDR strings\nthat are placed in a page in the page cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c88739b373e4930ed082a607cb78bf82616fd076",
      "tree": "251d969aa816dab5a62e6b36208b189b37de6534",
      "parents": [
        "3211af1119174fbe8b676422b74870cdd51d7314",
        "827e3457022d0bb0b1bb8a0eb88501876fe7dcf0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:00 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:32 2010 -0400"
      },
      "message": "Merge remote branch \u0027trond/bugfixes\u0027 into for-2.6.37\n\nWithout some client-side fixes, server testing is currently difficult.\n"
    },
    {
      "commit": "859d5024f450686ad0a42ed3c06f2fa20295c9e6",
      "tree": "441f693bfcfaf1754beab7d0a665ff16422a26a0",
      "parents": [
        "306a075362a288683f6346185f97dd0e06df19da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "message": "SUNRPC: Remove rpcb_getport_sync()\n\nClean up: rpcb_getport_sync() has no more users, so remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "006abe887c5e637d059c44310de6c92f36aded3b",
      "tree": "542ab0f1d56b4d9681c8d61fbf77c9a46062e661",
      "parents": [
        "5a67657a2e90c9e4a48518f95d4ba7777aa20fbb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "SUNRPC: Fix a race in rpc_info_open\n\nThere is a race between rpc_info_open and rpc_release_client()\nin that nothing stops a process from opening the file after\nthe clnt-\u003ecl_kref goes to zero.\n\nFix this by using atomic_inc_unless_zero()...\n\nReported-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f16b6e8d838b2e2bb4561201311c66ac02ad67df",
      "tree": "92c4ab62aa566029ce25989ef7dc8e3634365f63",
      "parents": [
        "c5b29f885afe890f953f7f23424045cdad31d3e4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:06 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:22:07 2010 -0400"
      },
      "message": "sunrpc/cache: allow threads to block while waiting for cache update.\n\nThe current practice of waiting for cache updates by queueing the\nwhole request to be retried has (at least) two problems.\n\n1/ With NFSv4, requests can be quite complex and re-trying a whole\n  request when a later part fails should only be a last-resort, not a\n  normal practice.\n\n2/ Large requests, and in particular any \u0027write\u0027 request, will not be\n  queued by the current code and doing so would be undesirable.\n\nIn many cases only a very sort wait is needed before the cache gets\nvalid data.\n\nSo, providing the underlying transport permits it by setting\n -\u003ethread_wait,\narrange to wait briefly for an upcall to be completed (as reflected in\nthe clearing of CACHE_PENDING).\nIf the short wait was not long enough and CACHE_PENDING is still set,\nfall back on the old approach.\n\nThe \u0027thread_wait\u0027 value is set to 5 seconds when there are spare\nthreads, and 1 second when there are no spare threads.\n\nThese values are probably much higher than needed, but will ensure\nsome forward progress.\n\nNote that as we only request an update for a non-valid item, and as\nnon-valid items are updated in place it is extremely unlikely that\ncache_check will return -ETIMEDOUT.  Normally cache_defer_req will\nsleep for a short while and then find that the item is_valid.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c5b29f885afe890f953f7f23424045cdad31d3e4",
      "tree": "cc2016f256da966974b4ed7a24ff9378a77facb2",
      "parents": [
        "17cebf658e088935d4bdebfc7ad9800e9fc4a0b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 16:55:22 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:21:20 2010 -0400"
      },
      "message": "sunrpc: use seconds since boot in expiry cache\n\nThis protects us from confusion when the wallclock time changes.\n\nWe convert to and from wallclock when  setting or reading expiry\ntimes.\n\nAlso use seconds since boot for last_clost time.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "17cebf658e088935d4bdebfc7ad9800e9fc4a0b2",
      "tree": "7bc6c1d8de35bce17da188cba13688671d517907",
      "parents": [
        "1132b26029918aa8fb5ba24a81b5c234e61f356c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 16:55:22 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:21:19 2010 -0400"
      },
      "message": "sunrpc: extract some common sunrpc_cache code from nfsd\n\nRather can duplicating this idiom twice, put it in an inline function.\nThis reduces the usage of \u0027expiry_time\u0027 out side the sunrpc/cache.c\ncode and thus the impact of a change that is about to be made to that\nfield.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5b22216e11f717adc344abc7f97b42e03127c6c0",
      "tree": "5c4b98b4bef8248e3455a0dd583fb8daae0836d2",
      "parents": [
        "e63ba744a64d234c8a07c469ab1806443cb0a6ff"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Mar 03 10:20:10 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Aug 19 17:18:00 2010 -0700"
      },
      "message": "nfs: __rcu annotations\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "60641aa1f379820e99ac7f45a38b43795670c741",
      "tree": "a4a68780ba75bbf8f2fc96dba880ea39da2c717b",
      "parents": [
        "c29c08b59875fe053471cf9eb66f8cfef39bc509"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 10:15:12 2010 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 22:26:51 2010 +0200"
      },
      "message": "include: replace unifdef-y with header-y\n\nunifdef-y and header-y has same semantic.\nSo there is no need to have both.\n\nDrop the unifdef-y variant and sort all lines again\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "0d9f9e122c74583de15a86d1c660c08dc298f2c8",
      "tree": "a04ad387e231db43db112753fa2eae23754189a9",
      "parents": [
        "df44f9f4f9b5d362b5a2d1c8444fe7e6d4c42653",
        "998db52c03cd293d16a457f1b396cea932244147"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux: (34 commits)\n  nfsd4: fix file open accounting for RDWR opens\n  nfsd: don\u0027t allow setting maxblksize after svc created\n  nfsd: initialize nfsd versions before creating svc\n  net: sunrpc: removed duplicated #include\n  nfsd41: Fix a crash when a callback is retried\n  nfsd: fix startup/shutdown order bug\n  nfsd: minor nfsd read api cleanup\n  gcc-4.6: nfsd: fix initialized but not read warnings\n  nfsd4: share file descriptors between stateid\u0027s\n  nfsd4: fix openmode checking on IO using lock stateid\n  nfsd4: miscellaneous process_open2 cleanup\n  nfsd4: don\u0027t pretend to support write delegations\n  nfsd: bypass readahead cache when have struct file\n  nfsd: minor nfsd_svc() cleanup\n  nfsd: move more into nfsd_startup()\n  nfsd: just keep single lockd reference for nfsd\n  nfsd: clean up nfsd_create_serv error handling\n  nfsd: fix error handling in __write_ports_addxprt\n  nfsd: fix error handling when starting nfsd with rpcbind down\n  nfsd4: fix v4 state shutdown error paths\n  ...\n"
    },
    {
      "commit": "a17c2153d2e271b0cbacae9bed83b0eaa41db7e1",
      "tree": "3c5a73090987278e51aee1a9f185ebe40a00bd65",
      "parents": [
        "8572b8e2e3c5f3d990122348c4d2c64dad338611"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:09 2010 -0400"
      },
      "message": "SUNRPC: Move the bound cred to struct rpc_rqst\n\nThis will allow us to save the original generic cred in rpc_message, so\nthat if we migrate from one server to another, we can generate a new bound\ncred without having to punt back to the NFS layer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8572b8e2e3c5f3d990122348c4d2c64dad338611",
      "tree": "5de87a7f2cb1c1105313c0fb1d1f26a969961c83",
      "parents": [
        "58f9612c6ea858f532021a0ce42ec53cb0a493b3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:08 2010 -0400"
      },
      "message": "SUNRPC: Clean up of rpc_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58f9612c6ea858f532021a0ce42ec53cb0a493b3",
      "tree": "9466a16cd79c547fddcec5bd598d8097ae9a3859",
      "parents": [
        "d9b6cd94601e1d17273f93a326a135fbf487a918"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Move remaining RPC client related task initialisation into clnt.c\n\nNow that rpc_run_task() is the sole entry point for RPC calls, we can move\nthe remaining rpc_client-related initialisation of struct rpc_task from\nsched.c into clnt.c.\n\nAlso move rpc_killall_tasks() into the same file, since that too is\nrelative to the rpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9b6cd94601e1d17273f93a326a135fbf487a918",
      "tree": "5c616c0717551d02d16da685fbbd93344859fa28",
      "parents": [
        "241269bd0b580faae71575443d9ab38df7469126"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task\n\nMake rpc_exit() non-inline, and ensure that it always wakes up a task that\nhas been queued.\n\nKill off the now unused rpc_wake_up_task().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "241269bd0b580faae71575443d9ab38df7469126",
      "tree": "b438cf34fd67b2b96b0a28be3241fd8d0c43fbca",
      "parents": [
        "988664a0f6bbfc356e6ce55f7a87b8594050012f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:06 2010 -0400"
      },
      "message": "SUNRPC: Make the credential cache hashtable size configurable\n\nThis patch allows the user to configure the credential cache hashtable size\nusing a new module parameter: auth_hashtable_size\nWhen set, this parameter will be rounded up to the nearest power of two,\nwith a maximum allowed value of 1024 elements.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "988664a0f6bbfc356e6ce55f7a87b8594050012f",
      "tree": "c6c6450c8559c13ca9d53c8959ffa4276f3eddf1",
      "parents": [
        "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:05 2010 -0400"
      },
      "message": "SUNRPC: Store the hashtable size in struct rpc_cred_cache\n\nCleanup in preparation for allowing the user to determine the maximum hash\ntable size.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe",
      "tree": "9f171aa61048cf5c154597466af21ea7c4d701a2",
      "parents": [
        "d05dd4e98f0dd30ee933e05ac9363614c47df83a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:52:57 2010 -0400"
      },
      "message": "NFS: Ensure the AUTH_UNIX credcache is allocated dynamically\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1f88fc7e818c6678c6799a2edb8f1aeccc124aa",
      "tree": "a5aec7e7e522500df78b5cbf1f2ce430462552e2",
      "parents": [
        "a6f03393ec86fd25523c79497a9a773bda170d1d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 03 22:06:44 2010 -0400"
      },
      "message": "SUNRPC: The function rpc_restart_call() should return success/failure\n\nBoth rpc_restart_call_prepare() and rpc_restart_call() test for the\nRPC_TASK_KILLED flag, and fail to restart the RPC call if that flag is set.\n\nThis patch allows callers to know whether or not the restart was\nsuccessful, so that they can perform cleanups etc in case of failure.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8eab945c5616fc984e97b922d6a2559be93f39a1",
      "tree": "13ad5889aae1f8f3541a5a49e9decf42240e445c",
      "parents": [
        "cba9ba4b902270c22f8b9c5149a284216b633fc1"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 01 18:05:56 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 06 12:27:48 2010 -0400"
      },
      "message": "sunrpc: make the cache cleaner workqueue deferrable\n\nThis patch makes the cache_cleaner workqueue deferrable, to prevent\nunnecessary system wake-ups, which is very important for embedded\nbattery-powered devices.\n\ndo_cache_clean() is called every 30 seconds at the moment, and often\nmakes the system wake up from its power-save sleep state. With this\nchange, when the workqueue uses a deferrable timer, the\ndo_cache_clean() invocation will be delayed and combined with the\nclosest \"real\" wake-up. This improves the power consumption situation.\n\nNote, I tried to create a DECLARE_DELAYED_WORK_DEFERRABLE() helper\nmacro, similar to DECLARE_DELAYED_WORK(), but failed because of the\nway the timer wheel core stores the deferrable flag (it is the\nLSBit in the time-\u003ebase pointer). My attempt to define a static\nvariable with this bit set ended up with the \"initializer element is\nnot constant\" error.\n\nThus, I have to use run-time initialization, so I created a new\ncache_initialize() function which is called once when sunrpc is\nbeing initialized.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "126e216a8730532dfb685205309275f87e3d133e",
      "tree": "6a73e5d6a5af2866e260ccb7909582e2ccd5741f",
      "parents": [
        "9bb0b8136a7d5b50c5807af3bf12b758fb257814"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:55:38 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Don\u0027t spam gssd with upcall requests when the kerberos key expired\n\nNow that the rpc.gssd daemon can explicitly tell us that the key expired,\nwe should cache that information to avoid spamming gssd.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9bb0b8136a7d5b50c5807af3bf12b758fb257814",
      "tree": "7c84b71e39ba4e6189a493aea35c6dbbd6d5a2d5",
      "parents": [
        "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Reorder the struct rpc_task fields\n\nThis improves the packing of the rpc_task, and ensures that on 64-bit\nplatforms the size reduces to 216 bytes.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47",
      "tree": "c577536a08739621dfbde8c1d30eb88ba8414464",
      "parents": [
        "d60dbb20a74c2cfa142be0a34dac3c6547ea086c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Remove the \u0027tk_magic\u0027 debugging field\n\nIt has not triggered in almost a decade. Time to get rid of it...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d60dbb20a74c2cfa142be0a34dac3c6547ea086c",
      "tree": "7af95739f8fbbef11f490b5b58bf639dbbe8a181",
      "parents": [
        "9c7e7e23371e629dbb3b341610a418cdf1c19d91"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Move the task-\u003etk_bytes_sent and tk_rtt to struct rpc_rqst\n\nIt seems strange to maintain stats for bytes_sent in one structure, and\nbytes received in another. Try to assemble all the RPC request-related\nstats in struct rpc_rqst\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f4c86c0be9064ab4eebd9e67c84606c1cfeec4b",
      "tree": "6ae9e8e6550f644335bbf6812edd7e6cfcde7e53",
      "parents": [
        "8535b2be5181fc3019e4150567ef53210fe3b04f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "NFS: Don\u0027t use GFP_KERNEL in rpcsec_gss downcalls\n\nAgain, we can deadlock if the memory reclaim triggers a writeback that\nrequires a rpcsec_gss credential lookup.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff8399709e41bf72b4cb145612a0f9a9f7283c83",
      "tree": "5577163d56e30020d907245f00dcef17730f037b",
      "parents": [
        "f56916b97fe2031761ca611f0a342efd913afb33"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:47 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "SUNRPC: Replace jiffies-based metrics with ktime-based metrics\n\nCurrently RPC performance metrics that tabulate elapsed time use\njiffies time values.  This is problematic on systems that use slow\njiffies (for instance 100HZ systems built for paravirtualized\nenvironments).  It is also a problem for computing precise latency\nstatistics for advanced network transports, such as InfiniBand,\nthat can have round-trip latencies significanly faster than a single\nclock tick.\n\nFor the RPC client, adopt the high resolution time stamp mechanism\nalready used by the network layer and blktrace: ktime.\n\nWe use ktime format time stamps for all internal computations, and\nconvert to milliseconds for presentation.  As a result, we need only\naddition operations in the performance critical paths; multiply/divide\nis required only for presentation.\n\nWe could report RTT metrics in microseconds.  In fact the mountstats\nformat is versioned to accomodate exactly this kind of interface\nimprovement.\n\nFor now, however, we\u0027ll stay with millisecond precision for\npresentation to maintain backwards compatibility with the handful of\ncurrently deployed user space tools.  At a later point, we\u0027ll move to\nan API such as BDI_STATS where a finer timestamp precision can be\nreported.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbc72cea58f671665b6362be0d4e391813ac0eee",
      "tree": "e70a35d3bc05ece4a532514893fec151aee2bd46",
      "parents": [
        "9bc4e3ca46e4eb9cb434de4175c6041d00bbdca3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:27 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:32 2010 -0400"
      },
      "message": "SUNRPC: RPC metrics and RTT estimator should use same RTT value\n\nCompute an RPC request\u0027s RTT once, and use that value both for reporting\nRPC metrics, and for adjusting the RTT context used by the RPC client\u0027s RTT\nestimator algorithm.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9605a069f83d999e60cd57dc8010708fe08291c0",
      "tree": "aa0661d3b5c23430bf3fda3679507c192a0a975d",
      "parents": [
        "bb8b27e504c0f0463535fea31b42bcaa393c3fb0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:33:30 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "SUNRPC: Trivial cleanups in include/linux/sunrpc/xdr.h\n\nClean up: Update the documenting comment, and fix some minor white\nspace issues.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8ce4a8f37fef0a09a1e920c2e09f67a80426c7e",
      "tree": "cd3c11c87fa63c8bf15e74f311560a83637fc3fa",
      "parents": [
        "0b9e79431377df452348e78262dd5a3dc359eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:42:12 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:30 2010 -0400"
      },
      "message": "SUNRPC: Fail over more quickly on connect errors\n\nWe should not allow soft tasks to wait for longer than the major timeout\nperiod when waiting for a reconnect to occur.\n\nRemove the field xprt-\u003econnect_timeout since it has been obsoleted by\nxprt-\u003ereestablish_timeout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fffdaef2eb4a7333952e55cf97f1fc0fcc35f981",
      "tree": "bd4e4b39ec901feb27b91d33d4f52e723f3584d7",
      "parents": [
        "5af46547ec451918f3ba51efe59b317d33adf701"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Add support for rc4-hmac encryption\n\nAdd necessary changes to add kernel support for the rc4-hmac Kerberos\nencryption type used by Microsoft and described in rfc4757.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5af46547ec451918f3ba51efe59b317d33adf701",
      "tree": "0878529858a5ded9224e633dd13b431e6b69e28c",
      "parents": [
        "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:05 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Use confounder length in wrap code\n\nAll encryption types use a confounder at the beginning of the\nwrap token.  In all encryption types except arcfour-hmac, the\nconfounder is the same as the blocksize.  arcfour-hmac has a\nblocksize of one, but uses an eight byte confounder.\n\nAdd an entry to the crypto framework definitions for the\nconfounder length and change the wrap/unwrap code to use\nthe confounder length rather than assuming it is always\nthe blocksize.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c",
      "tree": "eb407d31f61ea8a14be6bb04aa09ed8980920025",
      "parents": [
        "fc263a917afad3bda7b823a6edc803a40e7f6015"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:04 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gssd_krb5: More arcfour-hmac support\n\nFor the arcfour-hmac support, the make_seq_num and get_seq_num\nfunctions need access to the kerberos context structure.\nThis will be used in a later patch.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc263a917afad3bda7b823a6edc803a40e7f6015",
      "tree": "c6773866431c48aea2b837f5ba06314ec21369b4",
      "parents": [
        "8b23707612cffdba694dcd18aa8a018918aa86dc"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:03 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gss_krb5: Save the raw session key in the context\n\nThis is needed for deriving arcfour-hmac keys \"on the fly\"\nusing the sequence number or checksu\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b23707612cffdba694dcd18aa8a018918aa86dc",
      "tree": "3dd484658768c0a710b252a674c697124380b223",
      "parents": [
        "bf6d359c508cf83401c942262a9749752598394d"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gssd_krb5: arcfour-hmac support\n\nFor arcfour-hmac support, the make_checksum function needs a usage\nfield to correctly calculate the checksum differently for MIC and\nWRAP tokens.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "934a95aa1c9c6ad77838800b79c306e982437605",
      "tree": "0f7000ffce214a156737fddc127fb0af238dfcff",
      "parents": [
        "de9c17eb4a912c9028f7b470eb80815144883b26"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:00 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gss_krb5: add remaining pieces to enable AES encryption support\n\nAdd the remaining pieces to enable support for Kerberos AES\nencryption types.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de9c17eb4a912c9028f7b470eb80815144883b26",
      "tree": "3e681897cff2db43f91c1e5e2f7dcad9598165c9",
      "parents": [
        "c43abaedaff92a7bcbfe04b593164bb5faba3078"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:59 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:18 2010 -0400"
      },
      "message": "gss_krb5: add support for new token formats in rfc4121\n\nThis is a step toward support for AES encryption types which are\nrequired to use the new token formats defined in rfc4121.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n[SteveD: Fixed a typo in gss_verify_mic_v2()]\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\n[Trond: Got rid of the TEST_ROTATE/TEST_EXTRA_COUNT crap]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "958142e97e04d6c266ae093739bbbbd03afcd497",
      "tree": "f945fcf7105663bfccc124c347441268dcf06367",
      "parents": [
        "683ac6656cb05b6e83593770ffc049eee4a4d119"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:55 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: add support for triple-des encryption\n\nAdd the final pieces to support the triple-des encryption type.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "683ac6656cb05b6e83593770ffc049eee4a4d119",
      "tree": "531c849ad7b20ade79e69c8daa446d99722958ae",
      "parents": [
        "47d84807762966c3611c38adecec6ea703ddda7a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 08 14:09:58 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: Add upcall info indicating supported kerberos enctypes\n\nThe text based upcall now indicates which Kerberos encryption types are\nsupported by the kernel rpcsecgss code.  This is used by gssd to\ndetermine which encryption types it should attempt to negotiate\nwhen creating a context with a server.\n\nThe server principal\u0027s database and keytab encryption types are\nwhat limits what it should negotiate.  Therefore, its keytab\nshould be created with only the enctypes listed by this file.\n\nCurrently we support des-cbc-crc, des-cbc-md4 and des-cbc-md5\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47d84807762966c3611c38adecec6ea703ddda7a",
      "tree": "ac67fb9e29aa03e7eba58adae29e8db05fd35537",
      "parents": [
        "4891f2d008e4343eedea39ba1fe74864f1d32be0"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: handle new context format from gssd\n\nFor encryption types other than DES, gssd sends down context information\nin a new format.  This new format includes the information needed to\nsupport the new Kerberos GSS-API tokens defined in rfc4121.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4891f2d008e4343eedea39ba1fe74864f1d32be0",
      "tree": "6fb4048a44cd1c91f818ddc372d5410e59108bdb",
      "parents": [
        "e1f6c07b1160ef28e8754d12e6c03288dd9d5ca8"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:53 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: import functionality to derive keys into the kernel\n\nImport the code to derive Kerberos keys from a base key into the\nkernel.  This will allow us to change the format of the context\ninformation sent down from gssd to include only a single key.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e1f6c07b1160ef28e8754d12e6c03288dd9d5ca8",
      "tree": "5be1f97a1a51feaed4bed2b4a83a568c94921faf",
      "parents": [
        "81d4a4333a1dfd6070f046265d928bb4c79aff88"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: add ability to have a keyed checksum (hmac)\n\nEncryption types besides DES may use a keyed checksum (hmac).\nModify the make_checksum() function to allow for a key\nand take care of enctype-specific processing such as truncating\nthe resulting hash.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "81d4a4333a1dfd6070f046265d928bb4c79aff88",
      "tree": "652fce6cd75be7388f0cd5c45aec653814710791",
      "parents": [
        "a8cc1cb7d7a12b0e2855832d10cfbfaffebfad6c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:51 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: introduce encryption type framework\n\nAdd enctype framework and change functions to use the generic\nvalues from it rather than the values hard-coded for des.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ac3719a2214c545c7e19d34e272a148ca9a24f1",
      "tree": "ae1a3f88f85aad50c03cd0960b3fbc392561c673",
      "parents": [
        "54ec3d462f3c2a3fe48a7bd592160bee31360087"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:15 2010 -0400"
      },
      "message": "gss_krb5: split up functions in preparation of adding new enctypes\n\nAdd encryption type to the krb5 context structure and use it to switch\nto the correct functions depending on the encryption type.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "725f2865d4df31ac0768b13ae763beadc4bb8ce9",
      "tree": "20b2da47713e7f38a61d37cbb2c95ad52c88609f",
      "parents": [
        "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:15 2010 -0400"
      },
      "message": "gss_krb5: Introduce encryption type framework\n\nMake the client and server code consistent regarding the extra buffer\nspace made available for the auth code when wrapping data.\n\nAdd some comments/documentation about the available buffer space\nin the xdr_buf head and tail when gss_wrap is called.\n\nAdd a compile-time check to make sure we are not exceeding the available\nbuffer space.\n\nAdd a central function to shift head data.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9acb42ef1904d15d0fb315061cefbe638f67f3a",
      "tree": "7c94dff168dfc90a279990cb2860cce626ae76a3",
      "parents": [
        "cdead7cf12896c0e50a8be2e52de52c364603095"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 19 15:36:22 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 22 05:32:44 2010 -0400"
      },
      "message": "SUNRPC: Fix a use after free bug with the NFSv4.1 backchannel\n\nThe -\u003erelease_request() callback was designed to allow the transport layer\nto do housekeeping after the RPC call is done. It cannot be used to free\nthe request itself, and doing so leads to a use-after-free bug in\nxprt_release().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba17686f62db88f6a591121e768a0c83a2a2647d",
      "tree": "b32b611d474e062d908af555b012dec0d4f703a5",
      "parents": [
        "9733f0d9289cbcac4fa03db0cb5aec1ab01c6bc9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 26 21:24:04 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 10 08:31:02 2010 -0500"
      },
      "message": "nfs41 do not allocate unused back channel pages\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[Trond.Myklebust@netapp.com: moved definition of svc_is_backchannel()\n into include/linux/sunrpc/bc_xprt.h.]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e4bdda1bc3123a9e65f4dd93a23041fde8ed3dc2",
      "tree": "c2f75cc08bb4c5cbd9103e14399ea5ab66ce960d",
      "parents": [
        "74f3ae743427b87e43b5cb9f4257021ae8ad4267",
        "380454126f1357db9270f9d1ca05dfe1a6e4ad47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: Fix a regression in the NFSv4 state manager\n  NFSv4: Release the sequence id before restarting a CLOSE rpc call\n  nfs41: fix session fore channel negotiation\n  nfs41: do not zero seqid portion of stateid on close\n  nfs: run state manager in privileged mode\n  nfs: make recovery state manager operations privileged\n  nfs: enforce FIFO ordering of operations trying to acquire slot\n  rpc: add a new priority in RPC task\n  nfs: remove rpc_task argument from nfs4_find_slot\n  rpc: add rpc_queue_empty function\n  nfs: change nfs4_do_setlk params to identify recovery type\n  nfs: do not do a LOOKUP after open\n  nfs: minor cleanup of session draining\n"
    },
    {
      "commit": "37c24b37fb2454e95136139d10bb6828967105bf",
      "tree": "d5c3fa61fa689567caeb2a7cb5891473e444ff7d",
      "parents": [
        "5ac4d630eb87656bd4dc313b910776d54d88ea28",
        "7663dacd926584093dfc350892792054692b6cb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux: (42 commits)\n  nfsd: remove pointless paths in file headers\n  nfsd: move most of nfsfh.h to fs/nfsd\n  nfsd: remove unused field rq_reffh\n  nfsd: enable V4ROOT exports\n  nfsd: make V4ROOT exports read-only\n  nfsd: restrict filehandles accepted in V4ROOT case\n  nfsd: allow exports of symlinks\n  nfsd: filter readdir results in V4ROOT case\n  nfsd: filter lookup results in V4ROOT case\n  nfsd4: don\u0027t continue \"under\" mounts in V4ROOT case\n  nfsd: introduce export flag for v4 pseudoroot\n  nfsd: let \"insecure\" flag vary by pseudoflavor\n  nfsd: new interface to advertise export features\n  nfsd: Move private headers to source directory\n  vfs: nfsctl.c un-used nfsd #includes\n  lockd: Remove un-used nfsd headers #includes\n  s390: remove un-used nfsd #includes\n  sparc: remove un-used nfsd #includes\n  parsic: remove un-used nfsd #includes\n  compat.c: Remove dependence on nfsd private headers\n  ...\n"
    },
    {
      "commit": "c7af6b0895229bd080b86afc91302b66f6df0378",
      "tree": "4191cd37780883313ebe6dd8374932fa56a3fc05",
      "parents": [
        "3d8986c7585457c45fd349b2c542c7c1ecd20843"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Dec 04 18:29:33 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 15 15:01:46 2009 -0500"
      },
      "message": "nfsd: remove unused field rq_reffh\n\nThis field is never referenced anywhere else.  I don\u0027t know what it was\nintended for.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cf3b01b54880debb01ea7d471123da5887a7c2cb",
      "tree": "54fc0c9014297706e1c7f760d6e0396d24954a68",
      "parents": [
        "40ead580ae70bba1f66f426aeb938051e4e83900"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:55 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:53:54 2009 -0500"
      },
      "message": "rpc: add a new priority in RPC task\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48f186124220794fce85ed1439fc32f16f69d3e2",
      "tree": "c200395b4238a19d6653b23a43537ac29b7b8cf4",
      "parents": [
        "afe6c27ccb8cc31ce8ed0bd3589ce549f523c8e7"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:53 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:51:17 2009 -0500"
      },
      "message": "rpc: add rpc_queue_empty function\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a600ffcbb3743cf1296bee2a41d4824c719d7181",
      "tree": "24b5772ad56a6b65626ad70a905f6f9ab3709225",
      "parents": [
        "4056c9a344d60ee96471a5f3b0a3c8a90371c8fd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:28:35 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:08 2009 -0500"
      },
      "message": "sunrpc: Clean never used include files\n\nRemove include of two headers never used by this file.\nDoing so exposed a missing #include \u003clinux/types.h\u003e in\ninclude/linux/sunrpc/rpc_rdma.h.\n\nI did not see any other users dependency but if exist they\nshould be fixed since these headers are totally irrelevant\nto here.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "09a21c4102c8f7893368553273d39c0cadedf9af",
      "tree": "b0a051dbb02d48aa95383e39cc7ce6f503d6f33b",
      "parents": [
        "206a134b4d8abf57cd34dffacf993869355b9aac"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Allow RPCs to fail quickly if the server is unreachable\n\nThe kernel sometimes makes RPC calls to services that aren\u0027t running.\nBecause the kernel\u0027s RPC client always assumes the hard retry semantic\nwhen reconnecting a connection-oriented RPC transport, the underlying\nreconnect logic takes a long while to time out, even though the remote\nmay have responded immediately with ECONNREFUSED.\n\nIn certain cases, like upcalls to our local rpcbind daemon, or for NFS\nmount requests, we\u0027d like the kernel to fail immediately if the remote\nservice isn\u0027t reachable.  This allows another transport to be tried\nimmediately, or the pending request can be abandoned quickly.\n\nIntroduce a per-request flag which controls how call_transmit_status()\nbehaves when request transmission fails because the server cannot be\nreached.\n\nWe don\u0027t want soft connection semantics to apply to other errors.  The\ndefault case of the switch statement in call_transmit_status() no\nlonger falls through; the fall through code is copied to the default\ncase, and a \"break;\" is added.\n\nThe transport\u0027s connection re-establishment timeout is also ignored for\nsuch requests.  We want the request to fail immediately, so the\nreconnect delay is skipped.  Additionally, we don\u0027t want a connect\nfailure here to further increase the reconnect timeout value, since\nthis request will not be retried.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78c210efdefe07131f91ed512a3308b15bb14e2f",
      "tree": "8b101c92584e27b0dbe238f6a1208308e54dac81",
      "parents": [
        "0a3adadee42f2865bb867b8c5f4955b7def9baad"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 06 15:41:34 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 23 12:34:05 2009 -0500"
      },
      "message": "Revert \"knfsd: avoid overloading the CPU scheduler with enormous load averages\"\n\nThis reverts commit 59a252ff8c0f2fa32c896f69d56ae33e641ce7ad.\n\nThis helps in an entirely cached workload but not necessarily in\nworkloads that require waiting on disk.\n\nConflicts:\n\n\tinclude/linux/sunrpc/svc.h\n\tnet/sunrpc/svc_xprt.c\n\nReported-by: Simon Kirby \u003csim@hostway.ca\u003e\nTested-by: Jesper Krogh \u003cjesper@krogh.cc\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "97363c6a4f93a20380b4a9e11f35e27fed68a517"
}
