)]}'
{
  "log": [
    {
      "commit": "73aea4ecd38ebeff9e322f738057f4ae2c32a3ee",
      "tree": "cabc00b17b3f96854cd818ea7e26734ac855843c",
      "parents": [
        "b59e3c0e172e3f3a147021aa16b929482b8d5846"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 13 01:25:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 08:22:32 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix setclientid unlock of unlocked state lock\n\nWe could try to unlock the state lock here without having first locked 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": "b59e3c0e172e3f3a147021aa16b929482b8d5846",
      "tree": "60aec6ff8a214adfa828af8a89460aca55731d46",
      "parents": [
        "f2327d9adb1e948a7041128e971effd8d6e2d42c"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 13 01:25:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 08:22:32 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix open seqid incrementing in lock\n\nIn the case of a lock which introduces a new lockowner, the openowner\u0027s\nsequence id should be incremented, even when the operation fails, if the\nerror is a sequence-id-mutating error.  The current code fails to do that\nin some cases.  Fix this by using the same sequence-id-incrementing\nmechanism that all other such operations use.\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": "849823c52d9c96cf777038670bb0ee3a291ca69d",
      "tree": "d593c56185566e1257bf9483509c8ce5acad5ee6",
      "parents": [
        "fff71312e7227c6850f367ff9c72f96d5b33b1d0"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 13 01:25:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 08:22:31 2005 -0700"
      },
      "message": "[PATCH] nfsd4: printk reduction\n\nDemote some printk\u0027s that look like they could be triggered by non-buggy\nclients to dprintk\u0027s.  (For example, stale clientid\u0027s are normal\noccurrences on reboot, and on a server with a lot of clients these messages\ncould become annoying.)\n\nAlso remove some redundant dprintk\u0027s (e.g. no need for both STALE_CLIENTID\nand its callers to do dprintks).\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": "f35279d3f713e5c97b98cbdbf47d98f79942c11f",
      "tree": "cdf9acab7e7fda7ae1eae152861d4048b7f6dffc",
      "parents": [
        "d013a068a5675ecd8e71f585a44e7af0798a4307"
      ],
      "author": {
        "name": "Bruce Allan",
        "email": "bwa@us.ibm.com",
        "time": "Tue Sep 06 15:17:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:25 2005 -0700"
      },
      "message": "[PATCH] sunrpc: cache_register can use wrong module reference\n\nWhen registering an RPC cache, cache_register() always sets the owner as the\nsunrpc module.  However, there are RPC caches owned by other modules.  With\nthe incorrect owner setting, the real owning module can be removed potentially\nwith an open reference to the cache from userspace.\n\nFor example, if one were to stop the nfs server and unmount the nfsd\nfilesystem, the nfsd module could be removed eventhough rpc.idmapd had\nreferences to the idtoname and nametoid caches (i.e.\n/proc/net/rpc/nfs4.\u003ccachename\u003e/channel is still open).  This resulted in a\nsystem panic on one of our machines when attempting to restart the nfs\nservices after reloading the nfsd module.\n\nThe following patch adds a \u0027struct module *owner\u0027 field in struct\ncache_detail.  The owner is further assigned to the struct proc_dir_entry\nin cache_register() so that the module cannot be unloaded while user-space\ndaemons have an open reference on the associated file under /proc.\n\nSigned-off-by: Bruce Allan \u003cbwa@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: 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": "573dbd95964b01a942aa0c68e92b06f2c9536964",
      "tree": "4ada5dff2a15e1ad1edee7294d6f0d3c260987d1",
      "parents": [
        "5170dbebbb2e9159cdf6bbf35e5d79cd7009799a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "message": "[CRYPTO]: crypto_free_tfm() callers no longer need to check for NULL\n\nSince the patch to add a NULL short-circuit to crypto_free_tfm() went in,\nthere\u0027s no longer any need for callers of that function to check for NULL.\nThis patch removes the redundant NULL checks and also a few similar checks\nfor NULL before calls to kfree() that I ran into while doing the\ncrypto_free_tfm bits.\n\nI\u0027ve succesfuly compile tested this patch, and a kernel with the patch \napplied boots and runs just fine.\n\nWhen I posted the patch to LKML (and other lists/people on Cc) it drew the\nfollowing comments :\n\n J. Bruce Fields commented\n  \"I\u0027ve no problem with the auth_gss or nfsv4 bits.--b.\"\n\n Sridhar Samudrala said\n  \"sctp change looks fine.\"\n\n Herbert Xu signed off on the patch.\n\nSo, I guess this is ready to be dropped into -mm and eventually mainline.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb6f1160ddb2fdadf50f350da79d0796c37f17e2",
      "tree": "e7b048b089b4b0ec9f121eea9a7f5864999dbac3",
      "parents": [
        "64baf3cfea974d2b9e671ccfdbc03e030ea5ebc6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 01 17:43:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:43:25 2005 -0700"
      },
      "message": "[CRYPTO]: Use CRYPTO_TFM_REQ_MAY_SLEEP where appropriate\n\nThis patch goes through the current users of the crypto layer and sets\nCRYPTO_TFM_REQ_MAY_SLEEP at crypto_alloc_tfm() where all crypto operations\nare performed in process context.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4f92dba97f4e3aa757500896f87001569f4604b",
      "tree": "3af7efe2b1ae357ee151c1795dc60cfe801e8718",
      "parents": [
        "dd12f48d4e8774415b528d3991ae47c28f26e1ac"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 17 14:25:23 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 17 12:53:05 2005 -0700"
      },
      "message": "[PATCH] nfsd to unlock kernel before exiting\n\nThe nfsd holds the big kernel lock upon exit, when it really shouldn\u0027t.\nNot to mention that this breaks Ingo\u0027s RT patch. This is a trivial fix\nto release the lock.\n\nIngo, this patch also works with your kernel, and stops the problem with\nnfsd.\n\nNote, there\u0027s a \"goto out;\" where \"out:\" is right above svc_exit_thread.\nThe point of the goto also holds the kernel_lock, so I don\u0027t see any\nproblem here in releasing it.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e34ac862ee6644378bfe6ea65c2e0dda4545513d",
      "tree": "a538b6b872e3f814c1bc6df461cb64d3b4794fc8",
      "parents": [
        "4c4cd222ee329025840bc2f8cebf71d36c62440c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:11 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix fh_expire_type\n\nAfter discussion at the recent NFSv4 bake-a-thon, I realized that my\nassumption that NFS4_FH_PERSISTENT required filehandles to persist was a\nmisreading of the spec.  This also fixes an interoperability problem with the\nSolaris client.\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": "4c4cd222ee329025840bc2f8cebf71d36c62440c",
      "tree": "70d1d8e754e7ab7226a6eee6afeab8b892072600",
      "parents": [
        "3a4f98bbf481cb9f755005ac569ceb5303e1b69f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:11 2005 -0700"
      },
      "message": "[PATCH] nfsd4: check lock type against openmode.\n\nWe shouldn\u0027t be allowing, e.g., write locks on files not open for read.  To\nenforce this, we add a pointer from the lock stateid back to the open stateid\nit came from, so that the check will continue to be correct even after the\nopen is upgraded or downgraded.\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": "3a4f98bbf481cb9f755005ac569ceb5303e1b69f",
      "tree": "a3dfac239801fd5d96222f48a1f2caf59a650826",
      "parents": [
        "f8816512fcfde986326a2eb0f5a58e463d9904d8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:10 2005 -0700"
      },
      "message": "[PATCH] nfsd4: clean up nfs4_preprocess_seqid_op\n\nAs long as we\u0027re here, do some miscellaneous cleanup.\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": "f8816512fcfde986326a2eb0f5a58e463d9904d8",
      "tree": "3f79b8c23a393c119e0de31294c2843d7bd3b01e",
      "parents": [
        "52fd004e296ac07cde820af9e3139d47dda03cf8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:10 2005 -0700"
      },
      "message": "[PATCH] nfsd4: clarify close_lru handling\n\nThe handling of close_lru in preprocess_stateid_op was a source of some\nconfusion here recently.  Try to make the logic a little clearer, by renaming\nfind_openstateowner_id to make its purpose clearer and untangling some\nunnecessarily complicated goto\u0027s.\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": "52fd004e296ac07cde820af9e3139d47dda03cf8",
      "tree": "1ded0ee9f0f3df0a268a09ef6873c8ae2a75cbff",
      "parents": [
        "b700949b781480819e53bdc38a53f053226dd75e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: renew lease on seqid modifying operations\n\nnfs4_preprocess_seqid_op is called by NFSv4 operations that imply an implicit\nrenewal of the client lease.\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": "b700949b781480819e53bdc38a53f053226dd75e",
      "tree": "1e09ac2b3e4c39e7167d4780f21ebaa416a1092a",
      "parents": [
        "444c2c07c2d7a6936d1381d381ab80e3f5541427"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: return better error on io incompatible with open mode\n\nfrom RFC 3530:\n\"Share reservations are established by OPEN operations and by their\nnature are mandatory in that when the OPEN denies READ or WRITE\noperations, that denial results in such operations being rejected\nwith error NFS4ERR_LOCKED.\"\n\n(Note that share_denied is really only a legal error for OPEN.)\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": "444c2c07c2d7a6936d1381d381ab80e3f5541427",
      "tree": "b4dc8b6ccc33208b39d01b8505c4a759b6ebdf7b",
      "parents": [
        "e66770cd7b0c36f28a2f6eb0957c0575ac8b3787"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: always update stateid on open\n\nAn OPEN from the same client/open stateowner requires a stateid update because\nof the share/deny access update.\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": "e66770cd7b0c36f28a2f6eb0957c0575ac8b3787",
      "tree": "ee5bcf1ac04eac19c72fad96863bc7b0327a3f47",
      "parents": [
        "7fb64cee34f5dc743f697041717cafda8a94b5ac"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: relax new lock seqid check\n\nWe\u0027re insisting that the lock sequence id field passed in the\nopen_to_lockowner struct always be zero.  This is probably thanks to the\nsentence in rfc3530: \"The first request issued for any given lock_owner is\nissued with a sequence number of zero.\"\n\nBut there doesn\u0027t seem to be any problem with allowing initial sequence\nnumbers other than zero.  And currently this is causing lock reclaims from the\nLinux client to fail.\n\nIn the spirit of \"be liberal in what you accept, conservative in what you\nsend\", we\u0027ll relax the check (and patch the Linux client as well).\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": "7fb64cee34f5dc743f697041717cafda8a94b5ac",
      "tree": "5b4e7b67cff7d64a46024036d0033f0d3e05b857",
      "parents": [
        "bd9aac523b812d58e644fde5e59f5697fb9e3822"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: seqid comments\n\nAdd some comments on the use of so_seqid, in an attempt to avoid some of the\nconfusion outlined in the previous patch....\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": "bd9aac523b812d58e644fde5e59f5697fb9e3822",
      "tree": "a3adb8ac833a8e776cca8df91e96f85aa28e81c6",
      "parents": [
        "893f87701c9e5bd5610dfbb3f8bf1135f86d85cb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:09 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix open_reclaim seqid\n\nThe sequence number we store in the sequence id is the last one we received\nfrom the client.  So on the next operation we\u0027ll check that the client gives\nus the next higher number.\n\nWe increment sequence id\u0027s at the last moment, in encode, so that we\u0027re sure\nof knowing the right error return.  (The decision to increment the sequence id\ndepends on the exact error returned.)\n\nHowever on the *first* use of a sequence number, if we set the sequence number\nto the one received from the client and then let the increment happen on\nencode, we\u0027ll be left with a sequence number one to high.\n\nFor that reason, ENCODE_SEQID_OP_TAIL only increments the sequence id on\n*confirmed* stateowners.\n\nThis creates a problem for open reclaims, which are confirmed on first use.\nTherefore the open reclaim code, as a special exception, *decrements* the\nsequence id, cancelling out the undesired increment on encode.  But this\nprevents the sequence id from ever being incremented in the case where\nmultiple reclaims are sent with the same openowner.  Yuch!\n\nWe could add another exception to the open reclaim code, decrementing the\nsequence id only if this is the first use of the open owner.\n\nBut it\u0027s simpler by far to modify the meaning of the op_seqid field: instead\nof representing the previous value sent by the client, we take op_seqid, after\nencoding, to represent the *next* sequence id that we expect from the client.\nThis eliminates the need for special-case handling of the first use of a\nstateowner.\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": "893f87701c9e5bd5610dfbb3f8bf1135f86d85cb",
      "tree": "ee2de8fd627624cedc0c0e7067dd4892e160db67",
      "parents": [
        "375151773125f56b7f6d798d914ea469256b330b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:08 2005 -0700"
      },
      "message": "[PATCH] nfsd4: comment indentation\n\nYeah, it\u0027s trivial, but this drives me up the wall....\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": "375151773125f56b7f6d798d914ea469256b330b",
      "tree": "2bc6c0d8d2a075b9daa2aa7dca440f572c566629",
      "parents": [
        "0dd395dc76071a06eea39839cc946c1241af3650"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:08 2005 -0700"
      },
      "message": "[PATCH] nfsd4: stop overusing RECLAIM_BAD\n\nA misreading of the spec lead us to convert all errors on open and lock\nreclaims to RECLAIM_BAD.  This causes problems--for example, a reboot within\nthe grace period could lead to reclaims with stale stateid\u0027s, and we\u0027d like to\nreturn STALE errors in those cases.\n\nWhat rfc3530 actually says about RECLAIM_BAD: \"The reclaim provided by the\nclient does not match any of the server\u0027s state consistency checks and is\nbad.\" I\u0027m assuming that \"state consistency checks\" refers to checks for\nconsistency with the state recorded to stable storage, and that the error\nshould be reserved for that case.\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": "0dd395dc76071a06eea39839cc946c1241af3650",
      "tree": "f4b9b8b013dfebcba296f1f8145f8535521db3ae",
      "parents": [
        "b648330a1d741d5df8a5076b2a0a2519c69c8f41"
      ],
      "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 lock\n\nA GRACE or NOGRACE response to a lock request should also bump the sequence\nid.  So we delay the handling of grace period errors till after we\u0027ve found\nthe relevant owner.\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": "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": "0fa822e452084032b8495ca0d8e0199329847815",
      "tree": "5be25dc1f1222d2998a9754e5b5e26d516601b9d",
      "parents": [
        "67be431350941765e211eeed237c12def3aaba70"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:08 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix release_lockowner\n\nWe oops in list_for_each_entry(), because release_stateowner frees something\non the list we\u0027re traversing.\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": "67be431350941765e211eeed237c12def3aaba70",
      "tree": "58683397c9ab328f721d55b0d95f25e57dbcbda8",
      "parents": [
        "cdc5524e8a257b1c91dd8e4cdfbab979f4e17a60"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:08 2005 -0700"
      },
      "message": "[PATCH] nfsd4: prevent multiple unlinks of recovery directories\n\nMake sure we don\u0027t try to delete client recovery directories multiple times;\nfixes some spurious error messages.\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": "cdc5524e8a257b1c91dd8e4cdfbab979f4e17a60",
      "tree": "8db1b2c1ac28d1525f7e953e1ac5de8616da4663",
      "parents": [
        "a6ccbbb8865101d83c2e716f08feae1da1c48584"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:07 2005 -0700"
      },
      "message": "[PATCH] nfsd4: lookup_one_len takes i_sem\n\nOops, this lookup_one_len needs the i_sem.\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": "a6ccbbb8865101d83c2e716f08feae1da1c48584",
      "tree": "0b55b0673704dcae39d614cb1495cf47590628fb",
      "parents": [
        "463090294e1e460cf97f5ade376d4b1e62bc5263"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:07 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix sync\u0027ing of recovery directory\n\nWe need to fsync the recovery directory after writing to it, but we weren\u0027t\ndoing this correctly.  (For example, we weren\u0027t taking the i_sem when calling\n-\u003efsync().)\n\nJust reuse the existing nfsd fsync code instead.\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": "463090294e1e460cf97f5ade376d4b1e62bc5263",
      "tree": "eaf3f7b7c0bbc7c16aa39c77252da436bf62df06",
      "parents": [
        "89b39f5d8d701ddd93546b3d8edbefa5d568529d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:07 2005 -0700"
      },
      "message": "[PATCH] nfsd4: reboot recovery fix\n\nWe need to remove the recovery directory here too.  (This chunk just got lost\nsomehow in the process of commuting the reboot recovery patches past the other\npatches.)\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": "334a13ec3d01a1a4b4f2249735b793105cb4a519",
      "tree": "10d9f23026d8c1c75f172751322acaba7ff63d81",
      "parents": [
        "aade0e82739f4b24c5b952de68c8d794459ad531"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jun 28 20:44:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:31 2005 -0700"
      },
      "message": "[PATCH] really remove xattr_acl.h\n\nLooks like it sneaked back with the NFS ACL merge..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: 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": "0964a3d3f1aa96468091924f6b0c391a46dc6d0b",
      "tree": "0a6b0587d1922d64ca7e4aa7f306ad869bccf452",
      "parents": [
        "c7b9a45927e74c81d6562153f7fde9d32da00159"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:36 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4 reboot dirname fix\n\nSet the recovery directory via /proc/fs/nfsd/nfs4recoverydir.\n\nIt may be changed any time, but is used only on startup.\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": "c7b9a45927e74c81d6562153f7fde9d32da00159",
      "tree": "d21fb5d43052bce7469c168d1ad485c821a42079",
      "parents": [
        "190e4fbf96037e5e526ba3210f2bcc2a3b6fe964"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:36 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: reboot recovery\n\nThis patch adds the code to create and remove client subdirectories from the\nrecovery directory, as described in the previous patch comment.\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": "190e4fbf96037e5e526ba3210f2bcc2a3b6fe964",
      "tree": "957fb35a6a2895622c4db0052160fd91d06153e8",
      "parents": [
        "cb36d6345752fa24827044c68e15f6708a40d9f6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: initialize recovery directory\n\nNFSv4 clients are required to know what state they have on the server so that\nthey can reclaim it on server reboot.  However, it is possible for\npathalogical combinations of server reboots and network partitions to leave a\nclient in a state where it cannot know whether it has lost its state on the\nserver.\n\nFor this reason, rfc3530 requires that we store some information about clients\nto stable storage.\n\nSo we maintain a directory /var/lib/nfs/v4recovery with a subdirectory for\neach client with active state.  We leave open the possibility of including\nfiles underneath each such subdirectory with information about the client, but\nfor now the subdirectories are empty.\n\nWe create a client subdirectory whenever a client makes its first non-reclaim\nopen_confirm.\n\nWe remove a client subdirectory whenever either\n        a) its lease expires, or\n\tb) the grace period ends without it reclaiming anything.\nWhen handling reclaims, we allow the reclaim if and only if the client doing\nthe reclaim has a subdirectory.\n\nThis patch adds just the code to scan the recovery directory on nfsd startup.\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": "cb36d6345752fa24827044c68e15f6708a40d9f6",
      "tree": "adc6b7201525c87685815037cfa5fd1c248f6e95",
      "parents": [
        "3e9e3dbe0fe36c824ce2c5d7b05997c87a64bbdc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: remove cb_parsed\n\nThe cb_parsed field is only used by probe_callback, to determine whether the\ncallback information has been filled in by setclientid.  But there is no way\nthat probe_callback() can be called without that having already happened, so\nthat check is superfluous, as is cb_parsed.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e9e3dbe0fe36c824ce2c5d7b05997c87a64bbdc",
      "tree": "f8291afbbe83259c5309d1b4b968359f1bf63fd4",
      "parents": [
        "ea1da636e956ad1591a74904f23d98bbc26a644b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: allow multiple lockowners\n\n\u003eFrom the language of rfc3530 section 8.1.3 (e.g., the suggestion that a\n\"process id\" might be a reasonable lockowner value) it\u0027s conceivable that a\nclient might want to use the same lockowner string on multiple files, so we may\nas well allow that.  We expect each use of open_to_lockowner to create a\ndistinct seqid stream, though.\n\nFor now we\u0027re also allowing multiple uses of open_to_lockowner with the same\nopen, though it seems unlikely clients would actually do that.\n\nAlso add a comment reminding myself of some very non-scalable data structures.\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": "ea1da636e956ad1591a74904f23d98bbc26a644b",
      "tree": "193d0667adad25b094e209856dfcc1300d1d85dc",
      "parents": [
        "21ab45a480ec7705d177e959ebf452d62340c004"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:35 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: rename state list fields\n\nTrivial renaming patch:\n\nI can never remember, while looking at various lists relating the nfsd4 state\nstructures, which are the \"heads\" and which are items on other lists, or which\nstructures are actually on the various lists.  The following convention helps\nme: given structures foo and bar, with foo containing the head of a list of\nbars, use \"bars\" for the name of the head of the list contained in the struct\nfoo, and use \"per_foo\" for the entries in the struct bars.\n\nAlready done for struct nfs4_file; go ahead and do it for the other nfsd4\nstate structures.\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": "21ab45a480ec7705d177e959ebf452d62340c004",
      "tree": "019722d5b362e78ca50cf21823d1b8d6f221a9a7",
      "parents": [
        "7c79f7377cd4f2a50d51475f4c7966a3e60596a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:34 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: miscellaneous setclientid_confirm cleanup\n\nMinor cleanup, remove some unnecessary printk\u0027s.\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": "7c79f7377cd4f2a50d51475f4c7966a3e60596a7",
      "tree": "96dbf206231739934ba95a76281dbea1504800d2",
      "parents": [
        "08e8987c37cd04d2df211c1e019d8f165d44266e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:34 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: setclientid_confirm comments\n\nTrivial whitespace and comment fixes.\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": "08e8987c37cd04d2df211c1e019d8f165d44266e",
      "tree": "5cce86377d0bcae663940acd2600d45b8dc4153d",
      "parents": [
        "22de4d837439071a0bec897485d3911383b6ffad"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:34 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: setclientid_confirm gotoectomy\n\nChange from \"goto\" to \"else if\" format in setclientid_confirm.\n\nFrom: Fred Isaman\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": "22de4d837439071a0bec897485d3911383b6ffad",
      "tree": "060a06df409be203303f78d8be2adfe913e64249",
      "parents": [
        "1a69c179a28a9bb9f4d086927b192d5cffe88e50"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:34 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix setclientid_confirm error return\n\nNFS4_INVAL is not a valid error for setclientid_confirm, and INUSE is the more\nlogical error here anyway.\n\nFrom: Fred Isaman\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": "1a69c179a28a9bb9f4d086927b192d5cffe88e50",
      "tree": "e2155b4eb77f6d98f8643238b2836065abe1a836",
      "parents": [
        "31f4a6c127f619886bf97f643e546f7788248f3f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:34 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix setclientid_confirm cases\n\nSetclientid_confirm code confused states 1 and 3 (numbering from the\nIMPLEMENTATION section of rfc3530, section 14.2.33).  Fix this.\n\nState 1 allows the client to change the callback channel on the fly.  We don\u0027t\nimplement this currently, so just turn off the callback channel in this case.\n\nFrom: Fred Isaman\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": "31f4a6c127f619886bf97f643e546f7788248f3f",
      "tree": "5c473562ea9051e42a53631f26486959d43fcaa4",
      "parents": [
        "fd39ca9a808c6026989bc2188868a0574eb37108"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix uncomfirmed list\n\nSetclientid code assumes there is only one match in unconfirmed list.\nMake sure that assumption holds.\n\nFrom: Fred Isaman\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd39ca9a808c6026989bc2188868a0574eb37108",
      "tree": "9dbb4df308afd32e1a913e3df9c828863c6f98ee",
      "parents": [
        "a76b4319ca85b5e3a8098470c623a272d40271cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: make needlessly global code static\n\nThis patch contains the following possible cleanups:\n\n- make needlessly global code static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a76b4319ca85b5e3a8098470c623a272d40271cd",
      "tree": "c9e862136b066c0bccf6a1a0d977a71b58542d87",
      "parents": [
        "28ce6054f1de89834e5e9522f9e451cd88a35f85"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:04:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: grace period end\n\nFor the purposes of reboot recovery, we want to do some work during the\ntransition period at the end of the grace period.  Some of that work must be\nguaranteed to have a certain relationship with the end of the grace period, so\nwe want to control the transition there.\n\nOur approach is to modify the in_grace() checks to consult a global variable\ninstead of checking the time directly, to schedule the first run of the\nlaundromat thread at the end of the grace period, and to set the global\nend-of-grace-period there.\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": "28ce6054f1de89834e5e9522f9e451cd88a35f85",
      "tree": "653406eb3f3323fd15086007f1ced3a1f090c0e0",
      "parents": [
        "a55370a3c0106106a975c5a09cee800611d0cf50"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: add find_{un}conf_by_str functions to simplify setclientid\n\nMinor setclientid cleanup\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": "a55370a3c0106106a975c5a09cee800611d0cf50",
      "tree": "408d5dc0ecf970c103ef091388e66da267adb2e2",
      "parents": [
        "7dea9d280c96f90382ec5d5709433e66a0993ec9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:33 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: reboot hash\n\nFor the purposes of reboot recovery we keep a directory with subdirectories\neach having a name that is the ascii hex representation of the md5 sum of a\nclient identifier for an active client.\n\nThis adds the code to calculate that name.  We also use it for the purposes of\ncomparing clients, so if someone ever manages to find two client names that\nare md5 collisions, then we\u0027ll return clid_inuse to the second.\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": "7dea9d280c96f90382ec5d5709433e66a0993ec9",
      "tree": "046d0665956b1c37fbacaa12276bc8cc2c4b5049",
      "parents": [
        "bd0b1e954e3ba3e5d2cab941458cf98206471bd2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: setclientid simplification\n\nWe can be a little more concise here.\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": "bd0b1e954e3ba3e5d2cab941458cf98206471bd2",
      "tree": "3637bcc40dc0725becc5e47dc51a4ded1bf3f673",
      "parents": [
        "707d4ab7b3aa6d1f7a7d2cd123fb83ba9a528205"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: idmap initialization\n\nAdopt standard kernel style by defining a no-op function instead of putting\nifdef\u0027s in the code where the function is called.\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": "707d4ab7b3aa6d1f7a7d2cd123fb83ba9a528205",
      "tree": "b5b12bf45baacc0659fd419a5df93166710748f3",
      "parents": [
        "ac4d8ff2a57179de3ef7834c6ab3fac430b0a05d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: remove nfs4_reclaim_init\n\nnfs4_reclaim_init is no longer performing any useful function.\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": "ac4d8ff2a57179de3ef7834c6ab3fac430b0a05d",
      "tree": "8c0f7125177a47d4140a73e4b59309a5bb3ffd2c",
      "parents": [
        "76a3550ec50ed86885a10a767ebaebb7c9104721"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:32 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: clean up state initialization\n\nSeparate out stuff that needs initialization on startup from stuff that only\nneeds initialization on module init from static data.\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": "76a3550ec50ed86885a10a767ebaebb7c9104721",
      "tree": "0961d1eb0a61378852cf90f203dba09a22ac012d",
      "parents": [
        "7b190fecfa33d72bcf74c9473134c2ad14ae9545"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: rename nfs4_state_init\n\nSomewhat gratuitous rename to simplify following patch.\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": "7b190fecfa33d72bcf74c9473134c2ad14ae9545",
      "tree": "94769b846f9d4e38a831f6e343db34bbfdb403bc",
      "parents": [
        "d99a05adf8490cc171b7709554936b8f3ac9e362"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: delegation recovery\n\nAllow recovery of delegations after reboot.\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": "d99a05adf8490cc171b7709554936b8f3ac9e362",
      "tree": "64be372b75ff074a4220491a439add60d7d92323",
      "parents": [
        "58da282b733cff4caef805c6555c7a3b90772946"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: simplify lease changing\n\nThe only way the protocol gives to change the lease time on the fly is to\nsimulate a reboot.  We don\u0027t have that completely right in the current code;\namong other things, we should probably put lockd in grace too while we do\nthis.\n\nFor now, let\u0027s just keep this simple, and wait till the next time nfsd starts\nto register any changes in lease time.  If the administrator really wants to\nchange the lease time *now*, they can go ahead and bring nfsd down and then\nback up again after changing the lease time.\n\nAlso remove the \"if (reclaim_str_hashtbl_size \u003d\u003d 0)\" case, a shortcut which\nskips the grace period if we know of no clients in need of recovery.  This\nisn\u0027t going to work well with nlm.\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": "58da282b733cff4caef805c6555c7a3b90772946",
      "tree": "3defc7d637584c133421b6a0314756cb78467bc9",
      "parents": [
        "dfc8356570b6fcb4035c7d916ade5bbbe6c3b50a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: create separate laundromat workqueue\n\nWe\u0027re running the laundromat work on the default kevent worker thread.  But\nthe laundromat takes the nfsv4 state semaphore, which is used for way too much\nstuff, and the potential for deadlocks is high.  Better to have this on a\nseparate workqueue.\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": "dfc8356570b6fcb4035c7d916ade5bbbe6c3b50a",
      "tree": "97ee8450e6f0344cf484dfc70f9803fb85080598",
      "parents": [
        "5ba266d6323e957588712f6a7d31252cd6b797bb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: nfs4_check_open_reclaim cleanup\n\nMinor cleanup.\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": "5ba266d6323e957588712f6a7d31252cd6b797bb",
      "tree": "a66e7e0fbc99f67c93e7661e83a02e08e2868050",
      "parents": [
        "7e06b7f9e9537cb826f3cff95816fc4384b67806"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix probe_callback\n\nrpc_create_client was modified recently to do its own (synchronous) NULL ping\nof the server.  We\u0027d rather do that on our own, asynchronously, so that we\ndon\u0027t have to block the nfsd thread doing the probe, and so that setclientid\nhandling (hence, client mounts) can proceed normally whether the callback is\nsuccesful or not.  (We can still function fine without the callback\nchannel--we just won\u0027t be able to give out delegations till it\u0027s verified to\nwork.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "13cd21845d6a9729ca95e36ae6e8c669623fbfd4",
      "tree": "d60064a17994393bfdc412cc1a85ffdf2a5f5914",
      "parents": [
        "8beefa249371f55432394ac96864c83b0b309c28"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] nfsd4: reference count struct nfs4_file\n\nAdd a struct kref to each nfs4_file and take a reference to it from each\nstateid and delegation that refers to it.  The atomicity guarantees are\noverkill given that all this stuff is done under the single nfsd4 state lock,\nbut a) we\u0027d like finer-grained locking some day, and b) this simplifies the\ncleanup of the structures a bit, something that has previously been a bit\ncomplicated and bug-prone.\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": "8beefa249371f55432394ac96864c83b0b309c28",
      "tree": "1d31a36da779a930a6676bdfc7d8fe4fa564a05c",
      "parents": [
        "6fa305ded4cc859deb4727ad9b25df0bbc064e99"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: rename nfs4_file fields\n\nTrivial renaming patch:\n\nI can never remember, while looking at various lists relating the nfsd4 state\nstructures, which are the \"heads\" and which are items on other lists, or which\nstructures are actually on the various lists.  The following convention helps\nme: given structures foo and bar, with foo containing the head of a list of\nbars, use \"bars\" for the name of the head of the list contained in the struct\nfoo, and use \"per_foo\" for the entries in the struct bars.\n\nGo ahead and do this for struct nfs4_file.\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": "6fa305ded4cc859deb4727ad9b25df0bbc064e99",
      "tree": "aea444d9e9a348c73eba57b3ba0eb1cd3818f781",
      "parents": [
        "5b2d21c1965859acc881dd862b6ebbfae67cdc14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: remove debugging counters\n\nThese remaining debugging counters haven\u0027t proved that useful.\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": "5b2d21c1965859acc881dd862b6ebbfae67cdc14",
      "tree": "4d7879cd09f0d0efd5e19e9a008668879327efe9",
      "parents": [
        "5ac049ac66416bbe84923f7c2384f23f6ee4aa88"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: slabify delegations\n\nAllocate delegations from a slab cache.\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": "5ac049ac66416bbe84923f7c2384f23f6ee4aa88",
      "tree": "060a781f1f246078c9e8c0c0096be7155771c46d",
      "parents": [
        "e60d4398a7c20fbe9c4a6cc39d7188ef9f65d2f1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: slabify stateids\n\nAllocate stateid\u0027s from a slab cache.\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": "e60d4398a7c20fbe9c4a6cc39d7188ef9f65d2f1",
      "tree": "d634acd73c61b04e873349eee638251fc433cd2c",
      "parents": [
        "c815afc73eeef089922449857ca4ed4d2e8950cb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:29 2005 -0700"
      },
      "message": "[PATCH] nfsd4: slabify nfs4_files\n\nThe structures the server uses to keep track of various pieces of nfsv4 state\n(open files, outstanding delegations, etc.) are likely to be allocated and\ndeallocated frequently and seem reasonable candidates for slab caches.\n\nWhile we\u0027re at it, the slab code keeps statistics that help catch leaks and\nsuch, so we may as well take this chance to eliminate some debugging counters\nthat we\u0027ve been keeping ourselves.\n\nStart with the struct nfs4_file.\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": "496400014f22c4dbdbc1e89249a2feba46939708",
      "tree": "1d05116cef2e6ecfeef9fab0a733a9f2cf2a18e3",
      "parents": [
        "0dd3c19212961453817f219cd6200981c38564bc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix fh_expire_type\n\nWe\u0027re returning NFS4_FH_NOEXPIRE_WITH_OPEN | NFS4_FH_VOL_RENAME for the\nfh_expire_type attribute.  This is incorrect:\n\t1. The spec actually only allows NOEXPIRE_WITH_OPEN when\n\t   VOLATILE_ANY is also set.\n\t2. Filehandles for open files can expire, if the file is removed\n\t   and there is a reboot.\n\t3. Filehandles are only volatile on rename in the nosubtree check\n\t   case.\n\nUnfortunately, there\u0027s no way to indicate that we only expire on remove.  So\nour only choice is FH4_VOLATILE_ANY.  Although it\u0027s redundant, we also set\nFH4_VOL_RENAME in the subtree check case, since subtreecheck does actually\ncause problems in practice and it seems possibly useful to give clients some\nway to distinguish that case.\n\nFix a mispelled #define while we\u0027re at it.\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": "c44c5eeb2c022ddac98a8543c08dc8ff820561dc",
      "tree": "17e5d443ec77c228c1881cf624f63e01933a3f03",
      "parents": [
        "567d98292e81033182e3da4c33b41ada9c113447"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: add open state code for CLAIM_DELEGATE_CUR\n\nState logic for OPEN with claim type CLAIM_DELEGATE_CUR, which the NFSv4\nclient uses to report local OPENs on a delegated file back to the NFSv4\nserver.\n\nnfs4_check_deleg() performs input delegation stateid lookup and sanity check.\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": "567d98292e81033182e3da4c33b41ada9c113447",
      "tree": "21319e7fb48cd374e917d0557cf7601d35187282",
      "parents": [
        "4a6e43e6d4e43723699879f421d321e39eab5e41"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:28 2005 -0700"
      },
      "message": "[PATCH] nfsd4: don\u0027t reopen for delegated client\n\nWe don\u0027t really need to be doing a separate open for every stateid.  And in\nthe case of an open from a client that already has a delegation on a file, it\nunnecessarily results in a delegation recall.\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": "4a6e43e6d4e43723699879f421d321e39eab5e41",
      "tree": "81de781defa837bc59c51725355181a94adb2652",
      "parents": [
        "52f4fb43063c182f3ef7e257ab336a8be8066bb0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:27 2005 -0700"
      },
      "message": "[PATCH] nfsd4: nfs4_check_delegmode\n\nAdditional minor code reshuffling to prepare for claim_deleg_cur support.\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": "52f4fb43063c182f3ef7e257ab336a8be8066bb0",
      "tree": "f7e551168995e5210a0706fb273f6c54ba6bffef",
      "parents": [
        "0c0a400d1debb172c596b24ab82efab4975990a9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:02:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:27 2005 -0700"
      },
      "message": "[PATCH] nfsd4: find_delegation_file()\n\nFactor out a bit of common code that will be useful elsewhere.\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": "9a59f452abe11f569e13ec16c51e6d61c54b9838",
      "tree": "0fc242afbf51aac7214e3a9b7620e83d0d4016f2",
      "parents": [
        "f9fd27a253d5e0b23531d12ce7ad15b6535d4486"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] remove \u003clinux/xattr_acl.h\u003e\n\nThis file duplicates \u003clinux/posix_acl_xattr.h\u003e, using slightly different\nnames.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "213484254c65e3c39c59df454132748b1367f816",
      "tree": "bba8225be09a04f23a34ee0e93b9fa1090f3bf8f",
      "parents": [
        "458818ed76d3f495f9f32373c936456c9427f759"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:28 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:27 2005 -0400"
      },
      "message": "[PATCH] fix nfsacl pointer arithmetic and pg_class initialization bugs\n\n* Pointer arithmetic bug: p is in word units. This fixes a memory\n  corruption with big acls.\n* Initialize pg_class to prevent a NULL pointer access.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a838cc49d9a7d5652262a6d1b628628cadffa877",
      "tree": "7d5b6bee4c0fb1b722f02c27390b211042be2b83",
      "parents": [
        "bd8100e7eda87507649c6ba4cb32173b34e49986"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:21 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add NFS3ERR_NOTSUPP to the nfsd error mapping table\n\n Add the missing NFS3ERR_NOTSUPP error code (defined in NFSv3) to the\n system-to-protocol-error table in nfsd.  The nfsacl extension uses this error\n code.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b616f5d596c0b056129f8aeafbc08409b3cd050",
      "tree": "bdbd2eb5bd1f8a26c7287e21be25ec50db075459",
      "parents": [
        "334ccfd545bba9690515f2c5c167d5adb161989b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:03 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() destroy the transport on failure.\n\n This saves us a couple of lines of cleanup code for each call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c907132d534c10b4f34a60383c8384403cb424a4",
      "tree": "706511b06aeeee25615f45701e640d01f4f1d51a",
      "parents": [
        "f1ee4f22f21d74bc3ca63b95ca5b63d3a8620527"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix struct file leak\n\nWe were failing to close on an error path, resulting in a leak of struct files\nwhich could take a v4 server down fairly quickly....  So call\nnfs4_close_delegation instead of just open-coding parts of it.\n\nSimplify the cleanup on delegation failure while we\u0027re at it.\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": "f1ee4f22f21d74bc3ca63b95ca5b63d3a8620527",
      "tree": "29b860a31e5cb1d52f1d3a63290a2d0da7c905dd",
      "parents": [
        "9e416052f1462801ca857c7536288bac0621615e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:38 2005 -0700"
      },
      "message": "[PATCH] nfsd4: callback create rpc client returns\n\nrpc_create_clnt and friends return errors, not NULL, on failure.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e416052f1462801ca857c7536288bac0621615e",
      "tree": "f657d0dcc3f3d495fbe359cee2ea35868c10b128",
      "parents": [
        "d13df84ff7f3f3e26a9643c1d3cbf94cef9b5b59"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Sat Apr 16 15:26:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:37 2005 -0700"
      },
      "message": "[PATCH] nfsd: clear signals before exiting the nfsd() thread\n\nFixes the error \"RPC: failed to contact portmap (errno -512).\" when the server\nlater tries to unregister from the portmapper.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\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"
    }
  ]
}
