)]}'
{
  "log": [
    {
      "commit": "cca5172a7ec10dfdb0b787cd8e9d5b0b8f179793",
      "tree": "1b9e86cf95ab5e1e2b3180ebe59be2a05ebbe1bf",
      "parents": [
        "d808ad9ab8b1109239027c248c4652503b9d3029"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 15:38:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:13 2007 -0800"
      },
      "message": "[NET] SUNRPC: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaf68cfbf2241d24d46583423f6bff5c47e088b3",
      "tree": "65ca14b85d28b12da097d7d187cebfef88b5ba3a",
      "parents": [
        "387bb17374c5fa057462d00d4ba941d49f45de4d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 08 14:20:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:47 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix a race in closing NFSd connections\n\nIf you lose this race, it can iput a socket inode twice and you get a BUG\nin fs/inode.c\n\nWhen I added the option for user-space to close a socket, I added some\ncruft to svc_delete_socket so that I could call that function when closing\na socket per user-space request.\n\nThis was the wrong thing to do.  I should have just set SK_CLOSE and let\nnormal mechanisms do the work.\n\nNot only wrong, but buggy.  The locking is all wrong and it openned up a\nrace where-by a socket could be closed twice.\n\nSo this patch:\n  Introduces svc_close_socket which sets SK_CLOSE then either leave\n  the close up to a thread, or calls svc_delete_socket if it can\n  get SK_BUSY.\n\n  Adds a bias to sk_busy which is removed when SK_DEAD is set,\n  This avoid races around shutting down the socket.\n\n  Changes several \u0027spin_lock\u0027 to \u0027spin_lock_bh\u0027 where the _bh\n  was missing.\n\nBugzilla-url: http://bugzilla.kernel.org/show_bug.cgi?id\u003d7916\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34e9a63b4f3e169b583f6ba2e26356ecbf932fba",
      "tree": "445562aa7159ef7ec3d29f8e1cc18d578d9bfcae",
      "parents": [
        "d019bcf0eb9a55c51f1c57659f923d356b4675e1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jan 29 13:19:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] knfsd: ratelimit some nfsd messages that are triggered by external events\n\nAlso remove {NFSD,RPC}_PARANOIA as having the defines doesn\u0027t really add\nanything.\n\nThe printks covered by RPC_PARANOIA were triggered by badly formatted\npackets and so should be ratelimited.\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "250f3915183d377d36e012bac9caa7345ce465b8",
      "tree": "e7fd20dfa79a8b4f6435083bf48f4cd3d1836cbf",
      "parents": [
        "1a8eff6d977c28162c61c9532ca58634e7090b69"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:56:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix an NFSD bug with full sized, non-page-aligned reads\n\nNFSd assumes that largest number of pages that will be needed for a\nrequest+response is 2+N where N pages is the size of the largest permitted\nread/write request.  The \u00272\u0027 are 1 for the non-data part of the request, and 1\nfor the non-data part of the reply.\n\nHowever, when a read request is not page-aligned, and we choose to use\n-\u003esendfile to send it directly from the page cache, we may need N+1 pages to\nhold the whole reply.  This can overflow and array and cause an Oops.\n\nThis patch increases size of the array for holding pages by one and makes sure\nthat entry is NULL when it is not in use.\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a8eff6d977c28162c61c9532ca58634e7090b69",
      "tree": "ef4b4e6639778b803f04028ee4e9337dc50ba967",
      "parents": [
        "98fac23f332da2dea96f6bec4890eb35fdd50606"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:56:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix setting of ACL server versions\n\nDue to silly typos, if the nfs versions are explicitly set, no NFSACL versions\nget enabled.\n\nAlso improve an error message that would have made this bug a little easier to\nfind.\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bde8f00ce64d9824a4f227c8594e335a1a10d044",
      "tree": "5402180d3aef332c54e7b608f5bb3f94675ffadf",
      "parents": [
        "5394cd218735bf462e72bb827fbb7e47fc15f2f0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 24 11:54:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 24 12:31:06 2007 -0800"
      },
      "message": "[PATCH] NFS: Fix Oops in rpc_call_sync()\n\nFix the Oops in http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d138\nWe shouldn\u0027t be calling rpc_release_task() for tasks that are not active.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fadfc8e930dcaf502b49a0a0170ba8ebe9a34c49",
      "tree": "85d353684bd2890af12483cb20147b3c60294f25",
      "parents": [
        "3e1fbd12c958591695f89b11f9c6ec08d002e358"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Dec 22 01:10:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:49 2006 -0800"
      },
      "message": "[PATCH] gss_spkm3: fix error handling in module init\n\nReturn error and prevent from loading module when gss_mech_register()\nfailed.\n\nCc: Andy Adamson \u003candros@citi.umich.edu\u003e\nCc: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd08d6ea443abafe9455997d2889719364b8794b",
      "tree": "fdf69456d67f20cd384a2f7ff78ea88a5e262615",
      "parents": [
        "27d630ece08ae15e35d54201665c247a9fae584c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Dec 13 00:35:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: Don\u0027t ignore kstrdup failure in rpc caches\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": "01f3bd1f03599470e4695392b6ae055ed8506978",
      "tree": "4935c734d984b8e932b7555c70c6f45e8d342d6e",
      "parents": [
        "e0bb89ef031f76dcb9c9d920d18b13948f1418da"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: svcrpc: remove another silent drop from deferral code\n\nThere\u0027s no point deferring something just to immediately fail the deferral,\nespecially now that we can do something more useful in the failure case by\nreturning an error.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0bb89ef031f76dcb9c9d920d18b13948f1418da",
      "tree": "6016032b160db2cf697eea19cd0f12ace946c7cc",
      "parents": [
        "021d3a72459191a76e8e482ee4937ba6bc9fd712"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd: don\u0027t drop silently on upcall deferral\n\nTo avoid tying up server threads when nfsd makes an upcall (to mountd, to get\nexport options, to idmapd, for nfsv4 name\u003c-\u003eid mapping, etc.), we temporarily\n\"drop\" the request and save enough information so that we can revisit it\nlater.\n\nCertain failures during the deferral process can cause us to really drop the\nrequest and never revisit it.\n\nThis is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530\nforbids the server from dropping a request without also closing the\nconnection.\n\nAs a first step, we modify the deferral code to return -ETIMEDOUT (which is\ntranslated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the\nv2 case).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b797b5beac966df5c5d96c0d39fe366f57135343",
      "tree": "2a7b84dc5d19def5b83497054515c915e82cce75",
      "parents": [
        "451c11a161168fbdbba17573d4b062fdd2a4c2c4"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:53 2006 -0800"
      },
      "message": "[PATCH] knfsd: svcrpc: fix gss krb5i memory leak\n\nThe memory leak here is embarassingly obvious.\n\nThis fixes a problem that causes the kernel to leak a small amount of memory\nevery time it receives a integrity-protected request.\n\nThanks to Aim Le Rouzic for the bug report.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd86128088554d64fea1679191509f00e6353c5b",
      "tree": "a828960f4bd44ef1682d88618e58c6ccd2367bc1",
      "parents": [
        "90aef12e6dd609e1ad7fb70044eedc78ca55ee5e"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed Dec 13 00:34:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:52 2006 -0800"
      },
      "message": "[PATCH] Fix numerous kcalloc() calls, convert to kzalloc()\n\nAll kcalloc() calls of the form \"kcalloc(1,...)\" are converted to the\nequivalent kzalloc() calls, and a few kcalloc() calls with the incorrect\nordering of the first two arguments are fixed.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: 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": "303b46bb77a4b1679fd39d7ab5597630743e0ff5",
      "tree": "92581d460c21dfccdd4458122c553c90ecbcb014",
      "parents": [
        "1250ca4c8f48de482ec7c476cb024fe93ad1fbb3"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:50 2006 -0800"
      },
      "message": "[PATCH] struct path: convert sunrpc\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": "34161db6b14d984fb9b06c735b7b42f8803f6851",
      "tree": "99656278b6697f1cde5b05894b7c0ee22c63a00e",
      "parents": [
        "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n\nConflicts:\n\n\tinclude/linux/sunrpc/xprt.h\n\tnet/sunrpc/xprtsock.c\nFix up conflicts with the workqueue changes.\n"
    },
    {
      "commit": "6cfd76a26d9fe2ba54b9d496a48c1d9285e5c5ed",
      "tree": "1114a0630c5045d0650c6d78a8097fdea6f94d8e",
      "parents": [
        "a4c410f00f7ca4bd448b0d63f6f882fd244dc991"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:37:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] lockdep: name some old style locks\n\nName some of the remaning \u0027old_style_spin_init\u0027 locks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed07536ed6731775219c1df7fa26a7588753e693",
      "tree": "c539d80fe50f28d4e294850bb33be810f46fd515",
      "parents": [
        "b9d85b08c689dbf54b9943a02f73cb54c2b0fccf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:35:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:30 2006 -0800"
      },
      "message": "[PATCH] lockdep: annotate nfs/nfsd in-kernel sockets\n\nStick NFS sockets in their own class to avoid some lockdep warnings.  NFS\nsockets are never exposed to user-space, and will hence not trigger certain\ncode paths that would otherwise pose deadlock scenarios.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Dickson \u003cSteveD@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n[ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ]\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": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
      "tree": "3f9c266dd713eb16d5c01389c2df39b5ef727d5f",
      "parents": [
        "c041b5ff8d50c432698d9bfbd68cc4b76c2ea5bc"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:36:14 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:55 2006 -0500"
      },
      "message": "SUNRPC: Remove pprintk() from net/sunrpc/xprt.c\n\nThese appear to be deprecated.  Removing them also gets rid of some sparse\nnoise.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbf76683ff9d1462ec0b2f90ec6ea4793652318c",
      "tree": "22a5738d7eb984ae7315e471814f43c5ea8d8b2e",
      "parents": [
        "282b32e17f64be2204f1ac96d7f40f92cb768cd7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:54 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:53 2006 -0500"
      },
      "message": "SUNRPC: relocate the creation of socket-specific tunables\n\nClean-up:\n\nThe RPC client currently creates some sysctls that are specific to the\nsocket transport.  Move those entirely into xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "282b32e17f64be2204f1ac96d7f40f92cb768cd7",
      "tree": "0a82058abdb8fad356e9eb3b70e99b8c58c3261d",
      "parents": [
        "dd4564715eae2c4136f278da9ae1c3bb5af3e509"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:51 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:53 2006 -0500"
      },
      "message": "SUNRPC: create stubs for xprtsock init and cleanup\n\nOver time we will want to add some specific init and cleanup logic for the\nxprtsock implementation.  Add stub routines for initialization and exit\nprocessing.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd4564715eae2c4136f278da9ae1c3bb5af3e509",
      "tree": "a0e6d56de86bdc9ce57f5663d2d0840c3ea3179b",
      "parents": [
        "9d29231690925915015c21c1fff73c7118099843"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: Rename skb_reader_t and friends\n\nClean-up:  hch suggested that the RPC client shouldn\u0027t pollute the name\nspace used by the generic skb manipulation routines in net/core/skbuff.c.\n\nRename a couple of types in xdr.h to adhere to this convention.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9d29231690925915015c21c1fff73c7118099843",
      "tree": "ac1018a80198a7e493296f5fc8e9fbd8dac7d0f0",
      "parents": [
        "7559c7a28fbcaa0bca028eeebd5f251b09befe6b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: skb_read_bits is the same as xs_tcp_copy_data\n\nClean-up: eliminate xs_tcp_copy_data -- it\u0027s exactly the same logic as the\ncommon routine skb_read_bits.  The UDP and TCP socket read code now share\nthe same routine for copying data into an xdr_buf.\n\nNow that skb_read_bits() is exported, rename it to avoid confusing it with\na generic skb_* function.  As these functions are XDR-specific, they should\nnot have names that suggest they are of generic use.  Also rename\nskb_read_and_csum_bits() to be consistent.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7559c7a28fbcaa0bca028eeebd5f251b09befe6b",
      "tree": "5cbf7df3f966243261e1923641618fd813126734",
      "parents": [
        "314dfd7987c71d7ba0c43ac3bf3d243c102ce025"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: Make address format buffers more generic\n\nFor now we will assume that all transports will use the address format\nbuffers in the rpc_xprt struct to store their addresses.  Change\nrpc_peer2str() to be a generic routine to handle this, and get rid of the\nprint_address() op in the rpc_xprt_ops vector.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "314dfd7987c71d7ba0c43ac3bf3d243c102ce025",
      "tree": "dc1007a39bf4473afc6f3b6fda95c62207d5f4db",
      "parents": [
        "7c6e066ec29290bf062f5bff2984bad9be5809c7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: move saved socket callback functions to a private data structure\n\nMove the three fields for saving socket callback functions out of the\nrpc_xprt structure and into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c6e066ec29290bf062f5bff2984bad9be5809c7",
      "tree": "a7b601ecc7b4ae15022145d34dea812f4de2c07b",
      "parents": [
        "c8475461829fd94f30208fbfa4eab7e5584c6495"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:30 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move the UDP socket bufsize parameters to a private data structure\n\nMove the socket-specific buffer size parameters for UDP sockets to a\nprivate data structure maintained in net/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8475461829fd94f30208fbfa4eab7e5584c6495",
      "tree": "33f3e3de18a0c1b8fce5125bf9b2c0e2c4ce0dd5",
      "parents": [
        "e136d0926ef6a048f6e65b35263c0a9faae3abbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move rpc_xprt socket connect fields into private data structure\n\nMove the socket-specific connection management fields out of the generic\nrpc_xprt structure into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e136d0926ef6a048f6e65b35263c0a9faae3abbe",
      "tree": "703d73647ce48b5c897af1c8a635db209bd03161",
      "parents": [
        "51971139b2342fa1005e87bbfcb52305da3fe891"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move TCP state flags into xprtsock.c\n\nMove \"XPRT_LAST_FRAG\" and friends from xprt.h into xprtsock.c, and rename\nthem to use the naming scheme in use in xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "51971139b2342fa1005e87bbfcb52305da3fe891",
      "tree": "e3d48890ba589ba9f08c33480a14dfd90db7dba5",
      "parents": [
        "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Move TCP receive state variables into private data structure\n\nMove the TCP receive state variables from the generic rpc_xprt structure to\na private structure maintained inside net/sunrpc/xprtsock.c.\n\nAlso rename a function/variable pair to refer to RPC fragment headers\ninstead of record markers, to be consistent with types defined in\nsunrpc/*.h.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf",
      "tree": "62e0e0b7e0ee049795b2e97990c4a2774e59e223",
      "parents": [
        "ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Remove sock and inet fields from rpc_xprt\n\nThe \"sock\" and \"inet\" fields are socket-specific.  Move them to a private\ndata structure maintained entirely within net/sunrpc/xprtsock.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a",
      "tree": "64d712342ceb16e273fa242a9898f7af7d3d04c5",
      "parents": [
        "94efa93435383b08d822a40f24ff6f6ce1a888df"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:48 2006 -0500"
      },
      "message": "SUNRPC: Allocate a private data area for socket-specific rpc_xprt fields\n\nWhen setting up a new transport instance, allocate enough memory for an\nrpc_xprt and a private area.  As part of the same memory allocation, it\nwill be easy to find one, given a pointer to the other.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "94efa93435383b08d822a40f24ff6f6ce1a888df",
      "tree": "d89f72c71ab1ea6c0a6ce5ef8af3ece1c2f510fa",
      "parents": [
        "717757ad1038ab6aacb89bad579c89b006efd913"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:42 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:48 2006 -0500"
      },
      "message": "rpcgss: krb5: miscellaneous cleanup\n\nMiscellaneous cosmetic fixes.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "717757ad1038ab6aacb89bad579c89b006efd913",
      "tree": "19b93c59420a5195d36c333845af9fde4b2b5c7c",
      "parents": [
        "d922a84a8bf1d627810906d033223d4fa629fdbf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:47 2006 -0500"
      },
      "message": "rpcgss: krb5: ignore seed\n\nWe\u0027re currently not actually using seed or seed_init.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d922a84a8bf1d627810906d033223d4fa629fdbf",
      "tree": "8150e29f36f3e14df0c1fea1caa1936f7cfa0e3a",
      "parents": [
        "39a21dd1b0eec3f5eac84ee42bda5ab4915098ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:47 2006 -0500"
      },
      "message": "rpcgss: krb5: sanity check sealalg value in the downcall\n\nThe sealalg is checked in several places, giving the impression it could be\neither SEAL_ALG_NONE or SEAL_ALG_DES.  But in fact SEAL_ALG_NONE seems to\nbe sufficient only for making mic\u0027s, and all the contexts we get must be\ncapable of wrapping as well.  So the sealalg must be SEAL_ALG_DES.  As\nwith signalg, just check for the right value on the downcall and ignore it\notherwise.  Similarly, tighten expectations for the sealalg on incoming\ntokens, in case we do support other values eventually.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "39a21dd1b0eec3f5eac84ee42bda5ab4915098ae",
      "tree": "9dff827542f01a22fbb5742c367c5483e927a378",
      "parents": [
        "ca54f896454852f0bc8d50e6e4c55d9defedbd0a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:39 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:46 2006 -0500"
      },
      "message": "rpcgss: krb5: clean up some goto\u0027s, etc.\n\nRemove some unnecessary goto labels; clean up some return values; etc.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ca54f896454852f0bc8d50e6e4c55d9defedbd0a",
      "tree": "f4d3c245f1b0e6edc38e4b9348d54f9f95028827",
      "parents": [
        "2818bf81a8c91fb29634df68bdc3cc5e003201d0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:46 2006 -0500"
      },
      "message": "rpcgss: simplify make_checksum\n\nWe\u0027re doing some pointless translation between krb5 constants and kernel\ncrypto string names.\n\nAlso clean up some related spkm3 code as necessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2818bf81a8c91fb29634df68bdc3cc5e003201d0",
      "tree": "8835e6bc382b43bb4546f3063573d46936ba711c",
      "parents": [
        "5eb064f93973def1ec2ab4a46929e94389a6283b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:45 2006 -0500"
      },
      "message": "rpcgss: krb5: kill checksum_type, miscellaneous small cleanup\n\nPrevious changes reveal some obvious cruft.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5eb064f93973def1ec2ab4a46929e94389a6283b",
      "tree": "ce51f825db0318ee1e5c75e64c9dd0f60f31fda0",
      "parents": [
        "e678e06bf8fa25981a6fa1f08b979fd086d713f8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:45 2006 -0500"
      },
      "message": "rpcgss: krb5: expect a constant signalg value\n\nWe also only ever receive one value of the signalg, so let\u0027s not pretend\notherwise\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e678e06bf8fa25981a6fa1f08b979fd086d713f8",
      "tree": "1015c61bca28e960a62b52b5cc4045bcacebad6d",
      "parents": [
        "adeb8133dd57f380e70a389a89a2ea3ae227f9e2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:35 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "gss: krb5: remove signalg and sealalg\n\nWe designed the krb5 context import without completely understanding the\ncontext.  Now it\u0027s clear that there are a number of fields that we ignore,\nor that we depend on having one single value.\n\nIn particular, we only support one value of signalg currently; so let\u0027s\ncheck the signalg field in the downcall (in case we decide there\u0027s\nsomething else we could support here eventually), but ignore it otherwise.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "adeb8133dd57f380e70a389a89a2ea3ae227f9e2",
      "tree": "9cea0324f2e8e03c7c4473cfa132b43ab352cb25",
      "parents": [
        "37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Dec 04 20:22:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "rpc: spkm3 update\n\nThis updates the spkm3 code to bring it up to date with our current\nunderstanding of the spkm3 spec.\n\nIn doing so, we\u0027re changing the downcall format used by gssd in the spkm3 case,\nwhich will cause an incompatilibity with old userland spkm3 support.  Since the\nold code a) didn\u0027t implement the protocol correctly, and b) was never\ndistributed except in the form of some experimental patches from the citi web\nsite, we\u0027re assuming this is OK.\n\nWe do detect the old downcall format and print warning (and fail).  We also\ninclude a version number in the new downcall format, to be used in the\nfuture in case any further change is required.\n\nIn some more detail:\n\n\t- fix integrity support\n\t- removed dependency on NIDs. instead OIDs are used\n\t- known OID values for algorithms added.\n\t- fixed some context fields and types\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d",
      "tree": "c4c039bd801fedbaa9b8f9da67aeda3948fe9f38",
      "parents": [
        "87d918d667e51962938392759aef6ca368d6e96d"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Dec 04 20:22:33 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "rpc: move process_xdr_buf\n\nSince process_xdr_buf() is useful outside of the kerberos-specific code, we\nmove it to net/sunrpc/xdr.c, export it, and rename it in keeping with xdr_*\nnaming convention of xdr.c.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "87d918d667e51962938392759aef6ca368d6e96d",
      "tree": "b501911296997106c226b53c486a4e61d629d2a6",
      "parents": [
        "8fc7500bb8ea3b5c909869d00628635e964ae882"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:32 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:43 2006 -0500"
      },
      "message": "rpc: gss: fix a kmap_atomic race in krb5 code\n\nThis code is never called from interrupt context; it\u0027s always run by either\na user thread or rpciod.  So KM_SKB_SUNRPC_DATA is inappropriate here.\n\nThanks to Aimé Le Rouzic for capturing an oops which showed the kernel\ntaking an interrupt while we were in this piece of code, resulting in a\nnested kmap_atomic(.,KM_SKB_SUNRPC_DATA) call from\nxdr_partial_copy_from_skb().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8fc7500bb8ea3b5c909869d00628635e964ae882",
      "tree": "3e1b175c0e155a81ace7e9460f4a574d8f5de3be",
      "parents": [
        "2b577f1f14c8d83ba9400ec8accaf4a208f4f36a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 04 20:22:31 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:43 2006 -0500"
      },
      "message": "rpc: gss: eliminate print_hexl()\u0027s\n\nDumping all this data to the logs is wasteful (even when debugging is turned\noff), and creates too much output to be useful when it\u0027s turned on.\n\nFix a minor style bug or two while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2b577f1f14c8d83ba9400ec8accaf4a208f4f36a",
      "tree": "ba5187ce24b061781283dd624af8416d1be3b179",
      "parents": [
        "a18030445fd4dd20e2248007b5d1cf0b5d89c69d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 16 15:03:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:42 2006 -0500"
      },
      "message": "SUNRPC: another pmap wakeup fix\n\nDon\u0027t wake up bind waiters if a task finds that another task is already\ntrying to bind.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8541ecdd5692bcfbcb5305cab9a873288d29175",
      "tree": "45714725337f22a5eb27cbe5b87c3b01f37c9490",
      "parents": [
        "e744cf2e3ab8535a8494a4cf0177de26f94586da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 17 14:44:27 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:34 2006 -0500"
      },
      "message": "SUNRPC: Make the transport-specific setup routine allocate rpc_xprt\n\nChange the location where the rpc_xprt structure is allocated so each\ntransport implementation can allocate a private area from the same\nchunk of memory.\n\nNote also that xprt-\u003eops-\u003edestroy, rather than xprt_destroy, is now\nresponsible for freeing rpc_xprt when the transport is destroyed.\n\nTest plan:\nConnectathon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5684b65ff52ebfa942e8086d91a4966121ae7",
      "tree": "19b52d0af15abae59fd5d9cb7b96406484a79762",
      "parents": [
        "bee57c99c322d64407b80c8171958b4384902da4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 17 15:06:22 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:33 2006 -0500"
      },
      "message": "SUNRPC: Clean up xs_send_pages()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bee57c99c322d64407b80c8171958b4384902da4",
      "tree": "68c35bd43760e691288e03638491536e9f645ff3",
      "parents": [
        "4e3e43ad14c574281034a27420abf1993694ac11"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 09 22:08:22 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:33 2006 -0500"
      },
      "message": "SUNRPC: Ensure xdr_buf_read_netobj() checks for memory overruns\n\nAlso clean up the code...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4e3e43ad14c574281034a27420abf1993694ac11",
      "tree": "f6c3e157581bcc7ac35ecace15d5018eb9675404",
      "parents": [
        "1e78957e0a8f882df6a3660b62f9aae441f54891"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 17 13:47:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:32 2006 -0500"
      },
      "message": "SUNRPC: Add __(read|write)_bytes_from_xdr_buf\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e78957e0a8f882df6a3660b62f9aae441f54891",
      "tree": "6746e88e851053867bf49f68403c7b4da991ca85",
      "parents": [
        "eb5f8545ffff98a11c6656d4d2106341ab69c57d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 31 15:09:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:32 2006 -0500"
      },
      "message": "SUNRPC: Clean up argument types in xdr.c\n\nConverts various integer buffer offsets and sizes to unsigned integer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6d5fcb5a52bfd00eab3ba2c7ca890823388436ae",
      "tree": "3408c72a54ac64d68e0e0a505ebe3757f8e42fac",
      "parents": [
        "bbd5a1f9fc9fad0f8725812d91c51b052e847de8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 18 16:01:06 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:30 2006 -0500"
      },
      "message": "SUNRPC: Remove BKL around the RPC socket operations etc.\n\nAll internal RPC client operations should no longer depend on the BKL,\nhowever lockd and NFS callbacks may still require it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbd5a1f9fc9fad0f8725812d91c51b052e847de8",
      "tree": "252650d49dd498a67c404b7c4c1abeb2dc341624",
      "parents": [
        "3e32a5d99a467b9d4d416323c8c292479b4915e5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 18 16:01:05 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:29 2006 -0500"
      },
      "message": "SUNRPC: Fix up missing BKL in asynchronous RPC callback functions\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3e32a5d99a467b9d4d416323c8c292479b4915e5",
      "tree": "96cf078675e55c19676b2c28432c609d60ea2ac1",
      "parents": [
        "23bf85ba43650e4341672a6bc85aa3f2c02eb633"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 16 11:37:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:29 2006 -0500"
      },
      "message": "SUNRPC: Give cloned RPC clients their own rpc_pipefs directory\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23bf85ba43650e4341672a6bc85aa3f2c02eb633",
      "tree": "0c88e0bda09955d749bd27bfa115e1cdd4f9efc4",
      "parents": [
        "e8e058e830f46a76f837522e5e2df46d4303111f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 21 10:40:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:28 2006 -0500"
      },
      "message": "SUNRPC: Handle the cases where rpc_alloc_iostats() fails\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8aca67f0ae2d8811165c22326825a645cc8e1b48",
      "tree": "19e82f4bc7b4f865a9dcf4744e7c224ea517ba10",
      "parents": [
        "e6b3c4db6fbcd0d33720696f37790d6b8be12313"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 13 16:23:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:26 2006 -0500"
      },
      "message": "SUNRPC: Fix a potential race in rpc_wake_up_task()\n\nUse RCU to ensure that we can safely call rpc_finish_wakeup after we\u0027ve\ncalled __rpc_do_wake_up_task. If not, there is a theoretical race, in which\nthe rpc_task finishes executing, and gets freed first.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6b3c4db6fbcd0d33720696f37790d6b8be12313",
      "tree": "24ad4a93b00ba7236b9a2d896fd6cb59a1dc2334",
      "parents": [
        "cc4dc59e5580d6c0de1685a25b74d32175f43434"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 11 22:18:03 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:25 2006 -0500"
      },
      "message": "Fix a second potential rpc_wakeup race...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc4dc59e5580d6c0de1685a25b74d32175f43434",
      "tree": "61de2e40ba38b93027124d691308fc4405ef35d2",
      "parents": [
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "Christophe Saout",
        "email": "christophe@saout.de",
        "time": "Sun Nov 05 18:42:48 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:24 2006 -0500"
      },
      "message": "Subject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition\n\nThe sunrpc scheduler contains a race condition that can let an RPC\ntask end up being neither running nor on any wait queue. The race takes\nplace between rpc_make_runnable (called from rpc_wake_up_task) and\n__rpc_execute under the following condition:\n\nFirst __rpc_execute calls tk_action which puts the task on some wait\nqueue. The task is dequeued by another process before __rpc_execute\ncontinues its execution. While executing rpc_make_runnable exactly after\nsetting the task `running\u0027 bit and before clearing the `queued\u0027 bit\n__rpc_execute picks up execution, clears `running\u0027 and subsequently\nboth functions fall through, both under the false assumption somebody\nelse took the job.\n\nSwapping rpc_test_and_set_running with rpc_clear_queued in\nrpc_make_runnable fixes that hole. This introduces another possible\nrace condition that can be handled by checking for `queued\u0027 after\nsetting the `running\u0027 bit.\n\nBug noticed on a 4-way x86_64 system under XEN with an NFSv4 server\non the same physical machine, apparently one of the few ways to hit\nthis race condition at all.\n\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Christophe Saout \u003cchristophe@saout.de\u003e\nSigned-off-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "e69062b4f728dca01ec1a9eb4ed55b73a374f164",
      "tree": "6f8fe0800c07bb53a47bab00e8dfdb4ff9a912e2",
      "parents": [
        "af997d8c9568d556cd0a362d56de9fb14a6a012a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Nov 21 01:21:34 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:20 2006 -0800"
      },
      "message": "[SUNRPC]: Use k{mem,str}dup where applicable\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "5f92a7388a29594d6c365b23a48d4bb8299a3ea7",
      "tree": "569e888e3b87dd77fa3eafa36dac96f2e1da00c5",
      "parents": [
        "5084205faf45384fff25c4cf77dd5c96279283ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:36:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:34 2006 -0800"
      },
      "message": "[NET]: Annotate callers of the reset of checksum.h stuff.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3bc23e7ee9db8023dff5a86bb3b0069ed018789",
      "tree": "f281b190a20084386666e0f3bb957df427b93ca7",
      "parents": [
        "9981a0e36a572e9fcf84bfab915fdc93bed0e3c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:24:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:27 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_fold() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4806126d78345ad8a99bca1367a8a39c08e19393",
      "tree": "2bd37dc5fe23535be684195cf43a6fa967a0b2e1",
      "parents": [
        "8a74ff7770f4795d7580392890fdf06821c78769"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:22:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:16 2006 -0800"
      },
      "message": "[SUNRPC]: annotate hash_ip()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0c7bb31db0e35d4b772fac452b722460ca368acf",
      "tree": "7156e6fd932c217b36c93ad310a8970edd4bbd05",
      "parents": [
        "7cc13edc139108bb527b692f0548dce6bc648572"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.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] sunrpc: add missing spin_unlock\n\nauth_domain_put() forgot to unlock acquired spinlock.\n\nCc: Olaf Kirch \u003cokir@monad.swb.de\u003e\nCc: Andy Adamson \u003candros@citi.umich.edu\u003e\nCc: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "202dd450246cd658e298a86dddca5592fcb898cd",
      "tree": "3cea5cde79fcd87eaffaa4d38cb813aaf845ecf9",
      "parents": [
        "3f4b23e9833f0816b57d07401eac5e184b627fd7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Oct 29 22:57:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 12:12:21 2006 -0800"
      },
      "message": "[PATCH] fix \"sunrpc: fix refcounting problems in rpc servers\"\n\n- printk should remain dprintk\n\n- fix coding-style.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6740df98e12a8e49ef3a699dcc1e2913f22c51b",
      "tree": "ded79841a8570d3a3aa46154f3bfc4eaa21900d9",
      "parents": [
        "2b52c9590d5ad2fb67b720ec12018dd2cf061480"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Sun Oct 29 22:46:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 12:08:42 2006 -0800"
      },
      "message": "[PATCH] sunrpc: fix refcounting problems in rpc servers\n\nA recent patch fixed a problem which would occur when the refcount on an\nauth_domain reached zero.  This problem has not been reported in practice\ndespite existing in two major kernel releases because the refcount can\nnever reach zero.\n\nThis patch fixes the problems that stop the refcount reaching zero.\n\n1/ We were adding to the refcount when inserting in the hash table,\n   but only removing from the hashtable when the refcount reached zero.\n   Obviously it never would.  So don\u0027t count the implied reference of\n   being in the hash table.\n\n2/ There are two paths on which a socket can be destroyed.  One called\n   svcauth_unix_info_release().  The other didn\u0027t.  So when the other was\n   taken, we can lose a reference to an ip_map which in-turn holds a\n   reference to an auth_domain\n\n   So unify the exit paths into svc_sock_put.  This highlights the fact\n   that svc_delete_socket has slightly odd semantics - it does not drop\n   a reference but probably should.  Fixing this need a bit more\n   thought and testing.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a047060a99f274a7c52cfea8159e4142a14b8a7",
      "tree": "5f9754ea24794b1346dc257b3a8702fa958785e8",
      "parents": [
        "e05d722e4555cd54677b4c8431d9e81fd047ef7a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Oct 19 23:29:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:44 2006 -0700"
      },
      "message": "[PATCH] knfsd: fix race that can disable NFS server\n\nThis patch is suitable for just about any 2.6 kernel.  It should go in\n2.6.19 and 2.6.18.2 and possible even the .17 and .16 stable series.\n\nThis is a long standing bug that seems to have only recently become\napparent, presumably due to increasing use of NFS over TCP - many\ndistros seem to be making it the default.\n\nThe SK_CONN bit gets set when a listening socket may be ready\nfor an accept, just as SK_DATA is set when data may be available.\n\nIt is entirely possible for svc_tcp_accept to be called with neither\nof these set.  It doesn\u0027t happen often but there is a small race in\nsvc_sock_enqueue as SK_CONN and SK_DATA are tested outside the\nspin_lock.  They could be cleared immediately after the test and\nbefore the lock is gained.\n\nThis normally shouldn\u0027t be a problem.  The sockets are non-blocking so\ntrying to read() or accept() when ther is nothing to do is not a problem.\n\nHowever: svc_tcp_recvfrom makes the decision \"Should I accept() or\nshould I read()\" based on whether SK_CONN is set or not.  This usually\nworks but is not safe.  The decision should be based on whether it is\na TCP_LISTEN socket or a TCP_CONNECTED socket.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7766da7f7395b74dec9e52005b7dac0d09391a4",
      "tree": "a7008bf0809b5e4783a013b402b1383c16f050ac",
      "parents": [
        "71bdcf8056f910dc57ea3d0def80a9329e7dc52d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Oct 19 23:28:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] SUNRPC: fix a typo\n\nYes, this actually passed tests the way it was.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-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": "71bdcf8056f910dc57ea3d0def80a9329e7dc52d",
      "tree": "293bf48584d44b5e27cb5050d4e4ccb5254388a2",
      "parents": [
        "b87c0adfeaaf8d8310c4f790d76072a5961b3518"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Oct 19 23:28:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:39 2006 -0700"
      },
      "message": "[PATCH] SUNRPC: fix race in in-kernel RPC portmapper client\n\nWhen submitting a request to a fast portmapper (such as the local rpcbind\ndaemon), the request can complete before the parent task is even queued up on\nxprt-\u003ebinding.  Fix this by queuing before submitting the rpcbind request.\n\nTest plan:\nConnectathon locking test with UDP.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-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": "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": "cfbdbab0634cafae2c43371396e5443cf4d5d7bc",
      "tree": "8e9056d95242ea5e08a9816ed7a5f2eeb0ac7a2c",
      "parents": [
        "86b95c12139785a0f4c17cb7b4cb865e7084cd34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Oct 10 22:49:27 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 10 15:37:24 2006 -0700"
      },
      "message": "[PATCH] net/sunrpc/auth_gss/svcauth_gss.c endianness regression\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c6b0a9f87b82f25fa35206ec04b5160372eabab4",
      "tree": "849ed55115c95a86a3d164d674c178f9504750a5",
      "parents": [
        "5842730de179405d80649231faa0b3f254477434"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Oct 06 00:44:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: tidy up up meaning of \u0027buffer size\u0027 in nfsd/sunrpc\n\nThere is some confusion about the meaning of \u0027bufsz\u0027 for a sunrpc server.\nIn some cases it is the largest message that can be sent or received.  In\nother cases it is the largest \u0027payload\u0027 that can be included in a NFS\nmessage.\n\nIn either case, it is not possible for both the request and the reply to be\nthis large.  One of the request or reply may only be one page long, which\nfits nicely with NFS.\n\nSo we remove \u0027bufsz\u0027 and replace it with two numbers: \u0027max_payload\u0027 and\n\u0027max_mesg\u0027.  Max_payload is the size that the server requests.  It is used\nby the server to check the max size allowed on a particular connection:\ndepending on the protocol a lower limit might be used.\n\nmax_mesg is the largest single message that can be sent or received.  It is\ncalculated as the max_payload, rounded up to a multiple of PAGE_SIZE, and\nwith PAGE_SIZE added to overhead.  Only one of the request and reply may be\nthis size.  The other must be at most one page.\n\nCc: Greg Banks \u003cgnb@sgi.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "8f8e05c5708d7e9017c47f395f8b1498f7f52922",
      "tree": "6972bf60f7d4ae27933af29ffdf694982b121194",
      "parents": [
        "5b304bc5bfccc82b856e876e829c260df8e67ff2"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: use consistent variable name for the reply state\n\nThe rpc reply has multiple levels of error returns.  The code here contributes\nto the confusion by using \"accept_statp\" for a pointer to what the rfc (and\nwireshark, etc.) refer to as the \"reply_stat\".  (The confusion is compounded\nby the fact that the rfc also has an \"accept_stat\" which follows the\nreply_stat in the succesful case.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b304bc5bfccc82b856e876e829c260df8e67ff2",
      "tree": "1ef7b419ff3d0a43ea745b375a8aa8209b59d28e",
      "parents": [
        "3c15a486643a103eaf068e5fb3b7f9d720d579a7"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: gss: fix failure on SVC_DENIED in integrity case\n\nIf the request is denied after gss_accept was called, we shouldn\u0027t try to wrap\nthe reply.  We were checking the accept_stat but not the reply_stat.\n\nTo check the reply_stat in _release, we need a pointer to before (rather than\nafter) the verifier, so modify body_start appropriately.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c15a486643a103eaf068e5fb3b7f9d720d579a7",
      "tree": "624c59db4b1aa7ac906fc71212a2446df2b8aaca",
      "parents": [
        "89e63ef609fb0064a47281e31e38010159c32d57"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "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] knfsd: svcrpc: gss: factor out some common wrapping code\n\nFactor out some common code from the integrity and privacy cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc5fea4299b8bda5f73c6f79dc35d388caf8bced",
      "tree": "e8822bdad94634e896690a285e1e26b54a0f09d5",
      "parents": [
        "0ade060ee51b9b6cf18d580405dc9ab90067f69f"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: register all RPC programs with portmapper by default\n\nThe NFSACL patches introduced support for multiple RPC services listening on\nthe same transport.  However, only the first of these services was registered\nwith portmapper.  This was perfectly fine for nfsacl, as you traditionally do\nnot want these to show up in a portmapper listing.\n\nThe patch below changes the default behavior to always register all services\nlistening on a given transport, but retains the old behavior for nfsacl\nservices.\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": "7b2b1fee30df7e2165525cd03f7d1d01a3a56794",
      "tree": "71740fb9ea88465b54c52d998eadd012a6f8f4a6",
      "parents": [
        "fce1456a19f5c08b688c29f00ef90fdfa074c79b"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: knfsd: cache ipmap per TCP socket\n\nSpeed up high call-rate workloads by caching the struct ip_map for the peer on\nthe connected struct svc_sock instead of looking it up in the ip_map cache\nhashtable on every call.  This helps workloads using AUTH_SYS authentication\nover TCP.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16\nsynthetic client threads simulating an rsync (i.e.  recursive directory\nlisting) workload reading from an i386 RH9 install image (161480 regular files\nin 10841 directories) on the server.  That tree is small enough to fill in the\nserver\u0027s RAM so no disk traffic was involved.  This setup gives a sustained\ncall rate in excess of 60000 calls/sec before being CPU-bound on the server.\n\nProfiling showed strcmp(), called from ip_map_match(), was taking 4.8% of each\nCPU, and ip_map_lookup() was taking 2.9%.  This patch drops both contribution\ninto the profile noise.\n\nNote that the above result overstates this value of this patch for most\nworkloads.  The synthetic clients are all using separate IP addresses, so\nthere are 64 entries in the ip_map cache hash.  Because the kernel measured\ncontained the bug fixed in commit\n\ncommit 1f1e030bf75774b6a283518e1534d598e14147d4\n\nand was running on 64bit little-endian machine, probably all of those 64\nentries were on a single chain, thus increasing the cost of ip_map_lookup().\n\nWith a modern kernel you would need more clients to see the same amount of\nperformance improvement.  This patch has helped to scale knfsd to handle a\ndeployment with 2000 NFS clients.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7adae489fe794e3e203ff168595f635d0b845e59",
      "tree": "f20544b72bdaea7cff0d340b5b4e5bfcaf2ce8fb",
      "parents": [
        "3cc03b164cf01c6f36e64720b58610d292fb26f7"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Prepare knfsd for support of rsize/wsize of up to 1MB, over TCP\n\nThe limit over UDP remains at 32K.  Also, make some of the apparently\narbitrary sizing constants clearer.\n\nThe biggest change here involves replacing NFSSVC_MAXBLKSIZE by a function of\nthe rqstp.  This allows it to be different for different protocols (udp/tcp)\nand also allows it to depend on the servers declared sv_bufsiz.\n\nNote that we don\u0027t actually increase sv_bufsz for nfs yet.  That comes next.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3cc03b164cf01c6f36e64720b58610d292fb26f7",
      "tree": "b558e11a087945ad5b9a1a25483aa2acc8d93fbb",
      "parents": [
        "4452435948424e5322c2a2fefbdc2cf3732cc45d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom\n\n..  by allocating the array of \u0027kvec\u0027 in \u0027struct svc_rqst\u0027.\n\nAs we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer\nallocate an array of this size on the stack.  So we allocate it in \u0027struct\nsvc_rqst\u0027.\n\nHowever svc_rqst contains (indirectly) an array of the same type and size\n(actually several, but they are in a union).  So rather than waste space, we\nmove those arrays out of the separately allocated union and into svc_rqst to\nshare with the kvec moved out of svc_tcp_recvfrom (various arrays are used at\ndifferent times, so there is no conflict).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4452435948424e5322c2a2fefbdc2cf3732cc45d",
      "tree": "d2082c68d33298e85298852cafde7999ccca3364",
      "parents": [
        "5680c44632053a6c9464bca43083f01776d318da"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Replace two page lists in struct svc_rqst with one\n\nWe are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This\nmeans we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.\n\nstruct svc_rqst contains two such arrays.  However the there are never more\nthat RPCSVC_MAXPAGES pages in the two arrays together, so only one array is\nneeded.\n\nThe two arrays are for the pages holding the request, and the pages holding\nthe reply.  Instead of two arrays, we can simply keep an index into where the\nfirst reply page is.\n\nThis patch also removes a number of small inline functions that probably\nserver to obscure what is going on rather than clarify it, and opencode the\nneeded functionality.\n\nAlso remove the \u0027rq_restailpage\u0027 variable as it is *always* 0.  i.e.  if the\nresponse \u0027xdr\u0027 structure has a non-empty tail it is always in the same pages\nas the head.\n\n check counters are initilised and incr properly\n check for consistant usage of ++ etc\n maybe extra some inlines for common approach\n general review\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Magnus Maatta \u003cnovell@kiruna.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5680c44632053a6c9464bca43083f01776d318da",
      "tree": "220f7bcb0168972bbc2ce804074f42b5470a1e15",
      "parents": [
        "cda9e0cd8a6b30ccc32edced066c378fbd87003d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Fixed handling of lockd fail when adding nfsd socket\n\nArrgg..  We cannot \u0027lockd_up\u0027 before \u0027svc_addsock\u0027 as we don\u0027t know the\nprotocol yet....  So switch it around again and save the name of the created\nsockets so that it can be closed if lock_up fails.\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": "37a034729ae611295bbb8e925333d4d54d7c1ebc",
      "tree": "219882844fd21fc65eb8673677e7d37a1ff463a2",
      "parents": [
        "7ed94296a660a61989b5d54f0c4bb804f30567d3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: call lockd_down when closing a socket via a write to nfsd/portlist\n\nThe refcount that nfsd holds on lockd is based on the number of open sockets.\nSo when we close a socket, we should decrement the ref (with lockd_down).\n\nCurrently when a socket is closed via writing to the portlist file, that\ndoesn\u0027t happen.\n\nSo: make sure we get an error return if the socket that was requested does is\nnot found, and call lockd_down if it was.\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e9ff3990f08e9a0c2839cc22808b01732ea5b3e4",
      "tree": "c638a7b89f0c5e8adc410316d06ca1de8b8dabee",
      "parents": [
        "0bdd7aab7f0ecd5d337910816aa058c18398628e"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:21 2006 -0700"
      },
      "message": "[PATCH] namespaces: utsname: switch to using uts namespaces\n\nReplace references to system_utsname to the per-process uts namespace\nwhere appropriate.  This includes things like uname.\n\nChanges: Per Eric Biederman\u0027s comments, use the per-process uts namespace\n\tfor ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c\n\n[jdike@addtoit.com: UML fix]\n[clg@fr.ibm.com: cleanup]\n[akpm@osdl.org: build fix]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfd241600a3b0db4fe43c859f1460d0a958d924a",
      "tree": "7f04604adee7249e686d1db0cac93f1fee8bc5b6",
      "parents": [
        "eec09661dc82e90a31051d045a94026a91aceb82"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:18:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: make rpc threads pools numa aware\n\nActually implement multiple pools.  On NUMA machines, allocate a svc_pool per\nNUMA node; on SMP a svc_pool per CPU; otherwise a single global pool.  Enqueue\nsockets on the svc_pool corresponding to the CPU on which the socket bh is run\n(i.e.  the NIC interrupt CPU).  Threads have their cpu mask set to limit them\nto the CPUs in the svc_pool that owns them.\n\nThis is the patch that allows an Altix to scale NFS traffic linearly\nbeyond 4 CPUs and 4 NICs.\n\nIncorporates changes and feedback from Neil Brown, Trond Myklebust, and\nChristoph Hellwig.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a74554429eada89a7ddb47317e6a2968d03e41a2",
      "tree": "0ebf1550dd1fdafd2900af44ea85d75831172fa3",
      "parents": [
        "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: add svc_set_num_threads\n\nCurrently knfsd keeps its own list of all nfsd threads in nfssvc.c; add a new\nway of managing the list of all threads in a svc_serv.  Add\nsvc_create_pooled() to allow creation of a svc_serv whose threads are managed\nby the sunrpc code.  Add svc_set_num_threads() to manage the number of threads\nin a service, either per-pool or globally across the service.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3262c816a3d7fb1eaabce633caa317887ed549ae",
      "tree": "5b635d8b62b9724ab2b1e5563aad37e35b894406",
      "parents": [
        "c081a0c7cfe42adf8e8b9c2b8d0b2ec7f47603e8"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: split svc_serv into pools\n\nSplit out the list of idle threads and pending sockets from svc_serv into a\nnew svc_pool structure, and allocate a fixed number (in this patch, 1) of\npools per svc_serv.  The new structure contains a lock which takes over\nseveral of the duties of svc_serv-\u003esv_lock, which is now relegated to\nprotecting only sv_tempsocks, sv_permsocks, and sv_tmpcnt in svc_serv.\n\nThe point is to move the hottest fields out of svc_serv and into svc_pool,\nallowing a following patch to arrange for a svc_pool per NUMA node or per CPU.\n This is a major step towards making the NFS server NUMA-friendly.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c081a0c7cfe42adf8e8b9c2b8d0b2ec7f47603e8",
      "tree": "b8be50680c576427f29195946332bacd56eb1055",
      "parents": [
        "5685f0fa1c24b138d041ef129ed419c5effa40e1"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: test and set SK_BUSY atomically\n\nThe SK_BUSY bit in svc_sock-\u003esk_flags ensures that we do not attempt to\nenqueue a socket twice.  Currently, setting and clearing the bit is protected\nby svc_serv-\u003esv_lock.  As I intend to reduce the data that the lock protects\nso it\u0027s not held when svc_sock_enqueue() tests and sets SK_BUSY, that test and\nset needs to be atomic.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5685f0fa1c24b138d041ef129ed419c5effa40e1",
      "tree": "068c413c32cc7735a590d4ec16efe55894e67b80",
      "parents": [
        "1a68d952af5f43032012d26dd0d5164c9e9986bc"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_reserved to atomic_t\n\nConvert the svc_sock-\u003esk_reserved variable from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces (by 1) the number of places we\nneed to take the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a68d952af5f43032012d26dd0d5164c9e9986bc",
      "tree": "6c660f3ee27205a4c4f18883b2205f873cf396be",
      "parents": [
        "c45c357d7dbc9e94338f44349e0035149da86b26"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: use new lock for svc_sock deferred list\n\nProtect the svc_sock-\u003esk_deferred list with a new lock svc_sock-\u003esk_defer_lock\ninstead of svc_serv-\u003esv_lock.  Using the more fine-grained lock reduces the\nnumber of places we need to take the svc_serv lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c45c357d7dbc9e94338f44349e0035149da86b26",
      "tree": "b04388ccaccd5fb304b4bd8be57258d52e79f886",
      "parents": [
        "36bdfc8bae51339aa27ef8e4ce148185293061ae"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_inuse to atomic_t\n\nConvert the svc_sock-\u003esk_inuse counter from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces the number of places we need to\ntake the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36bdfc8bae51339aa27ef8e4ce148185293061ae",
      "tree": "deab54ff70d6991c1e5be0d9efe97d10f65375b0",
      "parents": [
        "4a3ae42dc312dbdffee803efaf393421b79f997a"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: move tempsock aging to a timer\n\nFollowing are 11 patches from Greg Banks which combine to make knfsd more\nNuma-aware.  They reduce hitting on \u0027global\u0027 data structures, and create some\ndata-structures that can be node-local.\n\nknfsd threads are bound to a particular node, and the thread to handle a new\nrequest is chosen from the threads that are attach to the node that received\nthe interrupt.\n\nThe distribution of threads across nodes can be controlled by a new file in\nthe \u0027nfsd\u0027 filesystem, though the default approach of an even spread is\nprobably fine for most sites.\n\nSome (old) numbers that show the efficacy of these patches: N \u003d\u003d number of\nNICs \u003d\u003d number of CPUs \u003d\u003d nmber of clients.  Number of NUMA nodes \u003d\u003d N/2\n\nN\tThroughput, MiB/s\tCPU usage, % (max\u003dN*100)\n\tBefore\tAfter\t\tBefore\tAfter\n\t---\t------\t----\t\t-----\t-----\n\t4\t312\t435\t\t350\t228\n\t6\t500\t656\t\t501\t418\n\t8\t562\t804\t\t690\t589\n\nThis patch:\n\nMove the aging of RPC/TCP connection sockets from the main svc_recv() loop to\na timer which uses a mark-and-sweep algorithm every 6 minutes.  This reduces\nthe amount of work that needs to be done in the main RPC loop and the length\nof time we need to hold the (effectively global) svc_serv-\u003esv_lock.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fb2b47fa16c81317ec282248e6cff521cca31c2",
      "tree": "226d823e900aba03fb7ee55cab3a9137fd5d9077",
      "parents": [
        "896440d560de3bca6813e83792f431edf5073318"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Drop \u0027serv\u0027 option to svc_recv and svc_process\n\nIt isn\u0027t needed as it is available in rqstp-\u003erq_server, and dropping it allows\nsome local vars to be dropped.\n\n[akpm@osdl.org: build fix]\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "b41b66d63c730cc45a1024e1f1e67439e507e40f",
      "tree": "85f623c087a90ccf08a8264c638df5504f972c0d",
      "parents": [
        "80212d59e32a8a8e030c2ddc5861d8ff70542c56"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: allow sockets to be passed to nfsd via \u0027portlist\u0027\n\nUserspace should create and bind a socket (but not connectted) and write the\n\u0027fd\u0027 to portlist.  This will cause the nfs server to listen on that socket.\n\nTo close a socket, the name of the socket - as read from \u0027portlist\u0027 can be\nwritten to \u0027portlist\u0027 with a preceding \u0027-\u0027.\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": "80212d59e32a8a8e030c2ddc5861d8ff70542c56",
      "tree": "fb708f92e50ab8a1c13b68d4e6e3db8b50bd07a8",
      "parents": [
        "02a375f0ac4bc2e9b767fabb6b2f9915547226a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: define new nfsdfs file: portlist - contains list of ports\n\nThis file will list all ports that nfsd has open.\nDefault when TCP enabled will be\n   ipv4 udp 0.0.0.0 2049\n   ipv4 tcp 0.0.0.0 2049\n\nLater, the list of ports will be settable.\n\n\u0027portlist\u0027 chosen rather than \u0027ports\u0027, to avoid unnecessary confusion with\nnon-mainline patches which created \u0027ports\u0027 with different semantics.\n\n[akpm@osdl.org: cleanups, build fix]\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": "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8",
      "tree": "20692a805b32ce5541f7175192f8ab81975434ec",
      "parents": [
        "40f10522173c34e56cb9bf2fd37c62f69a427f1b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: add a callback for when last rpc thread finishes\n\nnfsd has some cleanup that it wants to do when the last thread exits, and\nthere will shortly be some more.  So collect this all into one place and\ndefine a callback for an rpc service to call when the service is about to be\ndestroyed.\n\n[akpm@osdl.org: cleanups, build fix]\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": "40f10522173c34e56cb9bf2fd37c62f69a427f1b",
      "tree": "eadd3c0956b4523acadfa961d41841f873afc714",
      "parents": [
        "b06c7b43335788a62f77a9be9cc8eb479a929853"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: remove an unused variable from auth_unix_lookup()\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "1811474620d1986da45f7245168bf7c2d883d770"
}
