)]}'
{
  "log": [
    {
      "commit": "b7299f44394336f51b526247a870d47d28f4f97c",
      "tree": "bb8e365349e9e048f0f927843acca26ddd6a8e2b",
      "parents": [
        "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 17:57:35 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 18 11:51:38 2010 -0400"
      },
      "message": "nfs4: minor callback code simplification, comment\n\nNote the position in the version array doesn\u0027t have to match the actual\nrpc version number--to me it seems clearer to maintain the distinction.\n\nAlso document choice of rpc callback version number, as discussed in\ne.g. http://www.ietf.org/mail-archive/web/nfsv4/current/msg07985.html\nand followups.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab707e156593ff7fffd615757332dbff6616836a",
      "tree": "a9d1c7d851ca178e616f05aab30377ab778762b4",
      "parents": [
        "d76829889ac4250a18cfcc1a606bb256bb9c570c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 12 00:14:06 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 11:59:11 2010 -0400"
      },
      "message": "nfsd4: nfsd4_destroy_session must set callback client under the state lock\n\nnfsd4_set_callback_client must be called under the state lock to atomically\nset or unset the callback client and shutting down the previous one.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5306293c9cd2caf41849cc909281bda628bb989e",
      "tree": "3be4e8231e2772c8a43ddbef5c6a72c20b3054bb",
      "parents": [
        "dbd65a7e44fff4741a0b2c84bd6bace85d22c242",
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 04 11:27:05 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 04 11:29:05 2010 -0400"
      },
      "message": "Merge commit \u0027v2.6.34-rc6\u0027\n\nConflicts:\n\tfs/nfsd/nfs4callback.c\n"
    },
    {
      "commit": "4b21d0defcc9680da8a694e92d5fe8eb668c2c0b",
      "tree": "35684f814bbbc428236e0e542b292521e59f06e3",
      "parents": [
        "2bf23875f55af6038a5d1c164a52cec4c24609ba"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Mar 07 23:39:01 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: allow 4.0 clients to change callback path\n\nThe rfc allows a client to change the callback parameters, but we didn\u0027t\npreviously implement it.\n\nTeach the callbacks to rerun themselves (by placing themselves on a\nworkqueue) when they recognize that their rpc task has been killed and\nthat the callback connection has changed.\n\nThen we can change the callback connection by setting up a new rpc\nclient, modifying the nfs4 client to point at it, waiting for any work\nin progress to complete, and then shutting down the old client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2bf23875f55af6038a5d1c164a52cec4c24609ba",
      "tree": "b001fc6594833c6554c11836d23958c7c7049e35",
      "parents": [
        "b12a05cbdfdf7e4d8cbe8fa78e995f971420086b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 08 12:37:27 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: rearrange cb data structures\n\nMainly I just want to separate the arguments used for setting up the tcp\nclient from the rest.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b12a05cbdfdf7e4d8cbe8fa78e995f971420086b",
      "tree": "05f82bd2abf8ab0b688383c467b76db713cdcc09",
      "parents": [
        "b5a1a81e5c25fb6bb3fdc1812ba69ff6ab638fcf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 04 11:32:59 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:02 2010 -0400"
      },
      "message": "nfsd4: cl_count is unused\n\nNow that the shutdown sequence guarantees callbacks are shut down before\nthe client is destroyed, we no longer have a use for cl_count.\n\nWe\u0027ll probably reinstate a reference count on the client some day, but\nit will be held by users other than callbacks.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b5a1a81e5c25fb6bb3fdc1812ba69ff6ab638fcf",
      "tree": "c524a75d111f4060eb985161478362ac18c17169",
      "parents": [
        "3c4ab2aaa90826060b1e8d4036f9bb8325f8759e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 03 14:52:55 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:34:01 2010 -0400"
      },
      "message": "nfsd4: don\u0027t sleep in lease-break callback\n\nThe NFSv4 server\u0027s fl_break callback can sleep (dropping the BKL), in\norder to allocate a new rpc task to send a recall to the client.\n\nAs far as I can tell this doesn\u0027t cause any races in the current code,\nbut the analysis is difficult.  Also, the sleep here may complicate the\nmove away from the BKL.\n\nSo, just schedule some work to do the job for us instead.  The work will\nlater also prove useful for restarting a call after the callback\ninformation is changed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9045b4b9f7f340f43de0cf687b5b52f6feaaa984",
      "tree": "5f955b3544bb8051723646090c2f2ecc91b07225",
      "parents": [
        "3df796dbe97a98a6a25e6b7b88e9d326e261f371"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 21 17:53:04 2010 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 02 17:04:32 2010 -0400"
      },
      "message": "nfsd4: remove probe task\u0027s reference on client\n\nAny null probe rpc will be synchronously destroyed by the\nrpc_shutdown_client() in expire_client(), so the rpc task cannot outlast\nthe nfs4 client.  Therefore there\u0027s no need for that task to hold a\nreference on the client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "227f98d98d2ed7929f41426adc21f57b927354a6",
      "tree": "8186b54a4f4e0cb5b3a7778f76854b00c7ce43db",
      "parents": [
        "788e69e548cc8d127b90f0de1f7b7e983d1d587a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Feb 18 08:27:24 2010 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 02 16:28:11 2010 -0400"
      },
      "message": "nfsd4: preallocate nfs4_rpc_args\n\nInstead of allocating this small structure, just include it in the\ndelegation.\n\nThe nfsd4_callback structure isn\u0027t really necessary yet, but we plan to\nadd to it all the information necessary to perform a callback.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "cf07d2ea43e5c22149435ee9002cb737eac20eca",
      "tree": "be8af254331398b2be20090b2b61da432229f109",
      "parents": [
        "4ea41e2de5bba756858bb40f964e3490b6d1a25c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 28 23:20:19 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Mar 06 15:02:01 2010 -0500"
      },
      "message": "nfsd4: simplify references to nfsd4 lease time\n\nInstead of accessing the lease time directly, some users call\nnfs4_lease_time(), and some a macro, NFSD_LEASE_TIME, defined as\nnfs4_lease_time().  Neither layer of indirection serves any purpose.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8d75da8afd068fa58b35e69c7c8c46770d9e7a98",
      "tree": "9bec3e2fb1334df46403073e260795d8fd9bf156",
      "parents": [
        "ccdb357ccb77cc4cbe4f7abee9efd19957f0753a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 03 16:13:29 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 03 16:13:29 2010 -0500"
      },
      "message": "nfsd4: fix minor memory leak\n\nThere\u0027s no need to allocate this cred more than once.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "58255a4e3ce506b43bb14d5579006731a981490d",
      "tree": "3b7cbbea0fc728b1a5c66b553a92f57440997ddb",
      "parents": [
        "978ebd97d1426d5708d3f353179ab81f191a7eeb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Feb 24 13:48:06 2010 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 24 17:50:28 2010 -0800"
      },
      "message": "NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN\n\nThe server\u0027s callback client should stop trying to connect to the\nclient\u0027s callback server as soon as it gets ECONNREFUSED.\n\nThe NFS server\u0027s callback client does not call rpc_ping(), but appears\nto have it\u0027s own \"ping\" procedure, so it wasn\u0027t covered by commit\ncaabea8a.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7663dacd926584093dfc350892792054692b6cb3",
      "tree": "3300005fc836d8a6661d758212289963f850d728",
      "parents": [
        "1557aca7904ed6fadd22cdc3364754070bb3d3c3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Dec 04 19:49:00 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 15 15:01:47 2009 -0500"
      },
      "message": "nfsd: remove pointless paths in file headers\n\nThe new .h files have paths at the top that are now out of date.  While\nwe\u0027re here, just remove all of those from fs/nfsd; they never served any\npurpose.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9a74af21330c8d46efa977d088a62cc1bfa954e9",
      "tree": "6f2e4b775738ae93da05ad475b244785bf40461e",
      "parents": [
        "68590c382b875cc9a76b06097f3dff6730d787c1"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:30:56 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:12 2009 -0500"
      },
      "message": "nfsd: Move private headers to source directory\n\nLots of include/linux/nfsd/* headers are only used by\nnfsd module. Move them to the source directory\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "341eb184469f8e4a6841fc49a57ad4a27e51c335",
      "tree": "df6b06cc5b15ae421b589865fc008df1219589a4",
      "parents": [
        "72579ac9cd68081108277c31781b127d0f420d61"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:29:12 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:09 2009 -0500"
      },
      "message": "nfsd: Source files #include cleanups\n\nNow that the headers are fixed and carry their own wait, all fs/nfsd/\nsource files can include a minimal set of headers. and still compile just\nfine.\n\nThis patch should improve the compilation speed of the nfsd module.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3ddc8bf5f31c906c558ce3da4856208a864d2fc1",
      "tree": "dc0e56c769fee36ea66b724826d6112382e22bb3",
      "parents": [
        "0421b5c55acd0e88920cb9a5bcea6ed738186853"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Sep 10 12:27:21 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:52:13 2009 -0400"
      },
      "message": "nfsd41: modify nfsd4.1 backchannel to use new xprt class\n\nThis patch enables the use of the nfsv4.1 backchannel.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\n[initialize rpc_create_args.bc_xprt too]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0421b5c55acd0e88920cb9a5bcea6ed738186853",
      "tree": "d19e8b22635ba8caa36d9ac1cddf6ab3176c7fb7",
      "parents": [
        "2af73580b7d7b687175f47ba092640761602b221"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Thu Sep 10 12:27:04 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:52:12 2009 -0400"
      },
      "message": "nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[nfsd41: cb_recall callback]\n[Share v4.0 and v4.1 back channel xdr]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Share v4.0 and v4.1 back channel xdr]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use nfsd4_cb_sequence for callback minorversion]\n[nfsd41: conditionally decode_sequence in nfs4_xdr_dec_cb_recall]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: Backchannel: Add sequence arguments to callback RPC arguments]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[pulled-in definition of nfsd4_cb_done]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2af73580b7d7b687175f47ba092640761602b221",
      "tree": "6136af3800ff00204b8a07b4f7b07472b8b06206",
      "parents": [
        "2a1d1b593803d7c18a369bf148f3b48c5a3260fc"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu Sep 10 12:26:51 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:56 2009 -0400"
      },
      "message": "nfsd41: Backchannel: cb_sequence callback\n\nImplement the cb_sequence callback conforming to draft-ietf-nfsv4-minorversion1\n\nNote: highest slot id and target highest slot id do not have to be 0\nas was previously implemented.  They can be greater than what the\nnfs server sent if the client supports a larger slot table on the\nbackchannel.  At this point we just ignore that.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[Rework the back channel xdr using the shared v4.0 and v4.1 framework.]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixed indentation]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use nfsd4_cb_sequence for callback minorversion]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: fix verification of CB_SEQUENCE highest slot id[\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: Backchannel: Remove old backchannel serialization]\n[nfsd41: Backchannel: First callback sequence ID should be 1]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: decode_cb_sequence does not need to actually decode ignored fields]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2a1d1b593803d7c18a369bf148f3b48c5a3260fc",
      "tree": "40cd8e5498ad680eec740923d512c0bf5fe114b3",
      "parents": [
        "199ff35e1c8724871e157c2e48556c2794946e82"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Thu Sep 10 12:26:38 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:56 2009 -0400"
      },
      "message": "nfsd41: Backchannel: Setup sequence information\n\nFollows the model used by the NFS client.  Setup the RPC prepare and done\nfunction pointers so that we can populate the sequence information if\nminorversion \u003d\u003d 1.  rpc_run_task() is then invoked directly just like\nexisting NFS client operations do.\n\nnfsd4_cb_prepare() determines if the sequence information needs to be setup.\nIf the slot is in use, it adds itself to the wait queue.\n\nnfsd4_cb_done() wakes anyone sleeping on the callback channel wait queue\nafter our RPC reply has been received.  It also sets the task message\nresult pointer to NULL to clearly indicate we\u0027re done using it.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[define and initialize cl_cb_seq_nr here]\n[pulled out unused defintion of nfsd4_cb_done]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "132f97715c098393fb8de3c26b07b9fdbd2334f1",
      "tree": "293a4cfc826e8597aeafcb64e8452a57fea25f08",
      "parents": [
        "38524ab38f2752beee262a97403d871665838172"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Thu Sep 10 12:26:12 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:55 2009 -0400"
      },
      "message": "nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n\nFollow the model we use in the client. Make the sequence arguments\npart of the regular RPC arguments.  None of the callbacks that are\nsoon to be implemented expect results that need to be passed back\nto the caller, so we don\u0027t define a separate RPC results structure.\nFor session validation, the cb_sequence decoding will use a pointer\nto the sequence arguments that are part of the RPC argument.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[define struct nfsd4_cb_sequence here]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38524ab38f2752beee262a97403d871665838172",
      "tree": "cbccd7de004d2ad437bd514fc3baefefd6a711f5",
      "parents": [
        "80fc015bdfe1f5b870c1e1ee02d78e709523fee7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Sep 10 12:25:59 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:55 2009 -0400"
      },
      "message": "nfsd41: Backchannel: callback infrastructure\n\nKeep the xprt used for create_session in cl_cb_xprt.\nMark cl_callback.cb_minorversion \u003d 1 and remember\nthe client provided cl_callback.cb_prog rpc program number.\nUse it to probe the callback path.\n\nUse the client\u0027s network address to initialize as the\ncallback\u0027s address as expected by the xprt creation\nroutines.\n\nDefine xdr sizes and code nfs4_cb_compound header to be able\nto send a null callback rpc.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[get callback minorversion from fore channel\u0027s]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: change bc_sock to bc_xprt]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pulled definition for cl_cb_xprt]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: set up backchannel\u0027s cb_addr]\n[moved rpc_create_args init to \"nfsd: modify nfsd4.1 backchannel to use new xprt class\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "80fc015bdfe1f5b870c1e1ee02d78e709523fee7",
      "tree": "f56fd466add111a4c6bcc29d127325e3e77b4669",
      "parents": [
        "29ab23cc5d351658d01a4327d55e9106a73fd04f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 18:07:35 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:34 2009 -0400"
      },
      "message": "nfsd4: use common rpc_cred for all callbacks\n\nCallbacks are always made using the machine\u0027s identity, so we can use a\nsingle auth_generic credential shared among callbacks to all clients and\nlet the rpc code take care of the rest.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "886e3b7fe6054230c89ae078a09565ed183ecc73",
      "tree": "95978914331e3b9f4e2f22f7c645ec039f6d77aa",
      "parents": [
        "4be36ca0cefc09725f52a9590d061399d3e524d7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 12:22:42 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:33 2009 -0400"
      },
      "message": "nfsd4: fix null dereference creating nfsv4 callback client\n\nOn setting up the callback to the client, we attempt to use the same\nauthentication flavor the client did.  We find an rpc cred to use by\ncalling rpcauth_lookup_credcache(), which assumes that the given\nauthentication flavor has a credentials cache.  However, this is not\nrequired to be true--in particular, auth_null does not use one.\nInstead, we should call the auth\u0027s lookup_cred() method.\n\nWithout this, a client attempting to mount using nfsv4 and auth_null\ntriggers a null dereference.\n\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4be36ca0cefc09725f52a9590d061399d3e524d7",
      "tree": "00390a68d17ee182f5663eb2337ba56804d44a76",
      "parents": [
        "f300baba5a1536070d6d77bf0c8c4ca999bb4f0f"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu Sep 10 12:25:46 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Sep 13 15:57:39 2009 -0400"
      },
      "message": "nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aa9a4ec7707a5391cde556f3fa1b0eb4bca3bcf6",
      "tree": "abb684bea62a77a0172d6be2f45f0414acedc5cc",
      "parents": [
        "363168b4ea8ec26aeb982ac6024a09f907ecd27e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Aug 14 12:57:57 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:43 2009 -0400"
      },
      "message": "nfsd: convert nfs4_cb_conn struct to hold address in sockaddr_storage\n\n...rather than as a separate address and port fields. This will be\nnecessary for implementing callbacks over IPv6. Also, convert\ngen_callback to use the standard rpcuaddr2sockaddr routine rather than\nits own private one.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab52ae6db035fa425f90146327ab7d2c5d3e5654",
      "tree": "449acdb98ca035bd57c45b4bd8e89ac04f8ecff7",
      "parents": [
        "ef52bff8409bba78b042f1bcf33a0f49debc9774"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 04:20:53 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 18:33:57 2009 -0700"
      },
      "message": "nfsd41: Backchannel: minorversion support for the back channel\n\nPrepare to share backchannel code with NFSv4.1.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\n[nfsd41: use nfsd4_cb_sequence for callback minorversion]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ef52bff8409bba78b042f1bcf33a0f49debc9774",
      "tree": "2ac3a07a7a4d1faff5201a4156693042bb3fd8c2",
      "parents": [
        "6ddbbbfe52f35301ef5a1b595f912d8d2b3ec143"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jun 16 04:20:50 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 18:33:57 2009 -0700"
      },
      "message": "nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n\nMimic the client and prepare to share the back channel xdr with NFSv4.1.\nBump the number of operations in each encode routine, then backfill the\nnumber of operations.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63e4863fabc6e165a6ca813051305be58966da45",
      "tree": "e84b927ca00ce91c8a3a4e93b7f61a0fea315e00",
      "parents": [
        "3aea09dc9106407d8bc18e593fbffda9ad632844"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 22:36:55 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 03 15:08:56 2009 -0400"
      },
      "message": "nfsd4: make recall callback an asynchronous rpc\n\nAs with the probe, this removes the need for another kthread.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3aea09dc9106407d8bc18e593fbffda9ad632844",
      "tree": "563b9b3cfbd5203e87b7fea59946729c135de1d3",
      "parents": [
        "6707bd3d420f53ae8f090dac871843f6f43c9980"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 20:11:12 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 20:11:12 2009 -0400"
      },
      "message": "nfsd4: track recall retries in nfs4_delegation\n\nMove this out of a local variable into the nfs4_delegation object in\npreparation for making this an async rpc call (at which point we\u0027ll need\nany state like this in a common object that\u0027s preserved across function\ncalls).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6707bd3d420f53ae8f090dac871843f6f43c9980",
      "tree": "d72d14847fddef8bec160cd15e58d9edb9a9ddd9",
      "parents": [
        "b53d40c5070bffde1b2bcaf848412a50d8894794"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:57:46 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:57:46 2009 -0400"
      },
      "message": "nfsd4: remove unused dl_trunc\n\nThere\u0027s no point in keeping this field around--it\u0027s always zero.\n\n(Background: the protocol allows you to tell the client that the file is\nabout to be truncated, as an optimization to save the client from\nwriting back dirty pages that will just be discarded.  We don\u0027t\nimplement this hint.  If we do some day, adding this field back in will\nbe the least of the work involved.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b53d40c5070bffde1b2bcaf848412a50d8894794",
      "tree": "3f0e0f62997b437eb03678040393aa5e1fbfd315",
      "parents": [
        "c237dc0303bcf6f4cc2e0efe4fe4e341c6f34dac"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:50:00 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 19:50:00 2009 -0400"
      },
      "message": "nfsd4: eliminate struct nfs4_cb_recall\n\nThe nfs4_cb_recall struct is used only in nfs4_delegation, so its\npointer to the containing delegation is unnecessary--we could just use\ncontainer_of().\n\nBut there\u0027s no real reason to have this a separate struct at all--just\nmove these fields to nfs4_delegation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c237dc0303bcf6f4cc2e0efe4fe4e341c6f34dac",
      "tree": "d314fbccd51967a80f31f62e2467f0936fd096c0",
      "parents": [
        "e300a63ce4ccec073d254d883a3638d5dca1d771"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 19:09:19 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 01 17:31:44 2009 -0400"
      },
      "message": "nfsd4: rename callback struct to cb_conn\n\nI want to use the name for a struct that actually does represent a\nsingle callback.\n\n(Actually, I\u0027ve never been sure it helps to a separate struct for the\ncallback information.  Some day maybe those fields could just be dumped\ninto struct nfs4_client.  I don\u0027t know.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e300a63ce4ccec073d254d883a3638d5dca1d771",
      "tree": "63df254b53d9e5a48f7a2d31ac62c9bc23b48aba",
      "parents": [
        "3cef9ab266a932899e756f7e1ea7a988a97bf3b2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 05 15:01:11 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 17:10:53 2009 -0400"
      },
      "message": "nfsd4: replace callback thread by asynchronous rpc\n\nWe don\u0027t really need a synchronous rpc, and moving to an asynchronous\nrpc allows us to do without this extra kthread.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3cef9ab266a932899e756f7e1ea7a988a97bf3b2",
      "tree": "a1fff617c936214a9e95bdec760904a28859126b",
      "parents": [
        "ecdd03b7914c91ef849e49c4d466c87f4981b5cd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 21:42:10 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:45:03 2009 -0400"
      },
      "message": "nfsd4: lookup up callback cred only once\n\nLookup the callback cred once and then use it for all subsequent\ncallbacks.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ecdd03b7914c91ef849e49c4d466c87f4981b5cd",
      "tree": "16d67b4af0e8545f60e31f0b1f9cfb0f97526641",
      "parents": [
        "e1cab5a5896e142190cd66a8287099b52e5855a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 19:35:22 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:53 2009 -0400"
      },
      "message": "nfsd4: create rpc callback client from server thread\n\nThe code is a little simpler, and it should be easier to avoid races, if\nwe just do all rpc client creation/destruction from nfsd or laundromat\nthreads and do only the rpc calls themselves asynchronously.  The rpc\ncreation doesn\u0027t involve any significant waiting (it doesn\u0027t call the\nclient, for example), so there\u0027s no reason not to do this.\n\nAlso don\u0027t bother destroying the client on failure of the rpc null\nprobe.  We may want to retry the probe later anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1cab5a5896e142190cd66a8287099b52e5855a7",
      "tree": "dbdf0c075a83b192a1e2e2d450cac65f720a4ec4",
      "parents": [
        "595947acaaef373445131471a78650003f5d8e7d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 23 10:45:27 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:47 2009 -0400"
      },
      "message": "nfsd4: set cb_client inside setup_callback_client\n\nThis is just a minor code simplification.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "595947acaaef373445131471a78650003f5d8e7d",
      "tree": "706a17e13c60f802678964c6720486abfc33a5bc",
      "parents": [
        "f64f79ea5f5e02ba8585f35a10b4a3bcab0cea52"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Mar 05 17:18:10 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 29 16:44:40 2009 -0400"
      },
      "message": "nfsd4: set shorter timeout\n\nWe tried to do something overly complicated with the callback rpc\ntimeouts here.  And they\u0027re wrong--the result is that by the time a\nsingle callback times out, it\u0027s already too late to tell the client\n(using the cb_path_down return to RENEW) that the callback is down.\n\nUse a much shorter, simpler timeout.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a601caeda21c0e94c153dbd146ec0899cc5f324f",
      "tree": "0fc46ede6bde9cf2ed6bf1417f18ef620867e2d0",
      "parents": [
        "418cd20aa19b54554cab383e2fd0d1cb8c4732ee"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 16:43:45 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:39 2009 -0400"
      },
      "message": "nfsd4: move rpc_client setup to a separate function\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "418cd20aa19b54554cab383e2fd0d1cb8c4732ee",
      "tree": "c101f0cd0bd6ed97bbf1781ca651e9fcf3d92c69",
      "parents": [
        "8b671b80707e4fc76adfe4387df07b3be1007c1e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 15:52:13 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:39 2009 -0400"
      },
      "message": "nfsd4: fix do_probe_callback errors\n\nThe errors returned aren\u0027t used.  Just return 0 and make them available\nto a dprintk().  Also, consistently use -ERRNO errors instead of nfs\nerrors.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReviewed-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8b671b80707e4fc76adfe4387df07b3be1007c1e",
      "tree": "d9dafb3a1174dfeb84f72ba56a04625204aab415",
      "parents": [
        "d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 22 14:51:34 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:38 2009 -0400"
      },
      "message": "nfsd4: remove use of mutex for file_hashtable\n\nAs part of reducing the scope of the client_mutex, and in order to\nremove the need for mutexes from the callback code (so that callbacks\ncan be done as asynchronous rpc calls), move manipulations of the\nfile_hashtable under the recall_lock.\n\nUpdate the relevant comments while we\u0027re here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nReviewed-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b",
      "tree": "f53688b2496a98da148297972b4e27318810ec89",
      "parents": [
        "18f82731b7784ba81ee9b1ed6a8179b577fa898b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 15:39:54 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:38 2009 -0400"
      },
      "message": "nfsd4: put_nfs4_client does not require state lock\n\nSince free_client() is guaranteed to only be called once, and to only\ntouch the client structure itself (not any common data structures), it\nhas no need for the state lock.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\n"
    },
    {
      "commit": "e37da04ed145d45c2a698d7cb373a7e1191fbe86",
      "tree": "d493557917d982e1b6fa5141779ba3984f1706d9",
      "parents": [
        "6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Dec 18 19:55:16 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:50 2009 -0400"
      },
      "message": "nfsd: lock state around put client and delegation in nfsd4_cb_recall\n\nnot having the state locked before putting the client/delegation causes a bug.\nAlso removed the comment from the function header about the state being already locked\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f",
      "tree": "af558f47858043d7c326c5b3d889c9447e65aaac",
      "parents": [
        "a4773c08f2872626cb923433284488fbe8acb0ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:30:51 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:49 2009 -0400"
      },
      "message": "nfsd4: use helper for copying delegation filehandle\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7",
      "tree": "0e51b83a1d83dfb3e7e389fdad8762e338656f85",
      "parents": [
        "0407717d8587f60003f4904bff27650cd836c00c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:41:10 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:46 2009 -0500"
      },
      "message": "nfsd: git rid of nfs4_cb_null_ops declaration\n\nThere\u0027s no use for nfs4_cb_null_ops\u0027s declaration in fs/nfsd/nfs4callback.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "61054b14d545e257b9415d5ca0cd5f43762b4d0c",
      "tree": "7f648cf35a3b79aa1555f21050f11d415b93f381",
      "parents": [
        "945b34a7725a5f0741de7775132aafc58bfecfbb"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:19:00 2008 -0500"
      },
      "message": "nfsd: support callbacks with gss flavors\n\nThis patch adds server-side support for callbacks other than AUTH_SYS.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "608207e8884e083ad8b8d33eda868da70f0d63e8",
      "tree": "86073f5f2e4a550bb1efe395954abe3fa91a555e",
      "parents": [
        "68e76ad0baf8f5d5060377c2423ee6eed5c63057"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "message": "rpc: pass target name down to rpc level on callbacks\n\nThe rpc client needs to know the principal that the setclientid was done\nas, so it can tell gssd who to authenticate to.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5b337b4877f7c4e1d761434ee04d045b0201e03",
      "tree": "0c31c4cfb0f2010a87b0f1ae7246cbd50068306e",
      "parents": [
        "97eb89bb0e5d9ab20dbc677cb18fad1421473287"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun Sep 28 09:21:26 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "nfsd: use nfs client rpc callback program\n\nsince commit ff7d9756b501744540be65e172d27ee321d86103\n\"nfsd: use static memory for callback program and stats\"\ndo_probe_callback uses a static callback program\n(NFS4_CALLBACK) rather than the one set in clp-\u003ecl_callback.cb_prog\nas passed in by the client in setclientid (4.0)\nor create_session (4.1).\n\nThis patches introduces rpc_create_args.prognumber that allows\noverriding program-\u003enumber when creating rpc_clnt.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "97eb89bb0e5d9ab20dbc677cb18fad1421473287",
      "tree": "bdb97a295476b8f934c6295b4a2faa9511311b30",
      "parents": [
        "db820d6376aa81accf5b648651e160fd76e363e2"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Sep 26 15:14:13 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "nfsd: do_probe_callback should not clear rpc stats\n\nNow that cb_stats are static (since commit\nff7d9756b501744540be65e172d27ee321d86103)\nthere\u0027s no need to clear them.\n\nInitially I thought it might make sense to do\nthat every callback probing but since the stats\nare per-program and they are shared between possibly\nseveral client callback instances, zeroing them out\nseems like the wrong thing to do.\n\nNote that that commit also introduced a bug\nsince stats.program is also being cleared in the process\nand it is not restored after the memset as it used to be.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8e40741494bd08a15af17b8cfd26a1f7ad1f5081",
      "tree": "38abbdb115ed4fa868c13fce32f374f7a499f7a3",
      "parents": [
        "bfcd17a6c5529bc37234cfa720a047cf9397bcfc"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Aug 12 20:42:51 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:57 2008 -0400"
      },
      "message": "nfsd: properly xdr-encode stateid4.seqid as uint32_t for cb_recall\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b6b6152c46861dd914d0e6cea9c27df057d6e235",
      "tree": "0d63ce529c13c09a1997da06199e27b049bb55aa",
      "parents": [
        "48b605f83c920d8daa50e43fc2c7f718e04c7bfa"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Jun 09 16:51:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:10 2008 -0400"
      },
      "message": "rpc: bring back cl_chatty\n\nThe cl_chatty flag alows us to control whether a given rpc client leaves\n\n\t\"server X not responding, timed out\"\n\nmessages in the syslog.  Such messages make sense for ordinary nfs\nclients (where an unresponsive server means applications on the\nmountpoint are probably hanging), but not for the callback client (which\ncan fail more commonly, with the only result just of disabling some\noptimizations).\n\nPreviously cl_chatty was removed, do to lack of users; reinstate it, and\nuse it for the nfsd\u0027s callback client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "88dd0be3874566796fa4ffbdf927a53c4a6a2f4b",
      "tree": "29cb36a8d21d274e5a7dbd11ec69da225d328c65",
      "parents": [
        "b8291ad07a7f3b5b990900f0001198ac23ba893e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon May 05 19:47:29 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 18 19:13:07 2008 -0400"
      },
      "message": "nfsd: reorder printk in do_probe_callback to avoid use-after-free\n\nWe\u0027re currently dereferencing the client after we drop our reference\ncount to it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff7d9756b501744540be65e172d27ee321d86103",
      "tree": "d5f812aa7dd230e51f4b5e2d921692757f41b983",
      "parents": [
        "8774282c4cef82695ccca8bd09976de5d6e49610"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Fri Mar 28 16:04:56 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "nfsd: use static memory for callback program and stats\n\nThere\u0027s no need to dynamically allocate this memory, and doing so may\ncreate the possibility of races on shutdown of the rpc client.  (We\u0027ve\nwitnessed it only after adding rpcsec_gss support to the server, after\nwhich the rpc code can send destroys calls that expect to still be able\nto access the rpc_stats structure after it has been destroyed.)\n\nSuch races are in theory possible if the module containing this \"static\"\nmemory is removed very quickly after an rpc client is destroyed, but\nwe haven\u0027t seen that happen.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "404ec117be5d36e1a4c4582d0c518594333e32df",
      "tree": "cdae7b67f896c93130a6a669ca65cffc94079b07",
      "parents": [
        "35bba9a37e68c68a820a1a772f016255c0838f79"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 23 22:26:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: recognize callback channel failure earlier\n\nWhen the callback channel fails, we inform the client of that by\nreturning a cb_path_down error the next time it tries to renew its\nlease.\n\nIf we wait most of a lease period before deciding that a callback has\nfailed and that the callback channel is down, then we decrease the\nchances that the client will find out in time to do anything about it.\n\nSo, mark the channel down as soon as we recognize that an rpc has\nfailed.  However, continue trying to recall delegations anyway, in hopes\nit will come back up.  This will prevent more delegations from being\ngiven out, and ensure cb_path_down is returned to renew calls earlier,\nwhile still making the best effort to deliver recalls of existing\ndelegations.\n\nAlso fix a couple comments and remove a dprink that doesn\u0027t seem likely\nto be useful.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63c86716ea34ad94d52e5b0abbda152574dc42b5",
      "tree": "c92ceed9f40f43dc79e099a1f3d4da99d6f985b6",
      "parents": [
        "46f8a64bae11f5c9b15b4401f6e9863281999b66"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Oct 25 19:00:26 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: move callback rpc_client creation into separate thread\n\nThe whole reason to move this callback-channel probe into a separate\nthread was because (for now) we don\u0027t have an easy way to create the\nrpc_client asynchronously.  But I forgot to move the rpc_create() to the\nspawned thread.  Doh!  Fix that.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46f8a64bae11f5c9b15b4401f6e9863281999b66",
      "tree": "aea712834e9a12a43772de61c1f6af0dc2ea1b57",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 22 13:54:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd4: probe callback channel only once\n\nOur callback code doesn\u0027t actually handle concurrent attempts to probe\nthe callback channel.  Some rethinking of the locking may be required.\nHowever, we can also just move the callback probing to this case.  Since\nthis is the only time a client is \"confirmed\" (and since that can only\nhappen once in the lifetime of a client), this ensures we only probe\nonce.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cfdcad4da1903720b9b8c1f176e46a0ebf546be3",
      "tree": "8c8b12074a5d197c427c4907f41492d556da2dd5",
      "parents": [
        "1b1a9b3163a83f52ea2ac333846d4dfd2c4edd90"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Sep 12 20:35:15 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: nfsv4 delegation recall should take reference on client\n\nIt\u0027s not enough to take a reference on the delegation object itself; we\nneed to ensure that the rpc_client won\u0027t go away just as we\u0027re about to\nmake an rpc call.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd4877bfb6f09cb4a294b459b354c8fc8fa66904",
      "tree": "d4f5f199bd0fa481b9b41c55715835272e07b482",
      "parents": [
        "e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Oct 24 18:33:17 2006 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: fix callback rpc cred\n\nIt doesn\u0027t make sense to make the callback with credentials that the\nclient made the setclientid with.  Instead the spec requires that the\ncallback occur with the credentials the client authenticated *to*.\nIt probably doesn\u0027t matter what we use for auth_unix, and some more\ninfrastructure will be needed for auth_gss, so let\u0027s just remove the\ncred lookup for now.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2b47eece1fa519a81c8b802af77a8b8aa44baa10",
      "tree": "b06263ca61a05cfaca7311bcfe542a44502c817c",
      "parents": [
        "c9b6cbe56d3ac471e6cd72a59ec9e324b3417016"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 27 18:06:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: spawn kernel thread to probe callback channel\n\nWe want to allow gss on the callback channel, so people using krb5 can\nstill get the benefits of delegations.\n\nBut looking up the rpc credential can take some time in that case.  And\nwe shouldn\u0027t delay the response to setclientid_confirm while we wait.\n\nIt may be inefficient, but for now the simplest solution is just to\nspawn a new thread as necessary for the purpose.\n\n(Thanks to Adrian Bunk for catching a missing static here.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "0ac68d17996eb421dde51452b89d5545ba07c6fe",
      "tree": "444ac8b89189e6b3e543df82c04b4d570c3133f6",
      "parents": [
        "f7fede4b27bfc6c987d6da8e40384b1b098830bb"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue Jul 17 04:04:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: fix enc_stateid_sz for nfsd callbacks\n\nenc_stateid_sz should be given in u32 words units, not bytes, so we were\noverestimating the buffer space needed here.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43780b87fa799ae65df11d89d4539d8d6a7c67eb",
      "tree": "46fce452807c8672af77666bb03cab5ff4191e94",
      "parents": [
        "45160d6275814e0c86206e6981f0b92c61a50a21"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Jul 01 12:13:22 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:46 2007 -0400"
      },
      "message": "SUNRPC: Add a convenient default for the hostname when calling rpc_create()\n\nA couple of callers just use a stringified IP address for the rpc client\u0027s\nhostname.  Move the logic for constructing this into rpc_create(), so it can\nbe shared.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61534dfd38f895b203e2aadaba04f21a992ca8c",
      "tree": "02485ae68fb2f45cbbc06152e0a4856ceff5f587",
      "parents": [
        "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:31:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bea90d43a050bbc4021d44e59beb34f384438db",
      "tree": "2dd3f15bd9df537166a82777b0c95243b90b17e1",
      "parents": [
        "511d2e8855a065c8251d0c140ebc353854f1929e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:10 2007 -0700"
      },
      "message": "SUNRPC: RPC buffer size estimates are too large\n\nThe RPC buffer size estimation logic in net/sunrpc/clnt.c always\nsignificantly overestimates the requirements for the buffer size.\nA little instrumentation demonstrated that in fact rpc_malloc was never\nallocating the buffer from the mempool, but almost always called kmalloc.\n\nTo compute the size of the RPC buffer more precisely, split p_bufsiz into\ntwo fields; one for the argument size, and one for the result size.\n\nThen, compute the sum of the exact call and reply header sizes, and split\nthe RPC buffer precisely between the two.  That should keep almost all RPC\nbuffers within the 2KiB buffer mempool limit.\n\nAnd, we can finally be rid of RPC_SLACK_SPACE!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f534a257acfd9dae0a689be64397919907b283ba",
      "tree": "dd8f00c1f2da1bc2f3391bc63378dff0caa5bdd2",
      "parents": [
        "5575ddf75ca7e61d6f69b96368e03dd88edd4604"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 16 01:28:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: fix non-terminated string\n\nThe server name is expected to be a null-terminated string, so we can\u0027t pass\nin the raw client identifier.\n\nWhat\u0027s more, the client identifier is just a binary, not necessarily\nprintable, blob.  Let\u0027s just use the ip address instead.  The server name\nappears to exist just to help debugging by making some printk\u0027s more\ninformative.\n\nNote that the string is copies into the rpc client structure, so the pointer\nto the local variable does not outlive the function call.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7afef1f963bec198b186cc34b9e8c9b9ce2e266",
      "tree": "d3686ebea2e848e225e9927b8f6f164547d82719",
      "parents": [
        "f00f328fda1eeec575cd0f360da81b66bf4133a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: misc endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f00f328fda1eeec575cd0f360da81b66bf4133a1",
      "tree": "3e1ebdd933267f6c3b9dbcd70406d18df06cda7f",
      "parents": [
        "b8dd7b9ab194d9ab322881f49fde42954757efae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: nfsd callback*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0942176f4353ffebcd6e3f95abce9fd8e24f2cb1",
      "tree": "9a1d63914b9e13f9f01ebb31aa747c18c8998dcb",
      "parents": [
        "9801d8a39cfe6c34f39f9552a246a6bd002e735e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Oct 17 00:10:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:46 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: Fix error handling in nfsd\u0027s callback client\n\nCoverity noticed that the error handling code in the NFSv4 callback client\nsets cb-\u003ecb_client to NULL, then calls rpc_shutdown_client with the NULL\npointer.\n\nCoverity: #cid 1397\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e3b480096568d58d931df6104ef7ca80757efd3",
      "tree": "bc57536cd52f2ba59c03ab23c003aae0628abba9",
      "parents": [
        "a406c3664e171ca8f20dfb339074b26eb2674ac0"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: add some missing newlines in printks\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae5c79476f36512d1100e162606bb5691f2cce5a",
      "tree": "5dd4ea2fad48c21c3ddb7839ab28221d06c3b409",
      "parents": [
        "41877d207c46f050b709f452703ade20c3b4a096"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:21 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:50 2006 -0400"
      },
      "message": "NFSD: Convert NFS server callback logic to use new rpc_create API\n\nReplace xprt_create_proto/rpc_create_client call in NFS server callback\nfunctions to use new rpc_create() API.\n\nTest plan:\nNFSv4 delegation functionality tests.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "541e0e09814594e907e18fb8d9fc9b746aa4b18a",
      "tree": "a411c62cb60e168db6906583f4146c67e6d8f3a1",
      "parents": [
        "5e8d5c29482dc56de5971ddc99c6e7f69e4d16f6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:53 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: nfsd4_probe_callback cleanup\n\nSome obvious cleanup.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "53846a21c1766326bb14ce8ab6e997a0c120675d",
      "tree": "37b04485e29844b4e734479181276a2f4d2447e4",
      "parents": [
        "2e9abdd9bad485970b37cd53a82f92702054984c",
        "1ebbe2b20091d306453a5cf480a87e6cd28ae76f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:18:27 2006 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)\n  SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies\n  SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc\n  LOCKD: Make nlmsvc_traverse_shares return void\n  LOCKD: nlmsvc_traverse_blocks return is unused\n  SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n  NFSv4: Dont list system.nfs4_acl for filesystems that don\u0027t support it.\n  SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum\n  SUNRPC: Ensure rpc_call_async() always calls tk_ops-\u003erpc_release()\n  SUNRPC: Fix memory barriers for req-\u003erq_received\n  NFS: Fix a race in nfs_sync_inode()\n  NFS: Clean up nfs_flush_list()\n  NFS: Fix a race with PG_private and nfs_release_page()\n  NFSv4: Ensure the callback daemon flushes signals\n  SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n  NFS, NLM: Allow blocking locks to respect signals\n  NFS: Make nfs_fhget() return appropriate error values\n  NFSv4: Fix an oops in nfs4_fill_super\n  lockd: blocks should hold a reference to the nlm_file\n  NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE\n  NFSv4: Send the delegation stateid for SETATTR calls\n  ...\n"
    },
    {
      "commit": "e8c96f8c29d89af0c13dc2819a9a00575846ca18",
      "tree": "b90ed0da4803df56a91be5979580e335af2d697c",
      "parents": [
        "b5029622ac86bb441dc5e641226fb1152fca02d7"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Fri Mar 24 03:15:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:19 2006 -0800"
      },
      "message": "[PATCH] fs: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a\nduplicate of ARRAY_SIZE.  Some trailing whitespaces are also deleted.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cb36d6345752fa24827044c68e15f6708a40d9f6",
      "tree": "adc6b7201525c87685815037cfa5fd1c248f6e95",
      "parents": [
        "3e9e3dbe0fe36c824ce2c5d7b05997c87a64bbdc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: remove cb_parsed\n\nThe cb_parsed field is only used by probe_callback, to determine whether the\ncallback information has been filled in by setclientid.  But there is no way\nthat probe_callback() can be called without that having already happened, so\nthat check is superfluous, as is cb_parsed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd39ca9a808c6026989bc2188868a0574eb37108",
      "tree": "9dbb4df308afd32e1a913e3df9c828863c6f98ee",
      "parents": [
        "a76b4319ca85b5e3a8098470c623a272d40271cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: make needlessly global code static\n\nThis patch contains the following possible cleanups:\n\n- make needlessly global code static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5ba266d6323e957588712f6a7d31252cd6b797bb",
      "tree": "a66e7e0fbc99f67c93e7661e83a02e08e2868050",
      "parents": [
        "7e06b7f9e9537cb826f3cff95816fc4384b67806"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix probe_callback\n\nrpc_create_client was modified recently to do its own (synchronous) NULL ping\nof the server.  We\u0027d rather do that on our own, asynchronously, so that we\ndon\u0027t have to block the nfsd thread doing the probe, and so that setclientid\nhandling (hence, client mounts) can proceed normally whether the callback is\nsuccesful or not.  (We can still function fine without the callback\nchannel--we just won\u0027t be able to give out delegations till it\u0027s verified to\nwork.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b616f5d596c0b056129f8aeafbc08409b3cd050",
      "tree": "bdbd2eb5bd1f8a26c7287e21be25ec50db075459",
      "parents": [
        "334ccfd545bba9690515f2c5c167d5adb161989b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:03 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() destroy the transport on failure.\n\n This saves us a couple of lines of cleanup code for each call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1ee4f22f21d74bc3ca63b95ca5b63d3a8620527",
      "tree": "29b860a31e5cb1d52f1d3a63290a2d0da7c905dd",
      "parents": [
        "9e416052f1462801ca857c7536288bac0621615e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "message": "[PATCH] nfsd4: callback create rpc client returns\n\nrpc_create_clnt and friends return errors, not NULL, on failure.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
