)]}'
{
  "log": [
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a747ee0cc11a198f9e2435add821bd0dfedb7c1",
      "tree": "10b5a55bde30bef3f466e5126bd44fc0e111fc5a",
      "parents": [
        "17efa372cfe4d189705edf6cd4fbe283827a5dc7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 24 10:08:22 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:11 2008 -0400"
      },
      "message": "locks: don\u0027t call -\u003ecopy_lock methods on return of conflicting locks\n\nThe file_lock structure is used both as a heavy-weight representation of\nan active lock, with pointers to reference-counted structures, etc., and\nas a simple container for parameters that describe a file lock.\n\nThe conflicting lock returned from __posix_lock_file is an example of\nthe latter; so don\u0027t call the filesystem or lock manager callbacks when\ncopying to it.  This also saves the need for an unnecessary\nlocks_init_lock in the nfsv4 server.\n\nThanks to Trond for pointing out the error.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "17efa372cfe4d189705edf6cd4fbe283827a5dc7",
      "tree": "dcf10b96b079fff6edebbf451a32608ce6032663",
      "parents": [
        "4373ea84c84d8a96e99d3da99e813d3e36d1bd11"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 17 11:10:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:11 2008 -0400"
      },
      "message": "lockd: unlock lockd locks held for a certain filesystem\n\nAdd /proc/fs/nfsd/unlock_filesystem, which allows e.g.:\n\nshell\u003e echo /mnt/sfs1 \u003e /proc/fs/nfsd/unlock_filesystem\n\nso that a filesystem can be unmounted before allowing a peer nfsd to\ntake over nfs service for the filesystem.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nCc: Lon Hohberger  \u003clhh@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n\n fs/lockd/svcsubs.c          |   66 +++++++++++++++++++++++++++++++++++++++-----\n fs/nfsd/nfsctl.c            |   65 +++++++++++++++++++++++++++++++++++++++++++\n include/linux/lockd/lockd.h |    7 ++++\n 3 files changed, 131 insertions(+), 7 deletions(-)\n"
    },
    {
      "commit": "4373ea84c84d8a96e99d3da99e813d3e36d1bd11",
      "tree": "956fb92c4501cf2ed0f21a8942dfc31d4621711f",
      "parents": [
        "9d91cdcc0cce3186742f38e7352459b2087fbb86"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 17 11:10:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:10 2008 -0400"
      },
      "message": "lockd: unlock lockd locks associated with a given server ip\n\nFor high-availability NFS service, we generally need to be able to drop\nfile locks held on the exported filesystem before moving clients to a\nnew server.  Currently the only way to do that is by shutting down lockd\nentirely, which is often undesireable (for example, if you want to\ncontinue exporting other filesystems).\n\nThis patch allows the administrator to release all locks held by clients\naccessing the client through a given server ip address, by echoing that\naddress to a new file, /proc/fs/nfsd/unlock_ip, as in:\n\nshell\u003e echo 10.1.1.2 \u003e /proc/fs/nfsd/unlock_ip\n\nThe expected sequence of events can be:\n1. Tear down the IP address\n2. Unexport the path\n3. Write IP to /proc/fs/nfsd/unlock_ip to unlock files\n4. Signal peer to begin take-over.\n\nFor now we only support IPv4 addresses and NFSv2/v3 (NFSv4 locks are not\naffected).\n\nAlso, if unmounting the filesystem is required, we assume at step 3 that\nclients using the given server ip are the only clients holding locks on\nthe given filesystem; otherwise, an additional patch is required to\nallow revoking all locks held by lockd on a given filesystem.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nCc: Lon Hohberger  \u003clhh@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n\n fs/lockd/svcsubs.c          |   66 +++++++++++++++++++++++++++++++++++++++-----\n fs/nfsd/nfsctl.c            |   65 +++++++++++++++++++++++++++++++++++++++++++\n include/linux/lockd/lockd.h |    7 ++++\n 3 files changed, 131 insertions(+), 7 deletions(-)\n"
    },
    {
      "commit": "563307b2fa15d687abc54bd980b9847ebf0e3231",
      "tree": "7f16be30217a2e66360ede97aa27d07a4ebd7e55",
      "parents": [
        "10c993a6b5418cb1026775765ba4c70ffb70853d",
        "233607dbbc823caf685e778cabc49fb7f679900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits)\n  SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n  make nfs_automount_list static\n  NFS: remove duplicate flags assignment from nfs_validate_mount_data\n  NFS - fix potential NULL pointer dereference v2\n  SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n  SUNRPC: Fix a race in gss_refresh_upcall()\n  SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n  SUNRPC: Remove the unused export of xprt_force_disconnect\n  SUNRPC: remove XS_SENDMSG_RETRY\n  SUNRPC: Protect creds against early garbage collection\n  NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n  NFSv4: Reintroduce machine creds\n  NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n  nfs: fix printout of multiword bitfields\n  nfs: return negative error value from nfs{,4}_stat_to_errno\n  NLM/lockd: Ensure client locking calls use correct credentials\n  NFS: Remove the buggy lock-if-signalled case from do_setlk()\n  NLM/lockd: Fix a race when cancelling a blocking lock\n  NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n  NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n  ...\n"
    },
    {
      "commit": "f97c650dda24e48405399aa0676e90da52408515",
      "tree": "9bb7d41c05ff8377cad7048b45fa900262688142",
      "parents": [
        "06e02d66fa0055230efc2443c43ee4f3ab5eb0b6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 08 15:40:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "NLM: don\u0027t let lockd exit on unexpected svc_recv errors (try #2)\n\nWhen svc_recv returns an unexpected error, lockd will print a warning\nand exit. This problematic for several reasons. In particular, it will\ncause the reference counts for the thread to be wrong, and can lead to a\npotential BUG() call.\n\nRather than exiting on error from svc_recv, have the thread do a 1s\nsleep and then retry the loop. This is unlikely to cause any harm, and\nif the error turns out to be something temporary then it may be able to\nrecover.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3c61eecb607dbc2777074b1a95b8a97e31a96a73",
      "tree": "0df466f7f4b9528718b4d944e944905602eb6e74",
      "parents": [
        "a5ae03989254ec25cd3a934ca02c008d67e259f7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 13:05:27 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "lockd: Fix stale nlmsvc_unlink_block comment\n\nAs of 5996a298da43a03081e9ba2116983d173001c862 (\"NLM: don\u0027t unlock on\ncancel requests\") we no longer unlock in this case, so the comment is no\nlonger accurate.\n\nThanks to Stuart Friedberg for pointing out the inconsistency.\n\nCc: Stuart Friedberg \u003csfriedberg@hp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d8421202121ce74daf4625ca9d1d825bbd7ce66a",
      "tree": "0465a155e03b97660d2f887e702b8f2917889c75",
      "parents": [
        "a95e56e72c196970a8067cd515c658d064813170"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:40:15 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: convert nsm_mutex to a spinlock\n\nThere\u0027s no reason for a mutex here, except to allow an allocation under\nthe lock, which we can avoid with the usual trick of preallocating\nmemory for the new object and freeing it if it turns out to be\nunnecessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a95e56e72c196970a8067cd515c658d064813170",
      "tree": "e785c49b5cc7fe877ff5bf78193d11b1cb482540",
      "parents": [
        "164f98adbbd50c67177b096a59f55c1a56a45c82"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:27:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: clean up __nsm_find()\n\nUse list_for_each_entry().  Also, in keeping with kernel style, make the\nnormal case (kzalloc succeeds) unindented and handle the abnormal case\nwith a goto.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "164f98adbbd50c67177b096a59f55c1a56a45c82",
      "tree": "baa47455b18219eca8ff4a54a84954170597fa06",
      "parents": [
        "dd35210e1e2cb46d6dba5c97f1bc3784c4f97998"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 14:02:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix race in nlm_release()\n\nThe sm_count is decremented to zero but left on the nsm_handles list.\nSo in the space between decrementing sm_count and acquiring nsm_mutex,\nit is possible for another task to find this nsm_handle, increment the\nuse count and then enter nsm_release itself.\n\nThus there\u0027s nothing to prevent the nsm being freed before we acquire\nnsm_mutex here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "93245d11fcaccdebccabe86a2b92db524f82d8b4",
      "tree": "62d1de3c789e01387ccbf1bf15764d3114a4a6fe",
      "parents": [
        "f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Feb 18 02:01:49 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix sparse warning in svcshare.c\n\nfs/lockd/svcshare.c:74:50: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d751a7cd0695554498f25d3026ca6710dbb3698f",
      "tree": "31ec617dfb9fb70160bb8d2d9c9fd2e5c1e50c15",
      "parents": [
        "7086721f9c8b59331e164e534f588e075cfd9d3f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "NLM: Convert lockd to use kthreads\n\nHave lockd_up start lockd using kthread_run. With this change,\nlockd_down now blocks until lockd actually exits, so there\u0027s no longer\nneed for the waitqueue code at the end of lockd_down. This also means\nthat only one lockd can be running at a time which simplifies the code\nwithin lockd\u0027s main loop.\n\nThis also adds a check for kthread_should_stop in the main loop of\nnlmsvc_retry_blocked and after that function returns. There\u0027s no sense\ncontinuing to retry blocks if lockd is coming down anyway.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a",
      "tree": "1961687ba998d7f8d6bad9efda19d3eb7f45d1d6",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 08 13:03:37 2008 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:35 2008 -0400"
      },
      "message": "knfsd: Remove NLM_HOST_MAX and associated logic.\n\nLockd caches information about hosts that have recently held locks to\nexpedite the taking of further locks.\n\nIt periodically discards this information for hosts that have not been\nused for a few minutes.\n\nlockd currently has a value NLM_HOST_MAX, and changes the \u0027garbage\ncollection\u0027 behaviour when the number of hosts exceeds this threshold.\n\nHowever its behaviour is strange, and likely not what was intended.\nWhen the number of hosts exceeds the max, it scans *less* often (every\n2 minutes vs every minute) and allows unused host information to\nremain around longer (5 minutes instead of 2).\n\nHaving this limit is of dubious value anyway, and we have not\nsuffered from the code not getting the limit right, so remove the\nlimit altogether.  We go with the larger values (discard 5 minute old\nhosts every 2 minutes) as they are probably safer.\n\nMaybe the periodic garbage collection should be replace to with\n\u0027shrinker\u0027 handler so we just respond to memory pressure....\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d11d10cc05c94a32632d6928d15a1034200dd9a5",
      "tree": "8d6aec826f4673cf0aea98dda2c5ce39185a5d0b",
      "parents": [
        "c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 02 14:44:05 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:43 2008 -0400"
      },
      "message": "NLM/lockd: Ensure client locking calls use correct credentials\n\nNow that we\u0027ve added the \u0027generic\u0027 credentials (that are independent of the\nrpc_client) to the nfs_open_context, we can use those in the NLM client to\nensure that the lock/unlock requests are authenticated to whoever\noriginally opened the file.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f50c0c6d644d6c8180d9079c13c5d9de3adeb34",
      "tree": "8cc145c4c3fafc1ea23e0e20929238e6318a44a5",
      "parents": [
        "6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 20:26:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:49 2008 -0400"
      },
      "message": "NLM/lockd: Fix a race when cancelling a blocking lock\n\nWe shouldn\u0027t remove the lock from the list of blocked locks until the\nCANCEL call has completed since we may be racing with a GRANTED callback.\n\nAlso ensure that we send an UNLOCK if the CANCEL request failed. Normally\nthat should only happen if the process gets hit with a fatal signal.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b",
      "tree": "02c504fd397a5bb4f484e1205e2568bbcddfc2c5",
      "parents": [
        "8ec7ff74448f65ac963e330795d771ab14ec8408"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 02 14:40:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:45 2008 -0400"
      },
      "message": "NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n\nCurrently, it returns success as long as the RPC call was sent. We\u0027d like\nto know if the CANCEL operation succeeded on the server.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ec7ff74448f65ac963e330795d771ab14ec8408",
      "tree": "b5edaf20a622c7b7ca47640fc8b1a7ce53f95422",
      "parents": [
        "dc9d8d048168ff61c458bec06b28996cb90b182a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 28 16:04:51 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:42 2008 -0400"
      },
      "message": "NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n\nThe signal masks have been rendered obsolete by the preceding patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc9d8d048168ff61c458bec06b28996cb90b182a",
      "tree": "f8160237a79f96837696bc7dfa91efc96e9b84ed",
      "parents": [
        "5e7f37a76fa5b604949020b7317962262812b2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 28 16:04:36 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:39 2008 -0400"
      },
      "message": "NLM/lockd: convert __nlm_async_call to use rpc_run_task()\n\nPeter Staubach comments:\n\n\u003e In the course of investigating testing failures in the locking phase of\n\u003e the Connectathon testsuite, I discovered a couple of things.  One was\n\u003e that one of the tests in the locking tests was racy when it didn\u0027t seem\n\u003e to need to be and two, that the NFS client asynchronously releases locks\n\u003e when a process is exiting.\n...\n\u003e The Single UNIX Specification Version 3 specifies that:  \"All locks\n\u003e associated with a file for a given process shall be removed when a file\n\u003e descriptor for that file is closed by that process or the process holding\n\u003e that file descriptor terminates.\".\n\u003e\n\u003e This does not specify whether those locks must be released prior to the\n\u003e completion of the exit processing for the process or not.  However,\n\u003e general assumptions seem to be that those locks will be released.  This\n\u003e leads to more deterministic behavior under normal circumstances.\n\nThe following patch converts the NFSv2/v3 locking code to use the same\nmechanism as NFSv4 for sending asynchronous RPC calls and then waiting for\nthem to complete. This ensures that the UNLOCK and CANCEL RPC calls will\ncomplete even if the user interrupts the call, yet satisfies the\nabove request for synchronous behaviour on process exit.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e7f37a76fa5b604949020b7317962262812b2dd",
      "tree": "ceb12f296c0d19374993ac33f306180c1f8dc23a",
      "parents": [
        "536ff0f809b0f4d56e1c41e66768d330668e0a55"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 18:58:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:36 2008 -0400"
      },
      "message": "NLM/lockd: Add a reference counter to struct nlm_rqst\n\nWhen we replace the existing synchronous RPC calls with asynchronous calls,\nthe reference count will be needed in order to allow us to examine the\nresult of the RPC call.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a9af59fee0701d9db99bc148d87b8852d6d6dd8",
      "tree": "5300720549fa750dc81b39a2ae5238840906a8ca",
      "parents": [
        "1e799b673c6b82b336ab13c48b5651d511ca3000"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 18:57:06 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:30 2008 -0400"
      },
      "message": "NLM/lockd: Ensure we don\u0027t corrupt fl-\u003efl_flags in nlmclnt_unlock()\n\nAlso fix up nlmclnt_lock() so that it doesn\u0027t pass modified versions of\nfl-\u003efl_flags to nlmclnt_cancel() and other helpers.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0490a54a00c14212f22c5948c8c13a4553d745bd",
      "tree": "eec4ea250a228c37c46255395724aa0c3390e838",
      "parents": [
        "2ca7754d4c96d68e1475690422a202ba5f0443d8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:26:08 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:01:10 2008 -0400"
      },
      "message": "lockd: introduce new function to encode private argument in SM_MON requests\n\nClean up: refactor the encoding of the opaque 16-byte private argument in\nxdr_encode_mon().  This will be updated later to support IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2ca7754d4c96d68e1475690422a202ba5f0443d8",
      "tree": "c67f12d715492e78e371861afde95604d1aaf3bb",
      "parents": [
        "ea72a7f170e686baf00ceee57b6197bef686889c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:26:01 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:01:07 2008 -0400"
      },
      "message": "lockd: Fix up incorrect RPC buffer size calculations.\n\nSwitch to using the new mon_id encoder function.\n\nNow that we\u0027ve refactored the encoding of SM_MON requests, we\u0027ve\ndiscovered that the pre-computed buffer length maximums are\nincorrect!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea72a7f170e686baf00ceee57b6197bef686889c",
      "tree": "b31106e27f57a4a4858c0f13efd30cc1938bf496",
      "parents": [
        "850c95fd07b63704d06909c9a081c51272d32db1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:25:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:01:04 2008 -0400"
      },
      "message": "lockd: document use of mon_id argument in SM_MON requests\n\nClean up: document the argument type that xdr_encode_common() is\nmarshalling by introducing a new function.  The new function will replace\nxdr_encode_common() in just a sec.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "850c95fd07b63704d06909c9a081c51272d32db1",
      "tree": "37cda66d133e442bfc54c97ed8d81016c3a33381",
      "parents": [
        "496951743100b2d2ccd8b268257e79425e489851"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:25:46 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:01:01 2008 -0400"
      },
      "message": "lockd: refactor SM_MON my_id argument encoder\n\nClean up: introduce a new XDR encoder specifically for the my_id\nargument of SM_MON requests.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "496951743100b2d2ccd8b268257e79425e489851",
      "tree": "e52e804c132f8322699354640c7fee7541b9a317",
      "parents": [
        "099bd05f27ff24a3041d54e7ed42d2eb681484b9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:25:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:57 2008 -0400"
      },
      "message": "lockd: refactor SM_MON mon_name argument encoder\n\nClean up: introduce a new XDR encoder specifically for the mon_name\nargument of SM_MON requests.  This will be updated later to support IPv6\naddresses in addition to IPv4 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "099bd05f27ff24a3041d54e7ed42d2eb681484b9",
      "tree": "beb5738bdce698874255eb890f84a770a83d34e5",
      "parents": [
        "f34ec991ae0f015f5cdc51ad46c3a317ffae2466"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:25:32 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:54 2008 -0400"
      },
      "message": "lockd: Ensure NSM strings aren\u0027t longer than protocol allows\n\nIntroduce a special helper function to check the length of NSM strings\nbefore they are placed on the wire.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb18860e1385bfc7f08fcb7ba362e4a5156c8324",
      "tree": "c8dff7c59d8b2d356eda454aa57c6f0e278cad6b",
      "parents": [
        "90d5b18061656993410dfd57ddb88aa5a3f34563"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:18:37 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:47 2008 -0400"
      },
      "message": "NLM: NLM protocol version numbers are u32\n\nClean up: RPC protocol version numbers are u32.  Make sure we use an\nappropriate type for NLM version numbers when calling nlm_lookup_host().\n\nEliminates a harmless mixed sign comparison in nlm_host_lookup().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90d5b18061656993410dfd57ddb88aa5a3f34563",
      "tree": "7e640753a3961d5af11518f046ed11920c8f649d",
      "parents": [
        "1e40316bc44851c5920490df01482ed862e4dbc4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:18:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:44 2008 -0400"
      },
      "message": "NLM: LOCKD fails to load if CONFIG_SYSCTL is not set\n\nBruce Fields says:\n\"By the way, we\u0027ve got another config-related nit here:\n\n\thttp://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d156\n\nYou can build lockd without CONFIG_SYSCTL set, but then the module will\nfail to load.\"\n\nFor now, disable the sysctl registration calls in lockd if CONFIG_SYSCTL\nis not enabled.  This allows the kernel to build properly if PROC_FS or\nSYSCTL is not enabled, but an NFS client is desired.\n\nIn the long run, we would like to be able to build the kernel with an\nNFS client but without lockd.  This makes sense, for example, if you want\nan NFSv4-only NFS client, as NFSv4 doesn\u0027t use NLM at all.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5216a8e70e25b01cbd2915cd0442fb96deb2c262",
      "tree": "f372bd3cb3fc2f4a2d3e4ad303e6c4d3f8f48865",
      "parents": [
        "90dc7d2796edf94a9eaa838321a9734c8513e717"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 21 10:57:45 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 21 18:42:29 2008 -0500"
      },
      "message": "Wrap buffers used for rpc debug printks into RPC_IFDEBUG\n\nSorry for the noise, but here\u0027s the v3 of this compilation fix :)\n\nThere are some places, which declare the char buf[...] on the stack\nto push it later into dprintk(). Since the dprintk sometimes (if the\nCONFIG_SYSCTL\u003dn) becomes an empty do { } while (0) stub, these buffers\ncause gcc to produce appropriate warnings.\n\nWrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to\ncompile them out when not needed.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c64e80d55db81df22a7f25b75ab4ba4c55db4749",
      "tree": "bc844c9fbc4a19887b108d457f0d8fdc651630e2",
      "parents": [
        "9706501e43a80ce48b319214a0a9e562deded35b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:13 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: don\u0027t requeue block if it was invalidated while GRANT_MSG was in flight\n\nIt\u0027s possible for lockd to catch a SIGKILL while a GRANT_MSG callback\nis in flight. If this happens we don\u0027t want lockd to insert the block\nback into the nlm_blocked list.\n\nThis helps that situation, but there\u0027s still a possible race. Fixing\nthat will mean adding real locking for nlm_blocked.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9706501e43a80ce48b319214a0a9e562deded35b",
      "tree": "6b2d5ec807edea5806e9dd41f1109d8e8aac160c",
      "parents": [
        "90bd17c87821fe0e055e0f9a7446c2875f31eb4c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: don\u0027t reattempt GRANT_MSG when there is already an RPC in flight\n\nWith the current scheme in nlmsvc_grant_blocked, we can end up with more\nthan one GRANT_MSG callback for a block in flight. Right now, we requeue\nthe block unconditionally so that a GRANT_MSG callback is done again in\n30s. If the client is unresponsive, it can take more than 30s for the\ncall already in flight to time out.\n\nThere\u0027s no benefit to having more than one GRANT_MSG RPC queued up at a\ntime, so put it on the list with a timeout of NLM_NEVER before doing the\nRPC call. If the RPC call submission fails, we requeue it with a short\ntimeout. If it works, then nlmsvc_grant_callback will end up requeueing\nit with a shorter timeout after it completes.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "90bd17c87821fe0e055e0f9a7446c2875f31eb4c",
      "tree": "21524f248ed516570dcc1a0f6a66a74e3a275e95",
      "parents": [
        "031fd3aa20fcf6d1862ea7814ee8b2caf36c0d78"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: have server-side RPC clients default to soft RPC tasks\n\nNow that it no longer does an RPC ping, lockd always ends up queueing\nan RPC task for the GRANT_MSG callback. But, it also requeues the block\nfor later attempts. Since these are hard RPC tasks, if the client we\u0027re\ncalling back goes unresponsive the GRANT_MSG callbacks can stack up in\nthe RPC queue.\n\nFix this by making server-side RPC clients default to soft RPC tasks.\nlockd requeues the block anyway, so this should be OK.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "031fd3aa20fcf6d1862ea7814ee8b2caf36c0d78",
      "tree": "b60252860730b3f9b4578db1dc891497e0a00722",
      "parents": [
        "551e4fb2465b87de9d4aa1669b27d624435443bb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:10 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients\n\nIt\u0027s currently possible for an unresponsive NLM client to completely\nlock up a server\u0027s lockd. The scenario is something like this:\n\n1) client1 (or a process on the server) takes a lock on a file\n2) client2 tries to take a blocking lock on the same file and\n   awaits the callback\n3) client2 goes unresponsive (plug pulled, network partition, etc)\n4) client1 releases the lock\n\n...at that point the server\u0027s lockd will try to queue up a GRANT_MSG\ncallback for client2, but first it requeues the block with a timeout of\n30s. nlm_async_call will attempt to bind the RPC client to client2 and\nwill call rpc_ping. rpc_ping entails a sync RPC call and if client2 is\nunresponsive it will take around 60s for that to time out. Once it times\nout, it\u0027s already time to retry the block and the whole process repeats.\n\nOnce in this situation, nlmsvc_retry_blocked will never return until\nthe host starts responding again. lockd won\u0027t service new calls.\n\nFix this by skipping the RPC ping on NLM RPC clients. This makes\nnlm_async_call return quickly when called.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d801b861681116ea23a7fb87a70bf463d29c8b9c",
      "tree": "dcc35c5c93461c452942fe5954badd034d8a2939",
      "parents": [
        "0113ab34644649aceaac37ef4b7e5c7d5c183be3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "NLM: tear down RPC clients in nlm_shutdown_hosts\n\nIt\u0027s possible for a RPC to outlive the lockd daemon that created it, so\nwe need to make sure that all RPC\u0027s are killed when lockd is coming\ndown. When nlm_shutdown_hosts is called, kill off all RPC tasks\nassociated with the host. Since we need to wait until they have all gone\naway, we might as well just shut down the RPC client altogether.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "50431d94e732ba71b66a83c5435890728e313095",
      "tree": "4bee956a3f089aac02eafafcbc4a03c138696e6d",
      "parents": [
        "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 31 17:09:33 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "lockd: minor log message fix\n\nWendy Cheng noticed that function name doesn\u0027t agree here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Wendy Cheng \u003cwcheng@redhat.com\u003e\n"
    },
    {
      "commit": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "54ca95eb362d6988a577965ffb77c08702adb890",
      "tree": "a18ff136ce9d530eaa90a42831d9b85a91ab6321",
      "parents": [
        "8838dc43d6544570e8969a74ddc4a0d21abffde6"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Fri Jan 11 21:57:35 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "Leak in nlmsvc_testlock for async GETFL case\n\nFix nlm_block leak for the case of supplied blocking lock info.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29dbf546159f5701e11de26fa2da5c4a962e0f83",
      "tree": "1dcdd1785445cbbf30a159a15b7b1d77f42c51c2",
      "parents": [
        "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Thu Nov 29 14:02:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix a leak in nlmsvc_testlock asynchronous request handling\n\nWithout the patch, there is a leakage of nlmblock structure refcount\nthat holds a reference nlmfile structure, that holds a reference to\nstruct file, when async GETFL is used (-EINPROGRESS return from\nfile_ops-\u003elock()), and also in some error cases.\n\nFix up a style nit while we\u0027re here.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7e6b86948df8d08d420558212e09eb449be9bfa",
      "tree": "b9bce0e95a93a6b9142b55c647fb0fbe163a2130",
      "parents": [
        "404ec117be5d36e1a4c4582d0c518594333e32df"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Mon Nov 26 13:35:11 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix reference count leaks in async locking case\n\nIn a number of places where we wish only to translate nlm_drop_reply to\nrpc_drop_reply errors we instead return early with rpc_drop_reply,\nskipping some important end-of-function cleanup.\n\nThis results in reference count leaks when lockd is doing posix locking\non GFS2.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48df020aa17ac95a012ff765b0086ede5996b320",
      "tree": "52aa9d1ff1e320ead499bddfe98cb05b06df1311",
      "parents": [
        "e5cff482c78a35b9f149a06aa777a1bd693864fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:53 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NLM: Fix sign of length of NLM variable length strings\n\nAccording to The Open Group\u0027s NLM specification, NLM callers are variable\nlength strings.  XDR variable length strings use an unsigned 32 bit length.\nAnd internally, negative string lengths are not meaningful for the Linux\nNLM implementation.\n\nClean up: Make nlm_lock.len and nlm_reboot.len unsigned integers.  This\nmakes the sign of NLM string lengths consistent with the sign of xdr_netobj\nlengths.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "65fdf7d264213a9a8de44f9a20e002a26c267a76",
      "tree": "c7279d26e01d0d229a8ca7dd4a5667cc8be7f9b3",
      "parents": [
        "883bb163f84e0a54b29846c61621f52db3f27393"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 11 17:41:29 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:08 2008 -0500"
      },
      "message": "NLM: Fix a bogus \u0027return\u0027 in nlmclnt_rpc_release\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "883bb163f84e0a54b29846c61621f52db3f27393",
      "tree": "ea11b2d1ba85cbb4422ae7ff615d6d186d709af1",
      "parents": [
        "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jan 15 16:04:20 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM: Introduce an arguments structure for nlmclnt_init()\n\nClean up: pass 5 arguments to nlmclnt_init() in a structure similar to the\nnew nfs_client_initdata structure.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe",
      "tree": "bc558d58ae38aab7e615883eceef1ec253c2d646",
      "parents": [
        "9289e7f91add1c09c3ec8571a2080f7507730b8d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM/NFS: Use cached nlm_host when calling nlmclnt_proc()\n\nNow that each NFS mount point caches its own nlm_host structure, it can be\npassed to nlmclnt_proc() for each lock request.  By pinning an nlm_host for\neach mount point, we trade the overhead of looking up or creating a fresh\nnlm_host struct during every NLM procedure call for a little extra memory.\n\nWe also restrict the nlmclnt_proc symbol to limit the use of this call to\nin-tree modules.\n\nNote that nlm_lookup_host() (just removed from the client\u0027s per-request\nNLM processing) could also trigger an nlm_host garbage collection.  Now\nclient-side nlm_host garbage collection occurs only during NFS mount\nprocessing.  Since the NFS client now holds a reference on these nlm_host\nstructures, they wouldn\u0027t have been affected by garbage collection\nanyway.\n\nGiven that nlm_lookup_host() reorders the global nlm_host chain after\nevery successful lookup, and that a garbage collection could be triggered\nduring the call, we\u0027ve removed a significant amount of per-NLM-request\nCPU processing overhead.\n\nSidebar: there are only a few remaining references to the internals of\nNFS inodes in the client-side NLM code.  The only references I found are\nrelated to extracting or comparing the inode\u0027s file handle via NFS_FH().\nOne is in nlmclnt_grant(); the other is in nlmclnt_setlockargs().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be",
      "tree": "e8ff891bc68ee10ebe3d067b13ba31e2deb645bb",
      "parents": [
        "86d61d8638ddf9cdf87df26c7fa69b2804425fbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:44 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:06 2008 -0500"
      },
      "message": "NLM: Introduce external nlm_host set-up and tear-down functions\n\nWe would like to remove the per-lock-operation nlm_lookup_host() call from\nnlmclnt_proc().\n\nThe new architecture pins an nlm_host structure to each NFS client\nsuperblock that has the \"lock\" mount option set.  The NFS client passes\nin the pinned nlm_host structure during each call to nlmclnt_proc().  NFS\nclient unmount processing \"puts\" the nlm_host so it can be garbage-\ncollected later.\n\nThis patch introduces externally callable NLM functions that handle\nmount-time nlm_host set up and tear-down.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5",
      "tree": "7c863b953cf4862579ba057b3d5b4a68e8038e4d",
      "parents": [
        "3d509e5454a0a5ac88bf3191ab65d85952c1de31"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:55:11 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:02 2008 -0500"
      },
      "message": "lockd: Eliminate harmless mixed sign comparison in nlmdbg_cookie2a()\n\nThe cookie-\u003elen field is unsigned, so the loop index variable in\nnlmdbg_cookie2a() should also be unsigned.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0896a725a1c5fdc8773a4d1ab0b73059507f5925",
      "tree": "e8a44eecc411f0d117358752d8a2b80895d81bc0",
      "parents": [
        "4fa016eb248cac875541fa199af550a8aefa0e90"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:48:23 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:53 2007 -0400"
      },
      "message": "NFS/SUNRPC: use transport protocol naming\n\nInstead of an { address family, raw IP protocol number }-tuple, use the\nnewly-defined RPC identifier when creating clients in the upper layers.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e159a08b6ab14e255536fddae75d448395295c6f",
      "tree": "ed707db605ce1f47fc0f6dbe26b07556589b0f01",
      "parents": [
        "fe82a183ca3c9188945c4ebeebc2ca45abfa24e5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 11 18:01:15 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:12 2007 -0400"
      },
      "message": "LOCKD: Convert printk\u0027s to dprintk\u0027s in lockd XDR routines\n\nDue to recent edict to remove or replace printk\u0027s that might flood the\nsystem log.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6d85430424d44e946e0946bfaad607115510989",
      "tree": "f324085c0d92fb8ebae928bab3a5f0b480a3bb4a",
      "parents": [
        "baf14aa14efcfdb5a74d5cf804691086c6bec743"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 11:04:57 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 09 12:38:26 2007 -0700"
      },
      "message": "NLM: Fix a memory leak in nlmsvc_testlock\n\nThe recent fix for a circular lock dependency unfortunately introduced a\npotential memory leak in the event where the call to nlmsvc_lookup_host\nfails for some reason.\n\nThanks to Roel Kluin for spotting this.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "255129d1e9ca0ed3d69d5517fae3e03d7ab4b806",
      "tree": "e3dedbffebd4f0e15da97684500296c9bc4d3d6a",
      "parents": [
        "f6a592e8abd2f2394623ce5427cbb4c265495974"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 25 15:55:03 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 26 09:22:04 2007 -0700"
      },
      "message": "NLM: Fix a circular lock dependency in lockd\n\nThe problem is that the garbage collector for the \u0027host\u0027 structures\nnlm_gc_hosts(), holds nlm_host_mutex while calling down to\nnlmsvc_mark_resources, which, eventually takes the file-\u003ef_mutex.\n\nWe cannot therefore call nlmsvc_lookup_host() from within\nnlmsvc_create_block, since the caller will already hold file-\u003ef_mutex, so\nthe attempt to grab nlm_host_mutex may deadlock.\n\nFix the problem by calling nlmsvc_lookup_host() outside the file-\u003ef_mutex.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca5c8cde93d65db3139604ca6b91bf8ff3f775e2",
      "tree": "d9ce882caf6b2b1d578829481e0895d6cd5b02aa",
      "parents": [
        "582ee43dad8e411513a74f2d801255dcffc6d29e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:33:49 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:56 2007 -0700"
      },
      "message": "lockd and nfsd endianness annotation fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a8db97e7756119689c93c431e8b8324080f5625",
      "tree": "2e0ac28664b02c7e1c7a111c6e60ac059fd92ad8",
      "parents": [
        "12127498c8f5e479df15ee374a0932f5659df49e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Jul 17 04:04:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4\n\nBoth lockd and (in the nfsv4 case) nfsd enforce a \"grace period\" after reboot,\nduring which clients may reclaim locks from the previous server instance, but\nmay not acquire new locks.\n\nCurrently the lockd and nfsd enforce grace periods of different lengths.  This\nmay cause problems when we reboot a server with both v2/v3 and v4 clients.\nFor example, if the lockd grace period is shorter (as is likely the case),\nthen a v3 client might acquire a new lock that conflicts with a lock already\nheld (but not yet reclaimed) by a v4 client.\n\nThis patch calculates a lease time that lockd and nfsd can both use.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c98451bdb2f3e6d6cc1e03adad641e9497512b49",
      "tree": "e5e2aa60dd308fc5fa2b641d84798e6b93376949",
      "parents": [
        "d3bc9a1deb8964d774af8535814cb91bf8f6def0"
      ],
      "author": {
        "name": "Frank van Maarseveen",
        "email": "frankvm@frankvm.com",
        "time": "Mon Jul 09 22:25:29 2007 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:49 2007 -0400"
      },
      "message": "NLM: fix source address of callback to client\n\nUse the destination address of the original NLM request as the\nsource address in callbacks to the client.\n\nSigned-off-by: Frank van Maarseveen \u003cfrankvm@frankvm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61534dfd38f895b203e2aadaba04f21a992ca8c",
      "tree": "02485ae68fb2f45cbbc06152e0a4856ceff5f587",
      "parents": [
        "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:31:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90c5755ff5111ffdcca10a1e8a823dba29f37b6d",
      "tree": "a3ca80b629d11e341fa2bcdf30e0d712dcccc3ba",
      "parents": [
        "848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 09 19:49:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:29 2007 -0400"
      },
      "message": "SUNRPC: Kill rpc_clnt-\u003ecl_oneshot\n\nReplace it with explicit calls to rpc_shutdown_client() or\nrpc_destroy_client() (for the case of asynchronous calls).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "34f52e3591f241b825353ba27def956d8487c400",
      "tree": "9f7f0cd52f206095217bd2469e31c2531cbae0a4",
      "parents": [
        "c44fe705530ff9ea5e563bf9b65bdd29defe682b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 16:40:31 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:28 2007 -0400"
      },
      "message": "SUNRPC: Convert rpc_clnt-\u003ecl_users to a kref\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d48c5f41000ad176df71d2d43932c6c50f938196",
      "tree": "fa513ac473e1a9cd778c35fc260db6e7e4fc3dd6",
      "parents": [
        "2e42c3e2aec6e24e58c4c601e1a33f0e9e36e314"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 17:21:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:46 2007 -0400"
      },
      "message": "NLM: Fix sparse warnings\n\n - fs/lockd/xdr4.c:140:27: warning: incorrect type in argument 2 (different\n   explicit signedness)\n - fs/lockd/xdr4.c:141:27: warning: incorrect type in argument 2 (different\n   explicit signedness)\n - fs/lockd/xdr4.c:432:28: warning: incorrect type in argument 2 (different\n   explicit signedness)\n - fs/lockd/xdr4.c:433:28: warning: incorrect type in argument 2 (different\n   explicit signedness)\n - fs/lockd/xdr4.c:587:20: warning: symbol \u0027nlm_version4\u0027 was not declared.\n   Should it be static?\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "550facd138d8f6b0ca683c1e894b5cd0f381cb63",
      "tree": "da1a1c3051bcec42578068ee36425ec2b405209f",
      "parents": [
        "21051ba6259c519e20a7d575ddceb16e84ad2a5d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu May 10 22:55:07 2007 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:44 2007 -0400"
      },
      "message": "NLM: don\u0027t use CLONE_SIGHAND in nlmclnt_recovery\n\nreclaimer() calls allow_signal() which plays with parent process\u0027s -\u003esighand.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21051ba6259c519e20a7d575ddceb16e84ad2a5d",
      "tree": "78dcaf02ffe66efce5e0ab230e446be435da0d21",
      "parents": [
        "faa8b6c3c2e1454175609167a25ae525d075f045"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 16:50:44 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:44 2007 -0400"
      },
      "message": "NLM: Fix locking client timeouts...\n\nnlmsvc_timeout is already in units of HZ...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d56d3c43cc97ae48586745556f5a5b564d61582",
      "tree": "28f2edc1e69b79e94d99023041dd0358861b6956",
      "parents": [
        "0f9008ef38d5a6305d94bbdd8f20d68fc75c63b6",
        "586759f03e2e9031ac5589912a51a909ed53c30a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "message": "Merge branch \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux:\n  gfs2: nfs lock support for gfs2\n  lockd: add code to handle deferred lock requests\n  lockd: always preallocate block in nlmsvc_lock()\n  lockd: handle test_lock deferrals\n  lockd: pass cookie in nlmsvc_testlock\n  lockd: handle fl_grant callbacks\n  lockd: save lock state on deferral\n  locks: add fl_grant callback for asynchronous lock return\n  nfsd4: Convert NFSv4 to new lock interface\n  locks: add lock cancel command\n  locks: allow {vfs,posix}_lock_file to return conflicting lock\n  locks: factor out generic/filesystem switch from setlock code\n  locks: factor out generic/filesystem switch from test_lock\n  locks: give posix_test_lock same interface as -\u003elock\n  locks: make -\u003elock release private data before returning in GETLK case\n  locks: create posix-to-flock helper functions\n  locks: trivial removal of unnecessary parentheses\n"
    },
    {
      "commit": "1a8322b2b02071b0c7ac37a28357b93e6362f13e",
      "tree": "04fbdd52d8b3c2886d70b3739b9dff683aa79f02",
      "parents": [
        "f812048020282fdfa9b72a6cf539c33b6df1fd07"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:27:06 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: add code to handle deferred lock requests\n\nRewrite nlmsvc_lock() to use the asynchronous interface.\n\nAs with testlock, we answer nlm requests in nlmsvc_lock by first looking up\nthe block and then using the results we find in the block if B_QUEUED is\nset, and calling vfs_lock_file() otherwise.\n\nIf this a new lock request and we get -EINPROGRESS return on a non-blocking\nrequest then we defer the request.\n\nAlso modify nlmsvc_unlock() to call the filesystem method if appropriate.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f812048020282fdfa9b72a6cf539c33b6df1fd07",
      "tree": "e4f281027da1f0e907e68b2e26ae5b773a967047",
      "parents": [
        "5ea0d75037b93baa453b4d326c6319968fe91cea"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Dec 05 23:48:10 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: always preallocate block in nlmsvc_lock()\n\nNormally we could skip ever having to allocate a block in the case where\nthe client asks for a non-blocking lock, or asks for a blocking lock that\nsucceeds immediately.\n\nHowever we\u0027re going to want to always look up a block first in order to\ncheck whether we\u0027re revisiting a deferred lock call, and to be prepared to\nhandle the case where the filesystem returns -EINPROGRESS--in that case we\nwant to make sure the lock we\u0027ve given the filesystem is the one embedded\nin the block that we\u0027ll use to track the deferred request.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ea0d75037b93baa453b4d326c6319968fe91cea",
      "tree": "661d15750a689daec2dca0f81a16c75a930df741",
      "parents": [
        "85f3f1b3f7a6197b51a2ab98d927517df730214c"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:27:06 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: handle test_lock deferrals\n\nRewrite nlmsvc_testlock() to use the new asynchronous interface: instead of\nimmediately doing a posix_test_lock(), we first look for a matching block.\nIf the subsequent test_lock returns anything other than -EINPROGRESS, we\nthen remove the block we\u0027ve found and return the results.\n\nIf it returns -EINPROGRESS, then we defer the lock request.\n\nIn the case where the block we find in the first step has B_QUEUED set,\nwe bypass the vfs_test_lock entirely, instead using the block to decide how\nto respond:\n\twith nlm_lck_denied if B_TIMED_OUT is set.\n\twith nlm_granted if B_GOT_CALLBACK is set.\n\tby dropping if neither B_TIMED_OUT nor B_GOT_CALLBACK is set\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "85f3f1b3f7a6197b51a2ab98d927517df730214c",
      "tree": "198465d6798b5483be2540fb6e1c0badc96d9265",
      "parents": [
        "0e4ac9d93515b27fd7635332d73eae3192ed5d4e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:27:06 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: pass cookie in nlmsvc_testlock\n\nChange NLM internal interface to pass more information for test lock; we\nneed this to make sure the cookie information is pushed down to the place\nwhere we do request deferral, which is handled for testlock by the\nfollowing patch.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0e4ac9d93515b27fd7635332d73eae3192ed5d4e",
      "tree": "87db687e59fe3a6bb856be86f67f01b4f780344f",
      "parents": [
        "2b36f412ab6f2e5b64af9832b20eb7ef67d025b4"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:26:51 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: handle fl_grant callbacks\n\nAdd code to handle file system callback when the lock is finally granted.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2b36f412ab6f2e5b64af9832b20eb7ef67d025b4",
      "tree": "b4a561cc944d25d96798f97d06bd78760db7afba",
      "parents": [
        "2beb6614f5e36c6165b704c167d82ef3e4ceaa0c"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Nov 28 16:26:47 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:50 2007 -0400"
      },
      "message": "lockd: save lock state on deferral\n\nWe need to keep some state for a pending asynchronous lock request, so this\npatch adds that state to struct nlm_block.\n\nThis also adds a function which defers the request, by calling\nrqstp-\u003erq_chandle.defer and storing the resulting deferred request in a\nnlm_block structure which we insert into lockd\u0027s global block list.  That\nnew function isn\u0027t called yet, so it\u0027s dead code until a later patch.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "150b393456e5a23513cace286a019e87151e47f0",
      "tree": "91599ec9b759f7e3c5defcb8dd361acd7288154c",
      "parents": [
        "7723ec9777d9832849b76475b1a21a2872a40d20"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 16:15:35 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 19:23:24 2007 -0400"
      },
      "message": "locks: allow {vfs,posix}_lock_file to return conflicting lock\n\nThe nfsv4 protocol\u0027s lock operation, in the case of a conflict, returns\ninformation about the conflicting lock.\n\nIt\u0027s unclear how clients can use this, so for now we\u0027re not going so far as to\nadd a filesystem method that can return a conflicting lock, but we may as well\nreturn something in the local case when it\u0027s easy to.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9d6a8c5c213e34c475e72b245a8eb709258e968c",
      "tree": "96110535c2bd9485129c0753a9e0f012083b220f",
      "parents": [
        "70cc6487a4e08b8698c0e2ec935fb48d10490162"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Wed Feb 21 00:55:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 17:39:00 2007 -0400"
      },
      "message": "locks: give posix_test_lock same interface as -\u003elock\n\nposix_test_lock() and -\u003elock() do the same job but have gratuitously\ndifferent interfaces.  Modify posix_test_lock() so the two agree,\nsimplifying some code in the process.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2bea90d43a050bbc4021d44e59beb34f384438db",
      "tree": "2dd3f15bd9df537166a82777b0c95243b90b17e1",
      "parents": [
        "511d2e8855a065c8251d0c140ebc353854f1929e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:10 2007 -0700"
      },
      "message": "SUNRPC: RPC buffer size estimates are too large\n\nThe RPC buffer size estimation logic in net/sunrpc/clnt.c always\nsignificantly overestimates the requirements for the buffer size.\nA little instrumentation demonstrated that in fact rpc_malloc was never\nallocating the buffer from the mempool, but almost always called kmalloc.\n\nTo compute the size of the RPC buffer more precisely, split p_bufsiz into\ntwo fields; one for the argument size, and one for the result size.\n\nThen, compute the sum of the exact call and reply header sizes, and split\nthe RPC buffer precisely between the two.  That should keep almost all RPC\nbuffers within the 2KiB buffer mempool limit.\n\nAnd, we can finally be rid of RPC_SLACK_SPACE!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "511d2e8855a065c8251d0c140ebc353854f1929e",
      "tree": "d01c1327f1558ce46ee49dd1ba16da79e7720147",
      "parents": [
        "ca52fec152282ef73e5e882b847b36b1febbb1c6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:47 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:09 2007 -0700"
      },
      "message": "NLM: Shrink the maximum request size of NLM4 requests\n\nNLM version 4 requests estimate the call and reply header sizes rather\nconservatively, using the very maximum size allowed in the protocol even\nthough Linux always uses only a small fraction of the allowable space.\n\nReduce the size of caller and lock arguments to conserve RPC buffer space\nwhile XDR encoding NLM4 arguments.  Add compile-time checks to ensure the\nhostname string won\u0027t overflow NLM protocol maximums.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "405ae7d381302468ecc803f2148a2ae40a04c999",
      "tree": "7b1915220ae6595a28755fbbb32ee95d233a3da9",
      "parents": [
        "ca820181fc187af316a18b2700582663662c4012"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "message": "Replace remaining references to \"driverfs\" with \"sysfs\".\n\nGlobally, s/driverfs/sysfs/g.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "27459f0940e16c68e080f5fc7e85aa9eb3f74528",
      "tree": "f13cd1f2005dda2b6115e2afbc49e1271b0d374b",
      "parents": [
        "2442222283918c2d1c20ae651d95fe168757938b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses\n\nExpand the rq_addr field to allow it to contain larger addresses.\n\nSpecifically, we replace a \u0027sockaddr_in\u0027 with a \u0027sockaddr_storage\u0027, then\neverywhere the \u0027sockaddr_in\u0027 was referenced, we use instead an accessor\nfunction (svc_addr_in) which safely casts the _storage to _in.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\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": "ad06e4bd62351bc569cca0f25d68c58dbd298146",
      "tree": "82024c01e61de32af17d3b67eac0bb93138a2954",
      "parents": [
        "1ba951053f07187f6e77be664a4b6f8bf0ba7ae4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing\n\nThere are loads of places where the RPC server assumes that the rq_addr fields\ncontains an IPv4 address.  Top among these are error and debugging messages\nthat display the server\u0027s IP address.\n\nLet\u0027s refactor the address printing into a separate function that\u0027s smart\nenough to figure out the difference between IPv4 and IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\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": "482fb94e1b0c2efe8258334aa2a68d4f4a91de9c",
      "tree": "84353b34bb5ea02df98b598fff037cf1da20d6b0",
      "parents": [
        "6b174337e5126de834a971d3edc3681bbfa45e2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper\n\nSometimes we need to create an RPC service but not register it with the local\nportmapper.  NFSv4 delegation callback, for example.\n\nChange the svc_makesock() API to allow optionally creating temporary or\npermanent sockets, optionally registering with the local portmapper, and make\nit return the ephemeral port of the new socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\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": "a995e9eb3258df6ab2e9f958e08003978e50d568",
      "tree": "03caf30a4c79f5b2254ad1f15b98bfe4d3519983",
      "parents": [
        "ce35a81a71f405031ed6fd0d454d3aaa55dc8ed2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 02 15:37:43 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:02 2007 -0800"
      },
      "message": "NLM: Fix double free in __nlm_async_call\n\nrpc_call_async() will always call rpc_release_calldata(), so it is an\nerror for __nlm_async_call() to do so as well.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d019bcf0eb9a55c51f1c57659f923d356b4675e1",
      "tree": "06349b9f623ad6978d5cb8bec27393a7e2e1090a",
      "parents": [
        "a0f7b67ae470f3afed3f03d017fd1c29fd1b58b8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jan 29 13:19:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] fs/lockd/clntlock.c: add missing newlines to dprintk\u0027s\n\nThis patch adds missing newlines to dprintk\u0027s.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cbded585d129d0226cb48ac4202b253c781be26",
      "tree": "fb24edc194a57ee81a3bf8a4dd8a95030dd0ad22",
      "parents": [
        "0743b86800cf1dfbf96df4a438938127bbe4476c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed Dec 13 00:35:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:58 2006 -0800"
      },
      "message": "[PATCH] getting rid of all casts of k[cmz]alloc() calls\n\nRun this:\n\n\t#!/bin/sh\n\tfor f in $(grep -Erl \"\\([^\\)]*\\) *k[cmz]alloc\" *) ; do\n\t  echo \"De-casting $f...\"\n\t  perl -pi -e \"s/ ?\u003d ?\\([^\\)]*\\) *(k[cmz]alloc) *\\(/ \u003d \\1\\(/\" $f\n\tdone\n\nAnd then go through and reinstate those cases where code is casting pointers\nto non-pointers.\n\nAnd then drop a few hunks which conflicted with outstanding work.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e, Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8c5c045d790e7018c56f1a998a2d240b732ea3c",
      "tree": "d64de6d21d715d163244a1caeedd617955eaad5e",
      "parents": [
        "905f3ed62515f233fea09dc5ad68bbcff4903520"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Dec 13 00:35:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:52 2006 -0800"
      },
      "message": "[PATCH] lockd endianness annotations\n\nAnnotated, all places switched to keeping status net-endian.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "225a719f79fbc4d0cd9d9ebc5b2e3ac0e95845aa",
      "tree": "6ac303324b2832cd92a4ec9539162ac65f8d452d",
      "parents": [
        "a7a005fd12b84392becca311f2a20d5bf2a1b7af"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:47 2006 -0800"
      },
      "message": "[PATCH] struct path: convert lockd\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21b4e736922f546e0f1aa7b9d6c442f309a2444a",
      "tree": "e1be8645297f8ebe87445251743ebcc52081a20d",
      "parents": [
        "34161db6b14d984fb9b06c735b7b42f8803f6851",
        "68380b581383c028830f79ec2670f4a193854aa6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n"
    },
    {
      "commit": "c585646dd1d98caf0a5f2e85c794c1441df6fac1",
      "tree": "244fe4b88eeaeccc449d1c936a9e0a4be27b6e0d",
      "parents": [
        "7ddae86095794cce4364740edd8463c77654a265"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:40 2006 -0800"
      },
      "message": "[PATCH] fs/lockd/host.c: make 2 functions static\n\nMake the following needlessly global functions static:\n\n - nlm_lookup_host()\n - nsm_find()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7dfb71030f7636a0d65200158113c37764552f93",
      "tree": "276b812903d377b16d8828e888552fd256f48aab",
      "parents": [
        "8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@linuxmail.org",
        "time": "Wed Dec 06 20:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:27 2006 -0800"
      },
      "message": "[PATCH] Add include/linux/freezer.h and move definitions from sched.h\n\nMove process freezing functions from include/linux/sched.h to freezer.h, so\nthat modifications to the freezer or the kernel configuration don\u0027t require\nrecompiling just about everything.\n\n[akpm@osdl.org: fix ueagle driver]\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c041b5ff8d50c432698d9bfbd68cc4b76c2ea5bc",
      "tree": "e58261c472967086346c01be0cd80f801f0cdb21",
      "parents": [
        "fbf76683ff9d1462ec0b2f90ec6ea4793652318c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:36:03 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:54 2006 -0500"
      },
      "message": "NLM: fix print format for tk_pid\n\nThe tk_pid field is an unsigned short.  The proper print format specifier for\nthat type is %5u, not %4d.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7cc13edc139108bb527b692f0548dce6bc648572",
      "tree": "c16b96e5f461068571a1b82890a2291522022e1d",
      "parents": [
        "d99f160ac53e51090f015a8f0617cea25f81a191"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 05 23:52:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 06 01:46:23 2006 -0800"
      },
      "message": "[PATCH] sysctl: implement CTL_UNNUMBERED\n\nThis patch takes the CTL_UNNUMBERD concept from NFS and makes it available to\nall new sysctl users.\n\nAt the same time the sysctl binary interface maintenance documentation is\nupdated to mention and to describe what is needed to successfully maintain the\nsysctl binary interface.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52921e02a4f4163a7b1f4b5dde71e1debc71de4a",
      "tree": "0202a8a4c8c78aed1826540fb33faf64a88837ce",
      "parents": [
        "7111c66e4e70588c9602035a4996c9cdc2087d2d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:40 2006 -0700"
      },
      "message": "[PATCH] lockd endianness annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\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": "d343fce148a4eee24a907a05c4101d3268045aae",
      "tree": "b8a110f85050b2425ce85434c01c0eac0076472b",
      "parents": [
        "4481d1038f4116f3f5c307d919e6dc815a3acbb9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 17 00:10:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:46 2006 -0700"
      },
      "message": "[PATCH] knfsd: Allow lockd to drop replies as appropriate\n\nIt is possible for the -\u003efopen callback from lockd into nfsd to find that an\nanswer cannot be given straight away (an upcall is needed) and so the request\nhas to be \u0027dropped\u0027, to be retried later.  That error status is not currently\npropagated back.\n\nSo:\n  Change nlm_fopen to return nlm error codes (rather than a private\n  protocol) and define a new nlm_drop_reply code.\n  Cause nlm_drop_reply to cause the rpc request to get rpc_drop_reply\n  when this error comes back.\n  Cause svc_process to drop a request which returns a status of\n  rpc_drop_reply.\n\n[akpm@osdl.org: fix warning storm]\nCc: Marc Eshel \u003ceshel@almaden.ibm.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": "4481d1038f4116f3f5c307d919e6dc815a3acbb9",
      "tree": "4424568a3b335a379796eb867e3c0d898b2dc5d3",
      "parents": [
        "0942176f4353ffebcd6e3f95abce9fd8e24f2cb1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 17 00:10:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:46 2006 -0700"
      },
      "message": "[PATCH] knfsd: Fix bug in recent lockd patches that can cause reclaim to fail\n\nWhen an nfs server shuts down, lockd needs to release all the locks even\nthough the client still holds them.\n\nIt should therefore not \u0027unmonitor\u0027 the clients, so that the files in nfs/sm\nwill still be there when the nfs server restarts, so that those clients will\nbe told to reclaim their locks.\n\nHowever the hosts are fully unmonitored, so statd may well remove the files.\n\nlockd has a test for \u0027sm_sticky\u0027 and avoid the unmonitor call if it is set,\nbut it is currently not set.\n\nSo set it when tearing down lockd.\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": "6b54dae2b0defb30babb0fe87b13463b9f4b2907",
      "tree": "0a9e2d34f4fb089287b6d5b92cb438b30dd66293",
      "parents": [
        "b66285cee3f9abad26cca6c9b848e1ad6b792d94"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: fix refount on nsm\n\nIf nlm_lookup_host finds what it is looking for it exits with an extra\nreference on the matching \u0027nsm\u0027 structure.\n\nSo don\u0027t actually count the reference until we are (fairly) sure it is going\nto be used.\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": "89e63ef609fb0064a47281e31e38010159c32d57",
      "tree": "fcc1953b65d29caabbb4caf25498f4f160797a70",
      "parents": [
        "bc5fea4299b8bda5f73c6f79dc35d388caf8bced"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] Convert lockd to use the newer mutex instead of the older semaphore\n\nBoth the (recently introduces) nsm_sema and the older f_sema are converted\nover.\n\nCc: Olaf Kirch \u003cokir@suse.de\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": "0ade060ee51b9b6cf18d580405dc9ab90067f69f",
      "tree": "cb4973c837192053f5e2b2a5b2e3790362849d00",
      "parents": [
        "460f5cac1e24e947509b6112c99c5bc9ff687b45"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: fix use of h_nextrebind\n\nnlmclnt_recovery would try to force a portmap rebind by setting\nhost-\u003eh_nextrebind to 0.  The right thing to do here is to set it to the\ncurrent time.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\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": "460f5cac1e24e947509b6112c99c5bc9ff687b45",
      "tree": "135d63c8401c79513dd43efdd2faeae51b87c5dc",
      "parents": [
        "39be4502cb75dc26007fe1659735b26c8e63fcc6"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: export nsm_local_state to user space via sysctl\n\nEvery NLM call includes the client\u0027s NSM state.  Currently, the Linux client\nalways reports 0 - which seems not to cause any problems, but is not what the\nprotocol says.\n\nThis patch exposes the kernel\u0027s internal variable to user space via a sysctl,\nwhich can be set at system boot time by statd.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\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": "39be4502cb75dc26007fe1659735b26c8e63fcc6",
      "tree": "0f4c6bf14f8a975178b3192bfc9ba942da56619f",
      "parents": [
        "031d869d0e0be18cfe35526be5608225b8f0a7be"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: match GRANTED_RES replies using cookies\n\nWhen we send a GRANTED_MSG call, we current copy the NLM cookie provided in\nthe original LOCK call - because in 1996, some broken clients seemed to rely\non this bug.  However, this means the cookies are not unique, so that when the\nclient\u0027s GRANTED_RES message comes back, we cannot simply match it based on\nthe cookie, but have to use the client\u0027s IP address in addition.  Which breaks\nwhen you have a multi-homed NFS client.\n\nThe X/Open spec explicitly mentions that clients should not expect the same\ncookie; so one may hope that any clients that were broken in 1996 have either\nbeen fixed or rendered obsolete.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\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"
    }
  ],
  "next": "031d869d0e0be18cfe35526be5608225b8f0a7be"
}
