)]}'
{
  "log": [
    {
      "commit": "4dc6ec00f6347b72312fa41dfc587d5302b05544",
      "tree": "fbb00e0c8341561f155a6dcd6fc5f83282c638b0",
      "parents": [
        "ab707e156593ff7fffd615757332dbff6616836a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:11:28 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 12:03:11 2010 -0400"
      },
      "message": "nfsd4: implement reclaim_complete\n\nThis is a mandatory operation.  Also, here (not in open) is where we\nshould be committing the reboot recovery information.\n\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": "26c0c75e69265961e891ed80b38fb62a548ab371",
      "tree": "1ecbc767a1b2ad3e8f25d88e918076806d8c2eb1",
      "parents": [
        "e0c8233622cbd49d171bc57b60e725f2fb748750"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Apr 24 15:35:43 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon May 03 08:32:31 2010 -0400"
      },
      "message": "nfsd4: fix unlikely race in session replay case\n\nIn the replay case, the\n\n\trenew_client(session-\u003ese_client);\n\nhappens after we\u0027ve droppped the sessionid_lock, and without holding a\nreference on the session; so there\u0027s nothing preventing the session\nbeing freed before we get here.\n\nThanks to Benny Halevy for catching a bug in an earlier version of this\npatch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5771635592267758e7dc5647f2a0088aa6244159",
      "tree": "71ffa3a85fe311d5eef591ba69e0bbe7d0b17edc",
      "parents": [
        "4b21d0defcc9680da8a694e92d5fe8eb668c2c0b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 21 12:27:19 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 22 11:35:14 2010 -0400"
      },
      "message": "nfsd4: complete enforcement of 4.1 op ordering\n\nEnforce the rules about compound op ordering.\n\nMotivated by implementing RECLAIM_COMPLETE, for which the client is\nimplicit in the current session, so it is important to ensure a\nsuccesful SEQUENCE proceeds the RECLAIM_COMPLETE.\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": "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": "57ecb34febc4c133ca0ccc7817796605a78a01d3",
      "tree": "cc0b9443c5b1c56c138b3bc0066d36afe55faaeb",
      "parents": [
        "864f0f61f829bac5f150a903aad9619322a25424"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 01 19:42:57 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:06:54 2009 -0500"
      },
      "message": "nfsd4: fix share mode permissions\n\nNFSv4 opens may function as locks denying other NFSv4 users the rights\nto open a file.\n\nWe\u0027re requiring a user to have write permissions before they can deny\nwrite.  We\u0027re *not* requiring a user to have write permissions to deny\nread, which is if anything a more drastic denial.\n\nWhat was intended was to require write permissions for DENY_READ.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0a3adadee42f2865bb867b8c5f4955b7def9baad",
      "tree": "de98be9152faba8ea38bae24a7f5cce33ae99148",
      "parents": [
        "ea4878a24d7e6a467d369b962bab95bd6a12cbe0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 04 18:12:35 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 13 13:23:02 2009 -0500"
      },
      "message": "nfsd: make fs/nfsd/vfs.h for common includes\n\nNone of this stuff is used outside nfsd, so move it out of the common\nlinux include directory.\n\nActually, probably none of the stuff in include/linux/nfsd/nfsd.h really\nbelongs there, so later we may remove that file entirely.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a06b1261bdb580b35967d0e055d1ab131b332254",
      "tree": "7ce3f00974741f29dcb815f427c242fe3384ca62",
      "parents": [
        "468de9e54a900559b55aa939a4daeaea1915e572"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 31 15:16:11 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 01 20:00:17 2009 -0400"
      },
      "message": "NFSD: Fix a bug in the NFSv4 \u0027supported attrs\u0027 mandatory attribute\n\nThe fact that the filesystem doesn\u0027t currently list any alternate\nlocations does _not_ imply that the fs_locations attribute should be\nmarked as \"unsupported\".\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "abfabf8cafa60e7876a7193fb344f739f690071d",
      "tree": "1cc9faa1a82d7ac7ef08bdb8af7acb8a30c9903d",
      "parents": [
        "c8647947f8c13ee2647505debae284ab1c859e65"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jul 23 19:02:18 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 28 16:12:34 2009 -0400"
      },
      "message": "nfsd41: encode replay sequence from the slot values\n\nThe sequence operation is not cached; always encode the sequence operation on\na replay from the slot table and session values. This simplifies the sessions\nreplay logic in nfsd4_proc_compound.\n\nIf this is a replay of a compound that was specified not to be cached, return\nNFS4ERR_RETRY_UNCACHED_REP.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c8647947f8c13ee2647505debae284ab1c859e65",
      "tree": "8a8ae32fde3994a7b364b8caa0dd59fcae8d271d",
      "parents": [
        "49557cc74c7bdf6a984be227ead9a84b3a26f053"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jul 23 19:02:17 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 28 14:30:36 2009 -0400"
      },
      "message": "nfsd41: rename nfsd4_enc_uncached_replay\n\nThis function is only used for SEQUENCE replay.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49557cc74c7bdf6a984be227ead9a84b3a26f053",
      "tree": "796abd9b62301d16f3307dacd0b21e47b79622b1",
      "parents": [
        "88e588d56a2f0226a34386b94a03fda97d2b8e67"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jul 23 19:02:16 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 28 14:30:29 2009 -0400"
      },
      "message": "nfsd41: Use separate DRC for setclientid\n\nInstead of trying to share the generic 4.1 reply cache code for the\nCREATE_SESSION reply cache, it\u0027s simpler to handle CREATE_SESSION\nseparately.\n\nThe nfs41 single slot clientid DRC holds the results of create session\nprocessing.  CREATE_SESSION can be preceeded by a SEQUENCE operation\n(an embedded CREATE_SESSION) and the create session single slot cache must be\nmaintained.  nfsd4_replay_cache_entry() and nfsd4_store_cache_entry() do not\nimplement the replay of an embedded CREATE_SESSION.\n\nThe clientid DRC slot does not need the inuse, cachethis or other fields that\nthe multiple slot session cache uses.  Replace the clientid DRC cache struct\nnfs4_slot cache with a new nfsd4_clid_slot cache.  Save the xdr struct\nnfsd4_create_session into the cache at the end of processing, and on a replay,\nreplace the struct for the replay request with the cached version all while\nunder the state lock.\n\nnfsd4_proc_compound will handle both the solo and embedded CREATE_SESSION case\nvia the normal use of encode_operation.\n\nErrors that do not change the create session cache:\nA create session NFS4ERR_STALE_CLIENTID error means that a client record\n(and associated create session slot) could not be found and therefore can\u0027t\nbe changed.  NFSERR_SEQ_MISORDERED errors do not change the slot cache.\n\nAll other errors get cached.\n\nRemove the clientid DRC specific check in nfs4svc_encode_compoundres to\nput the session only if cstate.session is set which will now always be true.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9208faf297dddfa97a86d7224b6bf94f2e346dd9",
      "tree": "c93d67a14b2a12b77bec058df5510530d333bfc6",
      "parents": [
        "5a421ce3c062a87db0a9e7f2a0a7ee0a5b869aab"
      ],
      "author": {
        "name": "Yu Zhiguo",
        "email": "yuzg@cn.fujitsu.com",
        "time": "Mon Jul 06 17:24:16 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 14 12:16:47 2009 -0400"
      },
      "message": "NFSv4: ACL in operations \u0027open\u0027 and \u0027create\u0027 should be used\n\nACL in operations \u0027open\u0027 and \u0027create\u0027 is decoded but never be used.\nIt should be set as the initial ACL for the object according to RFC3530.\nIf error occurs when setting the ACL, just clear the ACL bit in the\nreturned attr bitmap.\n\nSigned-off-by: Yu Zhiguo \u003cyuzg@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0a93a47f042c459f0f46942c3a920e3c81878031",
      "tree": "9204c71810c955114ce4e6f73bdbf70d6b0dcc59",
      "parents": [
        "3c8e03166ae234d16e7871f8009638e0946d303c"
      ],
      "author": {
        "name": "Yu Zhiguo",
        "email": "yuzg@cn.fujitsu.com",
        "time": "Tue May 19 14:09:54 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 01 18:09:20 2009 -0400"
      },
      "message": "NFSv4: kill off complicated macro \u0027PROC\u0027\n\nJ. Bruce Fields wrote:\n...\n\u003e (This is extremely confusing code to track down: note that\n\u003e proc-\u003epc_decode is set to nfs4svc_decode_compoundargs() by the PROC()\n\u003e macro at the end of fs/nfsd/nfs4proc.c.  Which means, for example, that\n\u003e grepping for nfs4svc_decode_compoundargs() gets you nowhere.  Patches to\n\u003e kill off that macro would be welcomed....)\n\nthe macro \u0027PROC\u0027 is complicated and obscure, it had better\nbe killed off in order to make the code more clear.\n\nSigned-off-by: Yu Zhiguo \u003cyuzg@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3c8e03166ae234d16e7871f8009638e0946d303c",
      "tree": "810556f219d4a98fa1ba71b43ec9c34847b57d93",
      "parents": [
        "1dbd0d53f394cd9a86fc801dd68fdbcbcdb45718"
      ],
      "author": {
        "name": "Yu Zhiguo",
        "email": "yuzg@cn.fujitsu.com",
        "time": "Sat May 16 16:22:31 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 01 18:01:54 2009 -0400"
      },
      "message": "NFSv4: do exact check about attribute specified\n\nServer should return NFS4ERR_ATTRNOTSUPP if an attribute specified is\nnot supported in current environment.\nOperations CREATE, NVERIFY, OPEN, SETATTR and VERIFY should do this check.\n\nThis bug is found when do newpynfs tests. The names of the tests that failed\nare following:\n  CR12 NVF7a NVF7b NVF7c NVF7d NVF7f NVF7r NVF7s\n  OPEN15 VF7a VF7b VF7c VF7d VF7f VF7r VF7s\n\nAdd function do_check_fattr() to do exact check:\n1, Check attribute specified is supported by the NFSv4 server or not.\n2, Check FATTR4_WORD0_ACL \u0026 FATTR4_WORD0_FS_LOCATIONS are supported\n   in current environment or not.\n3, Check attribute specified is writable or not.\n\nstep 1 and 3 are done in function nfsd4_decode_fattr() but removed\nto this function now.\n\nSigned-off-by: Yu Zhiguo \u003cyuzg@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "79fb54abd285b442e1f30f851902f3ddf58e7704",
      "tree": "93c8278368e7f6328e1cfa695ce96d5c95f3e338",
      "parents": [
        "8c18f2052e756e7d5dea712fc6e7ed70c00e8a39"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:29:17 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:23 2009 -0700"
      },
      "message": "nfsd41: CREATE_EXCLUSIVE4_1\n\nImplement the CREATE_EXCLUSIVE4_1 open mode conforming to\nhttp://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26\n\nThis mode allows the client to atomically create a file\nif it doesn\u0027t exist while setting some of its attributes.\n\nIt must be implemented if the server supports persistent\nreply cache and/or pnfs.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7e70570647827345352cf6c17461c9fa166f570a",
      "tree": "a200662bb68cd9a1396c365a47b50e46f0ea9f73",
      "parents": [
        "95ec28cda323104bbff64fc7ec8ee4c9042e51fa"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:29:11 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:23 2009 -0700"
      },
      "message": "nfsd41: support for 3-word long attribute bitmask\n\nAlso, use client minorversion to generate supported attrs\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "95ec28cda323104bbff64fc7ec8ee4c9042e51fa",
      "tree": "bde294959fdf288cd69e0f6f33570f62ec57dcbf",
      "parents": [
        "c0d6fc8a2d55a8235c301aeb6d5254d5992895d1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:29:08 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:22 2009 -0700"
      },
      "message": "nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify\n\n_nfsd4_verify currently skips 3 words from the encoded buffer begining.\nWith support for 3-word attr bitmaps in nfsd41, nfsd4_encode_fattr\nmay encode 1, 2, or 3 words, and not always 2 as it used to be, hence\nwe need to find out where to skip using the encoded bitmap length.\n\nNote: This patch may be applied over pre-nfsd41 nfsd.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8daf220a6a83c47b9648c28bb819c14c60bad7f9",
      "tree": "e762cf2c8f0b31dac96989ac14c4cc8756e1af1d",
      "parents": [
        "84459a1162801fb84734e5f9e6dc5194f791d69b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:59 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:21 2009 -0700"
      },
      "message": "nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions\n\nSupport enabling and disabling nfsv4.1 via /proc/fs/nfsd/versions\nby writing the strings \"+4.1\" or \"-4.1\" correspondingly.\n\nUse user mode nfs-utils (rpc.nfsd option) to enable.\nThis will allow us to get rid of CONFIG_NFSD_V4_1\n\n[nfsd41: disable support for minorversion by default]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d87a8ade95288f28c729e076cd74929f3f199b6c",
      "tree": "700a10f87def9db1c9657f2f7a61286bc06c8d03",
      "parents": [
        "60adfc50de3855628dea8f8896a65f471f51301c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:53 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:21 2009 -0700"
      },
      "message": "nfsd41: access_valid\n\nFor nfs41, the open share flags are used also for\ndelegation \"wants\" and \"signals\".  Check that they are valid.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "60adfc50de3855628dea8f8896a65f471f51301c",
      "tree": "56b0b32f5c46cee80128ffaec1ac41588a821673",
      "parents": [
        "496c262cf01106a546ffb7df6fea84b8b881ee19"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:50 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:20 2009 -0700"
      },
      "message": "nfsd41: clientid handling\n\nExtract the clientid from sessionid to set the op_clientid on open.\nVerify that the clid for other stateful ops is zero for minorversion !\u003d 0\nDo all other checks for stateful ops without sessions.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixed whitespace indent]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41 remove sl_session from nfsd4_open]\nSigned-off-by: Andy Adamson \u003candros@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": "6668958fac1d05f55420de702f3678d46c1e93a5",
      "tree": "2ee7fe01bb6720ecb1147c5c7f7e3d0289fc71bb",
      "parents": [
        "dd453dfd70538cadc02cb47ff8d8cfd0cb8cf435"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:45 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd41: stateid handling\n\nWhen sessions are used, stateful operation sequenceid and stateid handling\nare not used. When sessions are used,  on the first open set the seqid to 1,\nmark state confirmed and skip seqid processing.\n\nWhen sessionas are used the stateid generation number is ignored when it is zero\nwhereas without sessions bad_stateid or stale stateid is returned.\n\nAdd flags to propagate session use to all stateful ops and down to\ncheck_stateid_generation.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[nfsd4_has_session should return a boolean, not u32]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: pass nfsd4_compoundres * to nfsd4_process_open1]\n[nfsd41: calculate HAS_SESSION in nfs4_preprocess_stateid_op]\n[nfsd41: calculate HAS_SESSION in nfs4_preprocess_seqid_op]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd453dfd70538cadc02cb47ff8d8cfd0cb8cf435",
      "tree": "c55174fec4f6c7ddd803a598bcd755ec87e7ff0e",
      "parents": [
        "e10e0cfc2f27364c73b28adbd3c8688d97049e73"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:41 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op\n\nCurrently we only use cstate-\u003ecurrent_fh,\nwill also be used by nfsd41 code.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bf864a31d50e3e94d6e76537b97d664913906ff8",
      "tree": "8de829d0cdc0c88fe523fc4a288b8e16eedc6a2e",
      "parents": [
        "38eb76a54d803e6792816623651b1a9cb85f8d01"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:35 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:19 2009 -0700"
      },
      "message": "nfsd41: non-page DRC for solo sequence responses\n\nA session inactivity time compound (lease renewal) or a compound where the\nsequence operation has sa_cachethis set to FALSE do not require any pages\nto be held in the v4.1 DRC. This is because struct nfsd4_slot is already\ncaching the session information.\n\nAdd logic to the nfs41 server to not cache response pages for solo sequence\nresponses.\n\nReturn nfserr_replay_uncached_rep on the operation following the sequence\noperation when sa_cachethis is FALSE.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use cstate session in nfsd4_replay_cache_entry]\n[nfsd41: rename nfsd4_no_page_in_cache]\n[nfsd41 rename nfsd4_enc_no_page_replay]\n[nfsd41 nfsd4_is_solo_sequence]\n[nfsd41 change nfsd4_not_cached return]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[changed return type to bool]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41 drop parens in nfsd4_is_solo_sequence call]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[changed \"\u003d\u003d 0\" to \"!\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "da3846a2866ddf239311766ff434a82e7b4ac701",
      "tree": "c40d6c1754999f1f572f12c4fa68f281a93b040c",
      "parents": [
        "c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:22 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: nfsd DRC logic\n\nReplay a request in nfsd4_sequence.\nAdd a minorversion to struct nfsd4_compound_state.\n\nPass the current slot to nfs4svc_encode_compound res via struct\nnfsd4_compoundres to set an NFSv4.1 DRC entry.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use bool inuse for slot state]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: use cstate session in nfs4svc_encode_compoundres]\n[nfsd41 replace nfsd4_set_cache_entry]\nSigned-off-by: Andy Adamson \u003candros@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": "f9bb94c4c60f6e1d1717077bfddb614f03a607d1",
      "tree": "7f194a6ceca40f3b66e1e0a40b5f39af426269e1",
      "parents": [
        "b85d4c01b76f6969a085d07a767fa45225cb14be"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:12 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:16 2009 -0700"
      },
      "message": "nfsd41: enforce NFS4ERR_SEQUENCE_POS operation order rules for minorversion !\u003d 0 only.\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\n[nfsd41: do not verify nfserr_sequence_pos for minorversion 0]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "069b6ad4bb20abf175ea7875e82e8002154773af",
      "tree": "e3a933d4c7f0444d29f9266fc5aa77f6e87f5a69",
      "parents": [
        "2db134eb3b39faefc7fbfb200156d175edba2f68"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:58 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:14 2009 -0700"
      },
      "message": "nfsd41: proc stubs\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2f425878b6a71571341dcd3f9e9d1a6f6355da9c",
      "tree": "52735958c1614458bd6b459040f977dfc3c3e9a9",
      "parents": [
        "20766016329eb4985c2c8b2a1b2333e0f865fdf9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:32 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfsd: don\u0027t use the deferral service, return NFS4ERR_DELAY\n\nOn an NFSv4.1 server cache miss that causes an upcall, NFS4ERR_DELAY will be\nreturned. It is up to the NFSv4.1 client to resend only the operations that\nhave not been processed.\n\nInitialize rq_usedeferral to 1 in svc_process(). It sill be turned off in\nnfsd4_proc_compound() only when NFSv4.1 Sessions are used.\n\nNote: this isn\u0027t an adequate solution on its own. It\u0027s acceptable as a way\nto get some minimal 4.1 up and working, but we\u0027re going to have to find a\nway to avoid returning DELAY in all common cases before 4.1 can really be\nconsidered ready.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse rq_nodeferral negative logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: initialize rq_usedeferral]\nSigned-off-by: Andy Adamson \u003candros@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": "20766016329eb4985c2c8b2a1b2333e0f865fdf9",
      "tree": "14c9feb06899a2c5db58d3e7914cc2450c5e0e1f",
      "parents": [
        "e354d571bb481f1d71f2c3004b9ff570b32e83bd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sat Mar 28 11:32:05 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 30 17:03:11 2009 -0400"
      },
      "message": "nfsd: remove nfsd4_ops array size\n\nThere\u0027s no need for it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e354d571bb481f1d71f2c3004b9ff570b32e83bd",
      "tree": "f55f172d7412c0853187f8cb3c2e1a9fdce4d411",
      "parents": [
        "42d671c78f6486c932b68a50f88768c7b4e57ebf"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Mar 28 11:30:52 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Mar 29 16:20:12 2009 -0400"
      },
      "message": "nfsd: embed nfsd4_current_state in nfsd4_compoundres\n\nRemove the allocation of struct nfsd4_compound_state.\n\nSigned-off-by: Andy Adamson \u003candros@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": "5cb031b0afddad73ea4191c9f0b76d20ca447dc0",
      "tree": "74026ee23585761839ce703003e19587f2b9dbd9",
      "parents": [
        "05f4f678b0511a24795a017b5332455077be3b1c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Mar 14 16:38:41 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:41 2009 -0400"
      },
      "message": "nfsd4: remove redundant check from nfsd4_open\n\nNote that we already checked for this invalid case at the top of this\nfunction.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a1c8c4d1ff54c6c86930ee3c4c73c69eeb9ede61",
      "tree": "682e078f8978bee53c69e68accd7cae3bb4867ef",
      "parents": [
        "31dec2538e45e9fff2007ea1f4c6bae9f78db724"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 09 12:17:29 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:40 2009 -0400"
      },
      "message": "nfsd4: support putpubfh operation\n\nCurrently putpubfh returns NFSERR_OPNOTSUPP, which isn\u0027t actually\nallowed for v4.  The right error is probably NFSERR_NOTSUPP.\n\nBut let\u0027s just implement it; though rarely seen, it can be used by\nSolaris (with a special mount option), is mandated by the rfc, and is\ntrivial for us to support.\n\nThanks to Yang Hongyang for pointing out the original problem, and to\nMike Eisler, Tom Talpey, Trond Myklebust, and Dave Noveck for further\nargument....\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "31dec2538e45e9fff2007ea1f4c6bae9f78db724",
      "tree": "c2b42679c73c1c6f31312f38a1b1d049e918d635",
      "parents": [
        "1e685ec270cb97680be4eb8cf6b615f5f7f1403a"
      ],
      "author": {
        "name": "David Shaw",
        "email": "dshaw@jabberwocky.com",
        "time": "Thu Mar 05 20:16:14 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:40 2009 -0400"
      },
      "message": "Short write in nfsd becomes a full write to the client\n\nIf a filesystem being written to via NFS returns a short write count\n(as opposed to an error) to nfsd, nfsd treats that as a success for\nthe entire write, rather than the short count that actually succeeded.\n\nFor example, given a 8192 byte write, if the underlying filesystem\nonly writes 4096 bytes, nfsd will ack back to the nfs client that all\n8192 bytes were written.  The nfs client does have retry logic for\nshort writes, but this is never called as the client is told the\ncomplete write succeeded.\n\nThere are probably other ways it could happen, but in my case it\nhappened with a fuse (filesystem in userspace) filesystem which can\nrather easily have a partial write.\n\nHere is a patch to properly return the short write count to the\nclient.\n\nSigned-off-by: David Shaw \u003cdshaw@jabberwocky.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6150ef0dc7f734366d297e2eb5697ae458a1ea19",
      "tree": "0a11653b66953b808d2a1a98dc8da0f649c875f3",
      "parents": [
        "7e0f7cf582abd6c85232331dfe726a4e4b0fd98e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Feb 21 13:36:16 2009 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:37 2009 -0400"
      },
      "message": "nfsd4: remove unused CHECK_FH flag\n\nAll users now pass this, so it\u0027s meaningless.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a4773c08f2872626cb923433284488fbe8acb0ae",
      "tree": "772342b775cef615b19060158900981e0985ff9f",
      "parents": [
        "13024b7b4097d33fe6bba34b1c83602e88753270"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:23:10 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 filehandles for replay\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "13024b7b4097d33fe6bba34b1c83602e88753270",
      "tree": "695a3ac01b109b26fcf189ec88c38e07671629b7",
      "parents": [
        "99f88726381f676bba6e7dcf74b7412857d7946a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 17:04:03 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:49 2009 -0400"
      },
      "message": "nfsd4: fix misplaced comment\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99f88726381f676bba6e7dcf74b7412857d7946a",
      "tree": "17bd2f5a3da71b538e922f06434485b3ca369a69",
      "parents": [
        "686665619e4424b4f80c3a49e3e1229f27ea565c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 02 15:12:27 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:30:48 2009 -0400"
      },
      "message": "nfsd: clarify exclusive create bitmask result.\n\nThe use of |\u003d is confusing--the bitmask is always initialized to zero in\nthis case, so we\u0027re effectively just doing an assignment here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0407717d8587f60003f4904bff27650cd836c00c",
      "tree": "5e06a8ecf42e10e44d05d4b4036d17efec1a9486",
      "parents": [
        "b7aeda40d3010666d2c024c80557b6aa92a1a1ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:40:49 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: dprint each op status in nfsd4_proc_compound\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "af558e33bedab672f5cfd3260bce7445e353fe21",
      "tree": "eb89187b6c12640a00584bd35be035ba332e4af3",
      "parents": [
        "d5b337b4877f7c4e1d761434ee04d045b0201e03"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Sep 06 12:34:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 03 16:19:02 2008 -0400"
      },
      "message": "nfsd: common grace period control\n\nRewrite grace period code to unify management of grace period across\nlockd and nfsd.  The current code has lockd and nfsd cooperate to\ncompute a grace period which is satisfactory to them both, and then\nindividually enforce it.  This creates a slight race condition, since\nthe enforcement is not coordinated.  It\u0027s also more complicated than\nnecessary.\n\nHere instead we have lockd and nfsd each inform common code when they\nenter the grace period, and when they\u0027re ready to leave the grace\nperiod, and allow normal locking only after both of them are ready to\nleave.\n\nWe also expect the locks_start_grace()/locks_end_grace() interface here\nto be simpler to build on for future cluster/high-availability work,\nwhich may require (for example) putting individual filesystems into\ngrace, or enforcing grace periods across multiple cluster nodes.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c228c24bf1138d4757dbe20615df655815446da3",
      "tree": "97ee91f5a0eb5f3944f20c3d147a6b3de2d279ab",
      "parents": [
        "24b8b44780a2c53ecb738f4a1c08d114f5eda27c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Aug 21 08:42:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 01 14:17:48 2008 -0400"
      },
      "message": "nfsd: fix compound state allocation error handling\n\nMove the cstate_alloc call so that if it fails, the response is setup to\nencode the NFS error. The out label now means that the\nnfsd4_compound_state has not been allocated.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f1c7f79b6ab4f7ada002a0fae47f462ede6b6857",
      "tree": "dda50f0c190aa959b56def945db6301316fea548",
      "parents": [
        "f2d7499be1b1fe1cd8a5e6a01c1f44173894a241"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Aug 08 19:26:42 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 08 11:22:19 2008 -0700"
      },
      "message": "[NFSD] uninline nfsd4_op_name()\n\nThere doesn\u0027t seem to be a compelling reason why nfsd4_op_name() is\nmarked as \"inline\":\n\nIt\u0027s only used in a dprintk(), and as long as it has only one caller\nnon-ancient gcc versions anyway inline it automatically.\n\nThis patch fixes the following compile error with gcc 3.4:\n\n  ...\n    CC      fs/nfsd/nfs4proc.o\n  nfs4proc.c: In function `nfsd4_proc_compound\u0027:\n  nfs4proc.c:854: sorry, unimplemented: inlining failed in call to\n  nfs4proc.c:897: sorry, unimplemented: called from here\n  make[3]: *** [fs/nfsd/nfs4proc.o] Error 1\n\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n[ Also made it \"const char *\"  - Linus]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b001a1b6aa960949a24c2cdc28257dfcc9428d74",
      "tree": "8d60006778f3cbfdd88c57bbca83661c9b82d05a",
      "parents": [
        "f2feb96bc3d18e50cab7de9eab142f99d91aa5f6"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jul 02 11:15:03 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 02 19:03:19 2008 -0400"
      },
      "message": "nfsd: dprint operation names\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8837abcab3d16608bd2c7fac051a839d48f2f30c",
      "tree": "d29865adb4292ff437a9a68b2c09aca9d56f2468",
      "parents": [
        "599eb3046a1380f31c65715f3940184c531c90cb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jun 16 13:20:29 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:50 2008 -0400"
      },
      "message": "nfsd: rename MAY_ flags\n\nRename nfsd_permission() specific MAY_* flags to NFSD_MAY_* to make it\nclear, that these are not used outside nfsd, and to avoid name and\nnumber space conflicts with the VFS.\n\n[comment from hch: rename MAY_READ, MAY_WRITE and MAY_EXEC as well]\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3b12cd9862d5f560031d90bda78952ab55e36b24",
      "tree": "a14b023787ff662b8c29b4946f650ae428ac4493",
      "parents": [
        "b55e0ba19cd2d83317a7f1dbb626080951442ab3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon May 05 17:17:44 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:48 2008 -0400"
      },
      "message": "nfsd: add dprintk of compound return\n\nWe already print each operation of the compound when debugging is turned\non; printing the result could also help with remote debugging.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "18f335aff86913de3c76f88d32c8135c1da62ce6",
      "tree": "bf541547b9774137a161d200bace04ad152e80e3",
      "parents": [
        "9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:38 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:15 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for xattr_permission() callers\n\nThis basically audits the callers of xattr_permission(), which calls\npermission() and can perform writes to the filesystem.\n\n[AV: add missing parts - removexattr() and nfsd posix acls, plug for a leak\nspotted by Miklos]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2fdada03b3876ab9f84ede160f187e888cafefb4",
      "tree": "4fb687764c83d63083261f079695627003c22dd9",
      "parents": [
        "599e0a2290b22d959c7748bda83da3614187a299"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 27 16:10:37 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: demote some printk()s to dprintk()s\n\nTo quote a recent mail from Andrew Morton:\n\n\tLook: if there\u0027s a way in which an unprivileged user can trigger\n\ta printk we fix it, end of story.\n\nOK.  I assume that goes double for printk()s that might be triggered by\nrandom hosts on the internet.  So, disable some printk()s that look like\nthey could be triggered by malfunctioning or malicious clients.  For\nnow, just downgrade them to dprintk()s.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "749997e5127a1df6b68a10c686af3f5b819a41a2",
      "tree": "73ca2d3c6b90de172c777dec052cfa83898e6db9",
      "parents": [
        "421cee293587081efef165b137514884b8472565"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 31 00:37:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "knfsd: set the response bitmask for NFS4_CREATE_EXCLUSIVE\n\nRFC 3530 says:\n\n If the server uses an attribute to store the exclusive create verifier, it\n will signify which attribute by setting the appropriate bit in the attribute\n mask that is returned in the results.\n\nLinux uses the atime and mtime to store the verifier, but sends a zeroed out\nbitmask back to the client.  This patch makes sure that we set the correct\nbits in the bitmask in this situation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: 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": "dcb488a3b7ac3987e21148f44f641c9b2e734232",
      "tree": "edc9fe889094768068d8ea8c214076e40313a297",
      "parents": [
        "ae4c40b1d81f5299c04330306736b2f0f0539f4b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: implement secinfo\n\nImplement the secinfo operation.\n\n(Thanks to Usha Ketineni wrote an earlier version of this support.)\n\nCc: Usha Ketineni \u003cuketinen@us.ibm.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\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": "df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7",
      "tree": "ff0b523096d135562dd979af4864ad6846a359c7",
      "parents": [
        "e677bfe4d451f8271986a229270c6eecd1f62b3f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: simplify exp_pseudoroot arguments\n\nWe\u0027re passing three arguments to exp_pseudoroot, two of which are just fields\nof the svc_rqst.  Soon we\u0027ll want to pass in a third field as well.  So let\u0027s\njust give up and pass in the whole struct svc_rqst.\n\nAlso sneak in some minor style cleanups while we\u0027re at it.\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": "27d630ece08ae15e35d54201665c247a9fae584c",
      "tree": "f679628de2d82d809303d1ca838afececed4ebaf",
      "parents": [
        "eeac294ebd9254a937d90b00c48863e3af229047"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: simplify filehandle check\n\nKill another big \"if\" clause.\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": "eeac294ebd9254a937d90b00c48863e3af229047",
      "tree": "488ef0b8e4bb656423c03461ec1d4087c383c9b5",
      "parents": [
        "b591480bbe1a7f0e90533bce8ea86efecc84648e"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: simplify migration op check\n\nI\u0027m not too fond of these big if conditions.  Replace them by checks of a flag\nin the operation descriptor.  To my eye this makes the code a bit more\nself-documenting, and makes the complicated part of the code (proc_compound) a\nlittle more compact.\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": "b591480bbe1a7f0e90533bce8ea86efecc84648e",
      "tree": "43d75e2978ecf85bab894ec6afce8cc06c5480c1",
      "parents": [
        "c954e2a5d1c9662991a41282297ddebcadee0578"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: reorganize compound ops\n\nDefine an op descriptor struct, use it to simplify nfsd4_proc_compound().\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": "c954e2a5d1c9662991a41282297ddebcadee0578",
      "tree": "21d3a470d6f76365a27224926e218da788d16b04",
      "parents": [
        "7191155bd3abbbf62368a0528f7610741d007a58"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: make verify and nverify wrappers\n\nMake wrappers for verify and nverify, for consistency with other ops.\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": "7191155bd3abbbf62368a0528f7610741d007a58",
      "tree": "9f4b2e6306184f5c77d9284356b3056a6640338b",
      "parents": [
        "a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: don\u0027t inline nfsd4 compound op functions\n\nThe inlining contributes to bloating the stack of nfsd4_compound, and I want\nto change the compound op functions to function pointers anyway.\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": "a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf",
      "tree": "66c2bb36ac0b9da3edb13bcee77a46ab576a5e89",
      "parents": [
        "d9e626f1e23358487595c2d3901126d00f9de7e0"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: move replay_owner to cstate\n\nTuck away the replay_owner in the cstate while we\u0027re at it.\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": "d9e626f1e23358487595c2d3901126d00f9de7e0",
      "tree": "ed81307f281929d4cbf7e5c5d56168f40c72f78d",
      "parents": [
        "ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: remove spurious replay_owner check\n\nOK, this is embarassing--I\u0027ve even looked back at the history, and cannot for\nthe life of me figure out why I added this check.\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": "ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe",
      "tree": "2128accc9584e7dd69f6b62c62ef6631f5da231f",
      "parents": [
        "01f3bd1f03599470e4695392b6ae055ed8506978"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: pass saved and current fh together into nfsd4 operations\n\nPass the saved and current filehandles together into all the nfsd4 compound\noperations.\n\nI want a unified interface to these operations so we can just call them by\npointer and throw out the huge switch statement.\n\nAlso I\u0027ll eventually want a structure like this--that holds the state used\nduring compound processing--for deferral.\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": "e57101991156aaba97c630f38e880f0d4012edcd",
      "tree": "5d0a405f254e8e17663746abdc9e5a75428ecc1f",
      "parents": [
        "b797b5beac966df5c5d96c0d39fe366f57135343"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:53 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: clarify units of COMPOUND_SLACK_SPACE\n\nA comment here incorrectly states that \"slack_space\" is measured in words, not\nbytes.  Remove the comment, and adjust a variable name and a few comments to\nclarify the situation.\n\nThis is pure cleanup; there should be no change in functionality.\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": "81ac95c5569d7a60ab5db6c1ccec56c12b3ebcb5",
      "tree": "c28ac039697a462527e2aedc4f0c7575d76fbbb1",
      "parents": [
        "af85852de0b32d92b14295aa6f5ba3a9ad044cf6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Nov 08 17:44:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] nfsd4: fix open-create permissions\n\nIn the case where an open creates the file, we shouldn\u0027t be rechecking\npermissions to open the file; the open succeeds regardless of what the new\nfile\u0027s mode bits say.\n\nThis patch fixes the problem, but only by introducing yet another parameter\nto nfsd_create_v3.  This is ugly.  This will be fixed by later patches.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af85852de0b32d92b14295aa6f5ba3a9ad044cf6",
      "tree": "8288e5f06437260803accb678ccf448716fbfb5d",
      "parents": [
        "75b2bd55bd7724c727856fbdf3ab71d2e4287ac8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Nov 08 17:44:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:22 2006 -0800"
      },
      "message": "[PATCH] nfsd4: reindent do_open_lookup()\n\nMinor rearrangement, cleanup of do_open_lookup().  No change in behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a90b061c0bf712961cea40d9c916b300073d12e5",
      "tree": "74514dbfc0e7814b983ad98bef55086539248d0a",
      "parents": [
        "c7afef1f963bec198b186cc34b9e8c9b9ce2e266"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfs_replay_me\n\nWe are using NFS_REPLAY_ME as a special error value that is never leaked to\nclients.  That works fine; the only problem is mixing host- and network-\nendian values in the same objects.  Network-endian equivalent would work just\nas fine; switch to it.\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": "b37ad28bcaa7c486a4ff0fb6c3bdaaacd67b86ce",
      "tree": "17bb3677f3e63dc469b64a123a74cee0266768df",
      "parents": [
        "6264d69d7df654ca64f625e9409189a0e50734e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:42 2006 -0700"
      },
      "message": "[PATCH] nfsd: nfs4 code returns error values in net-endian\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": "2ebbc012a9433a252be7ab4ce54e94bf7b21e506",
      "tree": "daedb0484892bf3d8f7df42836de7b62391c1c3f",
      "parents": [
        "91f07168cef8e99dd16f608fbc703e7a5af0237f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: NFSv4 server\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": "7111c66e4e70588c9602035a4996c9cdc2087d2d",
      "tree": "1fbd19547470c9d776c6e34a547eb181b5d4fe5f",
      "parents": [
        "cc45f0175088e000ac7493e5e3f05579b6f7d240"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:40 2006 -0700"
      },
      "message": "[PATCH] fix svc_procfunc declaration\n\nsvc_procfunc instances return __be32, not int\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": "9801d8a39cfe6c34f39f9552a246a6bd002e735e",
      "tree": "1bc534709dc02d308532f5285b9f376ca2f2ec31",
      "parents": [
        "dc730e173785e29b297aa605786c94adaffe2544"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Oct 17 00:10:14 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 open permission checking\n\nWe weren\u0027t actually checking for SHARE_ACCESS_WRITE, with the result that the\nowner could open a non-writeable file for write!\n\nContinue to allow DENY_WRITE only with write access.\n\nThanks to Jim Rees for reporting the bug.\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": "dc730e173785e29b297aa605786c94adaffe2544",
      "tree": "3ff7089bcc454d730cbf39b5609472dfc52b56b4",
      "parents": [
        "e956edd0523b6b48ed367c63b0c82d8f4c447a58"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Oct 17 00:10:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:45 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix owner-override on open\n\nIf a client creates a file using an open which sets the mode to 000, or if a\nchmod changes permissions after a file is opened, then situations may arise\nwhere an NFS client knows that some IO is permitted (because a process holds\nthe file open), but the NFS server does not (because it doesn\u0027t know about the\nopen, and only sees that the IO conflicts with the current mode of the file).\n\nAs a hack to solve this problem, NFS servers normally allow the owner to\noverride permissions on IO.  The client can still enforce correct\npermissions-checking on open by performing an explicit access check.\n\nIn NFSv4 the client can rely on the explicit on-the-wire open instead of an\naccess check.\n\nTherefore we should not be allowing the owner to override permissions on an\nover-the-wire open!\n\nHowever, we should still allow the owner to override permissions in the case\nwhere the client is claiming an open that it already made either before a\nreboot, or while it was holding a delegation.\n\nThanks to Jim Rees for reporting the bug.\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": "42ca09938157105c1f573c831a35e9c3e02eb354",
      "tree": "61533863e1adb46016015a347c70517ae9b10d3f",
      "parents": [
        "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: actually use all the pieces to implement referrals\n\nUse all the pieces set up so far to implement referral support, allowing\nreturn of NFS4ERR_MOVED and fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\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": "3cc03b164cf01c6f36e64720b58610d292fb26f7",
      "tree": "b558e11a087945ad5b9a1a25483aa2acc8d93fbb",
      "parents": [
        "4452435948424e5322c2a2fefbdc2cf3732cc45d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom\n\n..  by allocating the array of \u0027kvec\u0027 in \u0027struct svc_rqst\u0027.\n\nAs we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer\nallocate an array of this size on the stack.  So we allocate it in \u0027struct\nsvc_rqst\u0027.\n\nHowever svc_rqst contains (indirectly) an array of the same type and size\n(actually several, but they are in a union).  So rather than waste space, we\nmove those arrays out of the separately allocated union and into svc_rqst to\nshare with the kvec moved out of svc_tcp_recvfrom (various arrays are used at\ndifferent times, so there is no conflict).\n\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": "e2b209509ca33743864846aef2e1b2afc21f7915",
      "tree": "19e7ed73049af78d6c605b326cc433034a2cd50c",
      "parents": [
        "cd6b3956e9923915da789df1c665976b5583cfb0"
      ],
      "author": {
        "name": "Shankar Anand",
        "email": "shanand@novell.com",
        "time": "Mon Jul 10 04:45:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:27 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: add per-operation server stats\n\nAdd an nfs4 operations count array to nfsd_stats structure.  The count is\nincremented in nfsd4_proc_compound() where all the operations are handled\nby the nfsv4 server.  This count of individual nfsv4 operations is also\nentered into /proc filesystem.\n\nSigned-off-by: Shankar Anand\u003cshanand@novell.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": "f0e2993e9e73e8f38b05a89c98b9db94fec2199d",
      "tree": "b7dd2e5c7284e8422966c8498bdd87e08ef5e4f8",
      "parents": [
        "54cceebb679a8d10fa382422aa2035cdc65fe7ce"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: remove nfsd_setuser from putrootfh\n\nSince nfsd_setuser() is already called from any operation that uses the\ncurrent filehandle (because it\u0027s called from fh_verify), there\u0027s no reason to\ncall it from putrootfh.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\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": "7775f4c85dcbd1175f21b2fbb7221c79ec70b722",
      "tree": "40bc57f1192d19942630d7490d50f387d533c160",
      "parents": [
        "df2487cff5e5be2877594f269b014652536d68bb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:51 2006 -0700"
      },
      "message": "[PATCH] knfsd: Correct reserved reply space for read requests.\n\nNFSd makes sure there is enough space to hold the maximum possible reply\nbefore accepting a request.  The units for this maximum is (4byte) words.\nHowever in three places, particularly for read request, the number given is\na number of bytes.\n\nThis means too much space is reserved which is slightly wasteful.\n\nThis is the sort of patch that could uncover a deeper bug, and it is not\ncritical, so it would be best for it to spend a while in -mm before going\nin to mainline.\n\n(akpm: target 2.6.17-rc2, 2.6.16.3 (approx))\n\nDiscovered-by: \"Eivind  Sarto\" \u003civan@kasenna.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cbd0d51a3318583fabf03bccc7a987e158482361",
      "tree": "62a7d1d2bb6cd9f11536c2b9873a46b81fcac2a8",
      "parents": [
        "0df420d8b6c718d9a5e37531c3a9a6804493e9f4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Feb 07 12:58:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:31 2006 -0800"
      },
      "message": "[PATCH] knfsd: fix nfs4_open lock leak\n\nI just noticed that my patch \"don\u0027t create on open that fails due to\nERR_GRACE\" (recently commited as fb553c0f17444e090db951b96df4d2d71b4f4b6b)\nhad an obvious problem that causes a deadlock on reboot recovery.  Sending\nin this now since it seems like a clear 2.6.16 candidate.--b.\n\nWe\u0027re returning with a lock held in some error cases.\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": "5274881992b8a632620f69346401da66e480a23b",
      "tree": "dc9535fb2c9f018d671f7864e1ee8c1395a6afc5",
      "parents": [
        "34081efc12aaaa12f20e5b59f3cb98ba6e27fb34"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Wed Jan 18 17:43:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:27 2006 -0800"
      },
      "message": "[PATCH] nfsd4: clean up settattr code\n\nClean up some unnecessary special-casing in the setattr code..\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\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": "fb553c0f17444e090db951b96df4d2d71b4f4b6b",
      "tree": "4eb83eab183f5dd8786aef63768a15fca1155fa6",
      "parents": [
        "0f442aa299bb47046db4077d9c122a1b539311ce"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:26 2006 -0800"
      },
      "message": "[PATCH] nfsd4: don\u0027t create on open that fails due to ERR_GRACE\n\nIn an earlier patch (commit b648330a1d741d5df8a5076b2a0a2519c69c8f41) I noted\nthat a too-early grace-period check was preventing us from bumping the\nsequence id on open.  Unfortunately in that patch I stupidly moved the\ngrace-period check back too far, so now an open for create can succesfully\ncreate the file while still returning ERR_GRACE.\n\nThe correct place for that check is after we\u0027ve set the open_owner and handled\nany replays, but before we actually start mucking with the filesystem.\n\nThanks to Avishay Traeger for reporting the bug.\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": "375c5547cbf39423078535affac66c8afdc8fafb",
      "tree": "2893ae003e8d2dc4ef6d5d1d1e6fa34656034a85",
      "parents": [
        "ae8b625313db4dd4b060962c2a02f3a2837ca61b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:26 2006 -0800"
      },
      "message": "[PATCH] nfsd4: nfs4state.c miscellaneous goto removals\n\nRemove some goto\u0027s that made the logic here a little more tortuous than\nnecessary.\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": "a525825df15221a95d4c1f5a291d9fde77ef10bc",
      "tree": "00e204fc158629b999b27f20f99412cbf5ed0c57",
      "parents": [
        "c2642ab05b855d2d3b850ddf90dbb02b1b9358ac"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:26 2006 -0800"
      },
      "message": "[PATCH] nfsd4: handle replays of failed open reclaims\n\nWe need to make sure open reclaims are marked confirmed immediately so that we\ncan handle replays even if they fail (e.g.  with a seqid-incrementing error).\n(See 8.1.8.)\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": "fd44527707f2697fd2959e8bdb321ae588d150e2",
      "tree": "8a1746a9afdc3024829002f3940ffa1e03965ccf",
      "parents": [
        "796dadfd02eda1e3e6e42ecc8379d8b1c1523ddf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:25 2006 -0800"
      },
      "message": "[PATCH] nfsd4: operation debugging\n\nSimple, useful debugging printk: print the number of each op as we process it.\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": "f2327d9adb1e948a7041128e971effd8d6e2d42c",
      "tree": "c71c0eaee80dac069b7bb4f7d2e14bcbcfee14fe",
      "parents": [
        "849823c52d9c96cf777038670bb0ee3a291ca69d"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 13 01:25:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 08:22:31 2005 -0700"
      },
      "message": "[PATCH] nfsd4: move replay_owner\n\nIt seems more natural to move the setting of the replay_owner into the\nrelevant procedure instead of doing it in nfsv4_proc_compound.\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": "b648330a1d741d5df8a5076b2a0a2519c69c8f41",
      "tree": "aa53fc54675d3c7b51aa8f86f5f8929acd0f85a3",
      "parents": [
        "0fa822e452084032b8495ca0d8e0199329847815"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:08 2005 -0700"
      },
      "message": "[PATCH] nfsd4: ERR_GRACE should bump seqid on open\n\nThe GRACE and NOGRACE errors should bump the sequence id on open.  So we delay\nthe handling of these errors until nfsd4_process_open2, at which point we\u0027ve\nset the open owner, so the encode routine will be able to bump the sequence\nid.\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": "7e06b7f9e9537cb826f3cff95816fc4384b67806",
      "tree": "b6f41e8c458756da5ccf82e075c76b1be329959b",
      "parents": [
        "46be925fa6f4796e732e16a020fa0ef9d48ea7c8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfs4: hold filp while reading or writing\n\nWe\u0027re trying to read and write from a struct file that we may not hold a\nreference to any more (since a close could be processed as soon as we drop the\nstate lock).\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": "c815afc73eeef089922449857ca4ed4d2e8950cb",
      "tree": "7cdaa0ab416d54b1966c399f61b05510b6d7c7a9",
      "parents": [
        "496400014f22c4dbdbc1e89249a2feba46939708"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: block metadata ops during grace period\n\nWe currently return err_grace if a user attempts a non-reclaim open during the\ngrace period.  But we also need to prevent renames and removes, at least, to\nensure clients have the chance to recover state on files before they are moved\nor deleted.\n\nOf course, local users could also do renames and removes during the lease\nperiod, and there\u0027s not much we can do about that.  This at least will help\nwith remote users.\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": "0dd3c19212961453817f219cd6200981c38564bc",
      "tree": "dca7cbaf25a0f114a1b8475e935f33272762d273",
      "parents": [
        "c44c5eeb2c022ddac98a8543c08dc8ff820561dc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: support CLAIM_DELEGATE_CUR\n\nAdd OPEN claim type NFS4_OPEN_CLAIM_DELEGATE_CUR to nfsd4_open().\n\nA delegation stateid and a name are provided.  OPEN with O_CREAT is not legal\nwith this claim type; otherwise, use the NFS4_OPEN_CLAIM_NULL code path to\nlookup the filename to be opened.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\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": "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"
    }
  ]
}
