)]}'
{
  "log": [
    {
      "commit": "7402ab19cdd5943c7dd4f3399afe3abda8077ef5",
      "tree": "70c2a418124011a1c8337ec6b221c945846b3f4a",
      "parents": [
        "da09eb93033e7204cb3e3f3140b46cf108c42c8f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon May 09 15:22:55 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "SUNRPC: Use AF_LOCAL for rpcbind upcalls\n\nAs libtirpc does in user space, have our registration API try using an\nAF_LOCAL transport first when registering and unregistering.\n\nThis means we don\u0027t chew up privileged ports, and our registration is\nbound to an \"owner\" (the effective uid of the process on the sending\nend of the transport).  Only that \"owner\" may unregister the service.\n\nThe kernel could probe rpcbind via an rpcbind query to determine\nwhether rpcbind has an AF_LOCAL service. For simplicity, we use the\nsame technique that libtirpc uses: simply fail over to network\nloopback if creating an AF_LOCAL transport to the well-known rpcbind\nservice socket fails.\n\nThis means we open-code the pathname of the rpcbind socket in the\nkernel.  For now we have to do that anyway because the kernel\u0027s\nRPC over AF_LOCAL implementation does not support autobind.  That may\nbe undesirable in the long term.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "4a19de0f4b693139bb10b7cc3cfe1f618576ba67",
      "tree": "c947ed534254d08c5b8836349303844134a13d19",
      "parents": [
        "42acd021824578fa0eeb6eb58d457c23ec5dc9c0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS rename client back channel transport field\n\nDifferentiate from server backchannel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b",
      "tree": "7d99e63af6a6c0b371ab1ee48da16edc73ab942c",
      "parents": [
        "71e161a6a9fa021a280e564254fcda894e6fbd14"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC new transport for the NFSv4.1 shared back channel\n\nMove the current sock create and destroy routines into the new transport ops.\nBack channel socket will be destroyed by the svc_closs_all call in svc_destroy.\n\nAdded check: only TCP supported on shared back channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b5b3ba16be1b195d2e1161746637acd4b9fed4f",
      "tree": "6e58eb24836d73b8fd756d9dff7199a88a9ebafe",
      "parents": [
        "64c2ce8b72eceec4030b04bca32d098b3d1431bb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:24 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC move svc_drop to caller of svc_process_common\n\nThe NFSv4.1 shared back channel does not need to call svc_drop because the\ncallback service never outlives the single connection it services, and it\nreuses it\u0027s buffers and keeps the trasport.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e701c610923aaeac8b38b9202a686d1cc9ee35d",
      "tree": "1b2d65df63858a2cd35a4154e6d8a9fea3e716a3",
      "parents": [
        "d76d1815f3e72fb627ad7f95ef63120b0a557c9c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Jan 02 21:56:36 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:22 2011 -0500"
      },
      "message": "svcrpc: simpler request dropping\n\nCurrently we use -EAGAIN returns to determine when to drop a deferred\nrequest.  On its own, that is error-prone, as it makes us treat -EAGAIN\nreturns from other functions specially to prevent inadvertent dropping.\n\nSo, use a flag on the request instead.\n\nReturning an error on request deferral is still required, to prevent\nfurther processing, but we no longer need worry that an error return on\nits own could result in a drop.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1ebede86b8abbcf8833830e18e05391758cf2f28",
      "tree": "872f1218a45f84070eeac162621ef3e56fc6f222",
      "parents": [
        "06497524589f2a7717da33969d541674e0a27da6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:07 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 16:57:49 2010 -0400"
      },
      "message": "sunrpc: close connection when a request is irretrievably lost.\n\nIf we drop a request in the sunrpc layer, either due kmalloc failure,\nor due to a cache miss when we could not queue the request for later\nreplay, then close the connection to encourage the client to retry sooner.\n\nNote that if the drop happens in the NFS layer, NFSERR_JUKEBOX\n(aka NFS4ERR_DELAY) is returned to guide the client concerning\nreplay.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "72c3368856c543ace033f6a5b9a3edf1f4043236",
      "tree": "53fe8b4b19f42915a5f7d97bd1f779327dd534d4",
      "parents": [
        "d554ed895dc8f293cc712c71f14b101ace82579a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Mar 05 13:42:43 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:31 2010 -0800"
      },
      "message": "nodemask.h: remove macro any_online_node\n\nThe macro any_online_node() is prone to producing sparse warnings due to\nthe local symbol \u0027node\u0027.  Since all the in-tree users are really\nrequesting the first online node (the mask argument is either\nNODE_MASK_ALL or node_online_map) just use the first_online_node macro and\nremove the any_online_node macro since there are no users.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nCc: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba17686f62db88f6a591121e768a0c83a2a2647d",
      "tree": "b32b611d474e062d908af555b012dec0d4f703a5",
      "parents": [
        "9733f0d9289cbcac4fa03db0cb5aec1ab01c6bc9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 26 21:24:04 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 10 08:31:02 2010 -0500"
      },
      "message": "nfs41 do not allocate unused back channel pages\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[Trond.Myklebust@netapp.com: moved definition of svc_is_backchannel()\n into include/linux/sunrpc/bc_xprt.h.]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "301933a0acfdec837fd8b4884093b3f0fff01d8a",
      "tree": "1f2412a30d710493179b1b3743cf30302872df15",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8",
        "68f3f90133d56e0c38f04f991e662c2b21592b31"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "message": "Merge commit \u0027linux-pnfs/nfs41-for-2.6.31\u0027 into nfsv41-for-2.6.31\n"
    },
    {
      "commit": "8f975242352e92898dc641ebff0d24808f39848a",
      "tree": "5a14be85500e5da33b97f4951efa42abe56cd570",
      "parents": [
        "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197",
      "tree": "a8fb954b9e707b4afdd822e503fc4857f4d88d5d",
      "parents": [
        "7652e5a09ba319241607b22d9055ce93fd5b8039"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use\n\nThis svc_xprt is passed on to the callback service thread to be later used\nto processes incoming svc_rqst\u0027s\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4d6bbb6233c9cf23822a2f66f8470c9f40854b77",
      "tree": "0779a7173d2d33adc83162596e64f5636e9f7d5c",
      "parents": [
        "1cad7ea6fe98dc414bd3df55275c147bd15ebf97"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Backchannel bc_svc_process()\n\nImplement the NFSv4.1 backchannel service.  Invokes the common callback\nprocessing logic svc_process_common() to authenticate the call and\ndispatch the appropriate NFSv4.1 XDR decoder and operation procedure.\nIt then invokes bc_send() to send the reply over the same connection.\nbc_send() is implemented in a separate patch.\n\nAt this time there is no slot validation or reply cache handling.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Move bc_svc_process() declaration to correct patch]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1cad7ea6fe98dc414bd3df55275c147bd15ebf97",
      "tree": "1df4c7075e6a197bc95d69e6d1c95a8b8f4b8646",
      "parents": [
        "0d90ba1cd416525c4825c111db862d8b15a02e9b"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "ricardo.labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:06 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Refactor svc_process()\n\nnet/sunrpc/svc.c:svc_process() is used by the NFSv4 callback service\nto process RPC requests arriving over connections initiated by the\nserver.  NFSv4.1 supports callbacks over the backchannel on connections\ninitiated by the client.  This patch refactors svc_process() so that\ncommon code can also be used by the backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a63856252d2112e7c452696037a86ceb12f47f80",
      "tree": "b1ad03fe441349069f80e58de425b3f72af9e5b7",
      "parents": [
        "b24241a09208874d5d770bee30791daae41ad762",
        "04826f43d4f0a4d56423eb8abb9f2ec9987df5b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:25:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:25:56 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux: (81 commits)\n  nfsd41: define nfsd4_set_statp as noop for !CONFIG_NFSD_V4\n  nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc\n  nfsd41: Documentation/filesystems/nfs41-server.txt\n  nfsd41: CREATE_EXCLUSIVE4_1\n  nfsd41: SUPPATTR_EXCLCREAT attribute\n  nfsd41: support for 3-word long attribute bitmask\n  nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify\n  nfsd41: pass writable attrs mask to nfsd4_decode_fattr\n  nfsd41: provide support for minor version 1 at rpc level\n  nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions\n  nfsd41: add OPEN4_SHARE_ACCESS_WANT nfs4_stateid bmap\n  nfsd41: access_valid\n  nfsd41: clientid handling\n  nfsd41: check encode size for sessions maxresponse cached\n  nfsd41: stateid handling\n  nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op\n  nfsd41: destroy_session operation\n  nfsd41: non-page DRC for solo sequence responses\n  nfsd41: Add a create session replay cache\n  nfsd41: create_session operation\n  ...\n"
    },
    {
      "commit": "90975ef71246c5c688ead04e8ff6f36dc92d28b3",
      "tree": "eda44b2efe91509719b0e62219c2efec13a9e762",
      "parents": [
        "cab4e4c43f92582a2bfc026137b3d8a175bd0360",
        "558f6ab9106e6be701acb0257e7171df1bbccf04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)\n  cpumask: remove cpumask allocation from idle_balance, fix\n  numa, cpumask: move numa_node_id default implementation to topology.h, fix\n  cpumask: remove cpumask allocation from idle_balance\n  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus\n  x86: cpumask: update 32-bit APM not to mug current-\u003ecpus_allowed\n  x86: microcode: cleanup\n  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c\n  cpumask: fix CONFIG_CPUMASK_OFFSTACK\u003dy cpu hotunplug crash\n  numa, cpumask: move numa_node_id default implementation to topology.h\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  cpumask: remove x86 cpumask_t uses.\n  cpumask: use cpumask_var_t in uv_flush_tlb_others.\n  cpumask: remove cpumask_t assignment from vector_allocation_domain()\n  cpumask: make Xen use the new operators.\n  cpumask: clean up summit\u0027s send_IPI functions\n  cpumask: use new cpumask functions throughout x86\n  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask\n  cpumask: convert struct cpuinfo_x86\u0027s llc_shared_map to cpumask_var_t\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  x86: unify 32 and 64-bit node_to_cpumask_map\n  ...\n"
    },
    {
      "commit": "2f425878b6a71571341dcd3f9e9d1a6f6355da9c",
      "tree": "52735958c1614458bd6b459040f977dfc3c3e9a9",
      "parents": [
        "20766016329eb4985c2c8b2a1b2333e0f865fdf9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:32 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfsd: don\u0027t use the deferral service, return NFS4ERR_DELAY\n\nOn an NFSv4.1 server cache miss that causes an upcall, NFS4ERR_DELAY will be\nreturned. It is up to the NFSv4.1 client to resend only the operations that\nhave not been processed.\n\nInitialize rq_usedeferral to 1 in svc_process(). It sill be turned off in\nnfsd4_proc_compound() only when NFSv4.1 Sessions are used.\n\nNote: this isn\u0027t an adequate solution on its own. It\u0027s acceptable as a way\nto get some minimal 4.1 up and working, but we\u0027re going to have to find a\nway to avoid returning DELAY in all common cases before 4.1 can really be\nconsidered ready.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse rq_nodeferral negative logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: initialize rq_usedeferral]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cc85906110e26fe8537c3bdbc08a74ae8110030b",
      "tree": "891813098ede3dba4d5ff3b83b1f7b491367ad2f",
      "parents": [
        "c09bca786ff941ed17c5f381c4eca5b106808c51",
        "c69da774b28e01e062e0a3aba7509f2dcfd2a11a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 01 13:28:15 2009 -0400"
      },
      "message": "Merge branch \u0027devel\u0027 into for-linus\n"
    },
    {
      "commit": "558f6ab9106e6be701acb0257e7171df1bbccf04",
      "tree": "6e811633baeb676693c493f6c82bf785cab2771d",
      "parents": [
        "15f7176eb1cccec0a332541285ee752b935c1c85",
        "65fb0d23fcddd8697c871047b700c78817bdaa43"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:33:50 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:33:50 2009 +1030"
      },
      "message": "Merge branch \u0027cpumask-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nConflicts:\n\n\tarch/x86/include/asm/topology.h\n\tdrivers/oprofile/buffer_sync.c\n(Both cases: changed in Linus\u0027 tree, removed in Ingo\u0027s).\n"
    },
    {
      "commit": "aa85ea5b89c36c51200d795dd788139bd9b8cf50",
      "tree": "0b68a35b691417d927127376beb0541d96c9cc64",
      "parents": [
        "1a8a51004a18b627ea81444201f7867875212f46"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 22:05:15 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 22:05:16 2009 +1030"
      },
      "message": "cpumask: use new cpumask_ functions in core code.\n\nImpact: cleanup\n\nTime to clean up remaining laggards using the old cpu_ functions.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Trond.Myklebust@netapp.com\n"
    },
    {
      "commit": "363f724cdd3d2ae554e261be995abdeb15f7bdd9",
      "tree": "2a1e46fc7f6f78c008d71415c010f555a404922a",
      "parents": [
        "cadc0fa534e51e20fdffe1623913c163a18d71b1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:47:44 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:59:48 2009 -0400"
      },
      "message": "SUNRPC: rpcb_register() should handle errors silently\n\nMove error reporting for RPC registration to rpcb_register\u0027s caller.\n\nThis way the caller can choose to recover silently from certain\nerrors, but report errors it does not recognize.  Error reporting\nfor kernel RPC service registration is now handled in one place.\n\nThis patch is part of a series that addresses\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d12256\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cadc0fa534e51e20fdffe1623913c163a18d71b1",
      "tree": "51d41748b7c98eab0749d033b174b0584e25088a",
      "parents": [
        "d5a8620f7c8a5bcade730e2fa1224191f289fb00"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:47:36 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:58:37 2009 -0400"
      },
      "message": "SUNRPC: Simplify kernel RPC service registration\n\nThe kernel registers RPC services with the local portmapper with an\nrpcbind SET upcall to the local portmapper.  Traditionally, this used\nrpcbind v2 (PMAP), but registering RPC services that support IPv6\nrequires rpcbind v3 or v4.\n\nSince we now want separate PF_INET and PF_INET6 listeners for each\nkernel RPC service, svc_register() will do only one of those\nregistrations at a time.\n\nFor PF_INET, it tries an rpcb v4 SET upcall first; if that fails, it\ndoes a legacy portmap SET.  This makes it entirely backwards\ncompatible with legacy user space, but allows a proper v4 SET to be\nused if rpcbind is available.\n\nFor PF_INET6, it does an rpcb v4 SET upcall.  If that fails, it fails\nthe registration, and thus the transport creation.  This let\u0027s the\nkernel detect if user space is able to support IPv6 RPC services, and\nthus whether it should maintain a PF_INET6 listener for each service\nat all.\n\nThis provides complete backwards compatibilty with legacy user space\nthat only supports rpcbind v2.  The only down-side is that registering\na new kernel RPC service may take an extra exchange with the local\nportmapper on legacy systems, but this is an infrequent operation and\nis done over UDP (no lingering sockets in TIMEWAIT), so it shouldn\u0027t\nbe consequential.\n\nThis patch is part of a series that addresses\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d12256\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5a8620f7c8a5bcade730e2fa1224191f289fb00",
      "tree": "40fc44449ff6553af283df00f804bc7d4ce356af",
      "parents": [
        "1673d0de40ab46cac3b456ad50e1c8d6a31bfd66"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:47:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:58:07 2009 -0400"
      },
      "message": "SUNRPC: Simplify svc_unregister()\n\nOur initial implementation of svc_unregister() assumed that PMAP_UNSET\ncleared all rpcbind registrations for a [program, version] tuple.\nHowever, we now have evidence that PMAP_UNSET clears only \"inet\"\nentries, and not \"inet6\" entries, in the rpcbind database.\n\nFor backwards compatibility with the legacy portmapper, the\nsvc_unregister() function also must work if user space doesn\u0027t support\nrpcbind version 4 at all.\n\nThus we\u0027ll send an rpcbind v4 UNSET, and if that fails, we\u0027ll send a\nPMAP_UNSET.\n\nThis simplifies the code in svc_unregister() and provides better\nbackwards compatibility with legacy user space that does not support\nrpcbind version 4.  We can get rid of the conditional compilation in\nhere as well.\n\nThis patch is part of a series that addresses\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d12256\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba5c35e0c7e30b095636cd58b0854fdbd3c32947",
      "tree": "43f59f4c98576811e66567e06470f0d840db18ab",
      "parents": [
        "fc28decdc93633a65d54e42498e9e819d466329c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:59 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:55:40 2009 -0400"
      },
      "message": "SUNRPC: Don\u0027t return EPROTONOSUPPORT in svc_register()\u0027s helpers\n\nThe RPC client returns -EPROTONOSUPPORT if there is a protocol version\nmismatch (ie the remote RPC server doesn\u0027t support the RPC protocol\nversion sent by the client).\n\nHelpers for the svc_register() function return -EPROTONOSUPPORT if they\ndon\u0027t recognize the passed-in IPPROTO_ value.\n\nThese are two entirely different failure modes.\n\nHave the helpers return -ENOPROTOOPT instead of -EPROTONOSUPPORT.  This\nwill allow callers to determine more precisely what the underlying\nproblem is, and decide to report or recover appropriately.\n\nThis patch is part of a series that addresses\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d12256\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49a9072f29a1039f142ec98b44a72d7173651c02",
      "tree": "d2a87541cb699fb6b1fbdef492f3dc6c305aa541",
      "parents": [
        "9652ada3fb5914a67d8422114e8a76388330fa79"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:48 2009 -0400"
      },
      "message": "SUNRPC: Remove @family argument from svc_create() and svc_create_pooled()\n\nSince an RPC service listener\u0027s protocol family is specified now via\nsvc_create_xprt(), it no longer needs to be passed to svc_create() or\nsvc_create_pooled().  Remove that argument from the synopsis of those\nfunctions, and remove the sv_family field from the svc_serv struct.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b62e58cccff9c5e7ffc7023f7ec24c75fbd549b",
      "tree": "34965810fe2a9aff001dd193a3cb925c2c3e1abd",
      "parents": [
        "156e62094a74cf43f02f56ef96b6cda567501357"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:06 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:12 2009 -0400"
      },
      "message": "SUNRPC: Pass a family argument to svc_register()\n\nThe sv_family field is going away.  Instead of using sv_family, have\nthe svc_register() function take a protocol family argument.\n\nSince this argument represents a protocol family, and not an address\nfamily, this argument takes an int, as this is what is passed to\nsock_create_kern().  Also make sure svc_register\u0027s helpers are\nchecking for PF_FOO instead of AF_FOO.  The value of [AP]F_FOO are\nequivalent; this is simply a symbolic change to reflect the semantics\nof the value stored in that variable.\n\nsock_create_kern() should return EPFNOSUPPORT if the passed-in\nprotocol family isn\u0027t supported, but it uses EAFNOSUPPORT for this\ncase.  We will stick with that tradition here, as svc_register()\nis called by the RPC server in the same path as sock_create_kern().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abd91ee979f785b7377216532620d98ab4e3e5af",
      "tree": "8e230a9966c6b792ee95a190a30572c543e96909",
      "parents": [
        "2795e53b4ed5d1f49d2283f416c922f55ec7d461"
      ],
      "author": {
        "name": "ideawu",
        "email": "ideawu@163.com",
        "time": "Thu Mar 26 12:55:29 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 27 19:15:21 2009 -0400"
      },
      "message": "sunrpc/svc.c: Remove unused line \u0027rqstp-\u003erq_server \u003d serv;\u0027 in svc_process\n\nThere is no need to set rqstp-\u003erq_server to serv, while serv is initialized as rqstp-\u003erq_server at previous line. And between these two lines, there is no change to rqstp-\u003erq_server.\n\nSigned-off-by: ideawu \u003cideawu@163.com\u003e\nReviewed-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a70f730282019f487aa33a84e5ac9a5e89c5abd0",
      "tree": "e6891ec5db5383c6f39617d0cc9671e1a0d1a988",
      "parents": [
        "c69fc56de1df5769f2ec69c915c7ad5afe63804c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "message": "cpumask: replace node_to_cpumask with cpumask_of_node.\n\nImpact: cleanup\n\nnode_to_cpumask (and the blecherous node_to_cpumask_ptr which\ncontained a declaration) are replaced now everyone implements\ncpumask_of_node.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "24c3767e41a6a59d32bb45abe899eb194e6bf1b8",
      "tree": "bf44f3f90e51b8cbbae89e9740cce9d56e8eb515",
      "parents": [
        "22945e4a1c7454c97f5d8aee1ef526c83fef3223"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:30:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:18:42 2009 -0500"
      },
      "message": "SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8",
      "tree": "2a50459b61ffdecac33bf99f41a24ce521994f1d",
      "parents": [
        "9d548b9c955c0709d1229d21d0bc14afa6b356de"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Sep 25 11:56:57 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "SUNRPC: Fix up svc_unregister()\n\nWith the new rpcbind code, a PMAP_UNSET will not have any effect on\nservices registered via rpcbind v3 or v4.\n\nImplement a version of svc_unregister() that uses an RPCB_UNSET with\nan empty netid string to make sure we have cleared *all* entries for\na kernel RPC service when shutting down, or before starting a fresh\ninstance of the service.\n\nUse the new version only when CONFIG_SUNRPC_REGISTER_V4 is enabled;\notherwise, the legacy PMAP version is used to ensure complete\nbackwards-compatibility with the Linux portmapper daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2c7eb0b206b8408d92c518033a359f4374c75314",
      "tree": "fb3e01b4ede433ec53856574ef683fe54583f2df",
      "parents": [
        "e018040a824ab48211a1fcb86acebc9fc84759b0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 15 16:27:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:39 2008 -0400"
      },
      "message": "SUNRPC: Register both netids for AF_INET6 servers\n\nTI-RPC is a user-space library of RPC functions that replaces ONC RPC\nand allows RPC to operate in the new world of IPv6.\n\nTI-RPC combines the concept of a transport protocol (UDP and TCP)\nand a protocol family (PF_INET and PF_INET6) into a single identifier\ncalled a \"netid.\"  For example, \"udp\" means UDP over IPv4, and \"udp6\"\nmeans UDP over IPv6.\n\nFor rpcbind, then, the RPC service tuple that is registered and\nadvertised is:\n\n  [RPC program, RPC version, service address and port, netid]\n\ninstead of\n\n  [RPC program, RPC version, port, protocol]\n\nService address is typically ANYADDR, but can be a specific address\nof one of the interfaces on a multi-homed host.  The third item in\nthe new tuple is expressed as a universal address.\n\nThe current Linux rpcbind implementation registers a netid for both\nprotocol families when RPCB_SET is done for just the PF_INET6 version\nof the netid (ie udp6 or tcp6).  So registering \"udp6\" causes a\nregistration for \"udp\" to appear automatically as well.\n\nWe\u0027ve recently determined that this is incorrect behavior.  In the\nTI-RPC world, \"udp6\" is not meant to imply that the registered RPC\nservice handles requests from AF_INET as well, even if the listener\nsocket does address mapping.  \"udp\" and \"udp6\" are entirely separate\ncapabilities, and must be registered separately.\n\nThe Linux kernel, unlike TI-RPC, leverages address mapping to allow a\nsingle listener socket to handle requests for both AF_INET and AF_INET6.\nThis is still OK, but the kernel currently assumes registering \"udp6\"\nwill cover \"udp\" as well.  It registers only \"udp6\" for it\u0027s AF_INET6\nservices, even though they handle both AF_INET and AF_INET6 on the same\nport.\n\nSo svc_register() actually needs to register both \"udp\" and \"udp6\"\nexplicitly (and likewise for TCP).  Until rpcbind is fixed, the\nkernel can ignore the return code for the second RPCB_SET call.\n\nPlease merge this with commit 15231312:\n\n    SUNRPC: Support IPv6 when registering kernel RPC services\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a26cfad6e0a308a2c68df1f1ef50aabd48b17e6d",
      "tree": "9d200a635720bde73b66fd96e4db9e7ff9be3af7",
      "parents": [
        "7252d575ab0e8771269a3d245c36a05ace5152bd"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Support IPv6 when registering kernel RPC services\n\nIn order to advertise NFS-related services on IPv6 interfaces via\nrpcbind, the kernel RPC server implementation must use\nrpcb_v4_register() instead of rpcb_register().\n\nA new kernel build option allows distributions to use the legacy\nv2 call until they integrate an appropriate user-space rpcbind\ndaemon that can support IPv6 RPC services.\n\nI tried adding some automatic logic to fall back if registering\nwith a v4 protocol request failed, but there are too many corner\ncases.  So I just made it a compile-time switch that distributions\ncan throw when they\u0027ve replaced portmapper with rpcbind.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7252d575ab0e8771269a3d245c36a05ace5152bd",
      "tree": "e3a60421367bd4a2a01b823772dc40a2af64960a",
      "parents": [
        "14aeb2118d6e9fd9ee988324c740a00c80979093"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:38 2008 -0400"
      },
      "message": "SUNRPC: Split portmap unregister API into separate function\n\nCreate a separate server-level interface for unregistering RPC services.\n\nThe mechanics of, and the API for, registering and unregistering RPC\nservices will diverge further as support for IPv6 is added.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "14aeb2118d6e9fd9ee988324c740a00c80979093",
      "tree": "ca98af50a2e90fb782605ab6235c3a4b30c5b1a4",
      "parents": [
        "b6632339e3afbcbb438a3c8935190ea22464fc99"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Aug 18 19:34:00 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:37 2008 -0400"
      },
      "message": "SUNRPC: Simplify rpcb_register() API\n\nBruce suggested there\u0027s no need to expose the difference between an error\nsending the PMAP_SET request and an error reply from the portmapper to\nrpcb_register\u0027s callers.  The user space equivalent of rpcb_register() is\npmap_set(3), which returns a bool_t : either the PMAP set worked, or it\ndidn\u0027t.  Simple.\n\nSo let\u0027s remove the \"*okay\" argument from rpcb_register() and\nrpcb_v4_register(), and simply return an error if any part of the call\ndidn\u0027t work.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e851db5b05408b89b9a9429a66814b79fabee2a1",
      "tree": "99bac979ed90efed99c89a49cb77719ab4c0a229",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:45:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:56 2008 -0400"
      },
      "message": "SUNRPC: Add address family field to svc_serv data structure\n\nIntroduce and initialize an address family field in the svc_serv structure.\n\nThis field will determine what family to use for the service\u0027s listener\nsockets and what families are advertised via the local rpcbind daemon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0",
      "tree": "5ac6f43899648abeab1d43aad3107f664e7f13d5",
      "parents": [
        "c4762aba0b1f72659aae9ce37b772ca8bd8f06f4",
        "14b395e35d1afdd8019d11b92e28041fad591b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096-for-linus\n\nConflicts:\n\n\tnet/sunrpc/svc.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65c011845316d3c1381f478ca0d8265c43b3b039",
      "tree": "a7e29e92a1ad0440ef5fe16dc16d73e8bf7983d2",
      "parents": [
        "bb2c018b09b681d43f5e08124b83e362647ea82b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 15 14:14:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:02:57 2008 +0200"
      },
      "message": "cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n\n  * This patch replaces the dangerous lvalue version of cpumask_of_cpu\n    with new cpumask_of_cpu_ptr macros.  These are patterned after the\n    node_to_cpumask_ptr macros.\n\n    In general terms, if there is a cpumask_of_cpu_map[] then a pointer to\n    the cpumask_of_cpu_map[cpu] entry is used.  The cpumask_of_cpu_map\n    is provided when there is a large NR_CPUS count, reducing\n    greatly the amount of code generated and stack space used for\n    cpumask_of_cpu().  The pointer to the cpumask_t value is needed for\n    calling set_cpus_allowed_ptr() to reduce the amount of stack space\n    needed to pass the cpumask_t value.\n\n    If there isn\u0027t a cpumask_of_cpu_map[], then a temporary variable is\n    declared and filled in with value from cpumask_of_cpu(cpu) as well as\n    a pointer variable pointing to this temporary variable.  Afterwards,\n    the pointer is used to reference the cpumask value.  The compiler\n    will optimize out the extra dereference through the pointer as well\n    as the stack space used for the pointer, resulting in identical code.\n\n    A good example of the orthogonal usages is in net/sunrpc/svc.c:\n\n\tcase SVC_POOL_PERCPU:\n\t{\n\t\tunsigned int cpu \u003d m-\u003epool_to[pidx];\n\t\tcpumask_of_cpu_ptr(cpumask, cpu);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, cpumask);\n\t\treturn 1;\n\t}\n\tcase SVC_POOL_PERNODE:\n\t{\n\t\tunsigned int node \u003d m-\u003epool_to[pidx];\n\t\tnode_to_cpumask_ptr(nodecpumask, node);\n\n\t\t*oldmask \u003d current-\u003ecpus_allowed;\n\t\tset_cpus_allowed_ptr(current, nodecpumask);\n\t\treturn 1;\n\t}\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a75c5d01e4235a7dd785548ac756f248b1b40107",
      "tree": "602c517b868a219d184e42d23cda4e834396c8ca",
      "parents": [
        "9867d76ca16b3f455f9ca83861f4ce5c94a25928"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:39 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "sunrpc: remove sv_kill_signal field from svc_serv struct\n\nSince we no longer make any distinction between shutdown signals with\nnfsd, then it becomes easier to just standardize on a particular signal\nto use to bring it down (SIGINT, in this case).\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9867d76ca16b3f455f9ca83861f4ce5c94a25928",
      "tree": "1715f69545bf6e766e6e18b33c39270ea7bd15ce",
      "parents": [
        "e096bbc6488d3e49d476bf986d33752709361277"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: convert knfsd to kthread API\n\nThis patch is rather large, but I couldn\u0027t figure out a way to break it\nup that would remain bisectable. It does several things:\n\n- change svc_thread_fn typedef to better match what kthread_create expects\n- change svc_pool_map_set_cpumask to be more kthread friendly. Make it\n  take a task arg and and get rid of the \"oldmask\"\n- have svc_set_num_threads call kthread_create directly\n- eliminate __svc_create_thread\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bedbdd8bada194a690d2901801bf8451965086b3",
      "tree": "dc7ea15dd52370429bd63cd6803d6402cebbd50b",
      "parents": [
        "0d169ca136357d51a65d686f3c84866a8ba20ae9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 10 08:40:35 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking.\n\nThis removes the BKL from the RPC service creation codepath. The BKL\nreally isn\u0027t adequate for this job since some of this info needs\nprotection across sleeps.\n\nAlso, add some comments to try and clarify how the locking should work\nand to make it clear that the BKL isn\u0027t necessary as long as there is\nadequate locking between tasks when touching the svc_serv fields.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3f9b48a7584851997702cdc3f58e7811b5546397",
      "tree": "629deaa7874ca91b72d4b726df4f8f42038a398e",
      "parents": [
        "cad0e458d17c643c20c1d38f45a1d26125e6a622"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:44:36 2008 +0200"
      },
      "message": "net: Pass reference to cpumask variable in net/sunrpc/svc.c\n\n  * Pass reference to cpumask variable instead of using stack.\n\nFor inclusion into sched-devel/latest tree.\n\nBased on:\n\tgit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n    +   sched-devel/latest  .../mingo/linux-2.6-sched-devel.git\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "625fc3a37511cbecfe1253867fe105c28d6a95f0",
      "tree": "9bf45b7e4251d1a0a3a4d1b7e4ca4c50d16cf106",
      "parents": [
        "19566ca6dc26600bae4b75701d4dced8d8540f16"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Thu May 08 22:48:31 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:58:25 2008 -0700"
      },
      "message": "Remove duplicated include in net/sunrpc/svc.c\n\n\u003clinux/sched.h\u003e we included twice.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dc220f0815497858db539d27947f3ec83202ace",
      "tree": "6aabb3947e45496fe78ed9a2500c2862274d2fc3",
      "parents": [
        "50c8bb13eaaf345caf2e7966667ba1d3e4d68af2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:52 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: Use unsigned loop and array index in svc_init_buffer()\n\nClean up: Suppress a harmless compiler warning.\n\nIndex rq_pages[] with an unsigned type.  Make \"pages\" unsigned as well,\nas it never represents a value less than zero.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "50c8bb13eaaf345caf2e7966667ba1d3e4d68af2",
      "tree": "b3bfef60963218d9c5ba4ece05561fcde20e7a77",
      "parents": [
        "c0401ea008fb7c785a93428752d69dccafb127ec"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:45 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: Use unsigned index when looping over arrays\n\nClean up: Suppress a harmless compiler warning in the RPC server related\nto array indices.\n\nARRAY_SIZE() returns a size_t, so use unsigned type for a loop index when\nlooping over arrays.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8774282c4cef82695ccca8bd09976de5d6e49610",
      "tree": "d5061bde10232534900729aedb3ee63a78183ae5",
      "parents": [
        "e1ba1ab76e68de9f4a93fae8406627924efaed99"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Apr 07 16:45:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "SUNRPC: remove svc_create_thread()\n\nNow that the nfs4 callback thread uses the kthread API, there are no\nmore users of svc_create_thread(). Remove it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd",
      "tree": "3a351ef308ca165516d05a4c61e6b4532097d3c7",
      "parents": [
        "30aef3166ab27f7bcb14c5e809205af8126fa10b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 12 14:04:25 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "net/sunrpc/svc.c: suppress unintialized var warning\n\nnet/sunrpc/svc.c: In function \u0027__svc_create_thread\u0027:\nnet/sunrpc/svc.c:587: warning: \u0027oldmask.bits[0u]\u0027 may be used uninitialized in this function\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd35210e1e2cb46d6dba5c97f1bc3784c4f97998",
      "tree": "f220067718db3bb3a263566eea30e9089a59c163",
      "parents": [
        "93245d11fcaccdebccabe86a2b92db524f82d8b4"
      ],
      "author": {
        "name": "Harshula Jayasuriya",
        "email": "harshula@sgi.com",
        "time": "Wed Feb 20 10:56:56 2008 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "sunrpc: GSS integrity and decryption failures should return GARBAGE_ARGS\n\nIn function svcauth_gss_accept() (net/sunrpc/auth_gss/svcauth_gss.c) the\ncode that handles GSS integrity and decryption failures should be\nreturning GARBAGE_ARGS as specified in RFC 2203, sections 5.3.3.4.2 and\n5.3.3.4.3.\n\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Harshula Jayasuriya \u003charshula@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd",
      "tree": "32c1a94847d0154051c79011212d401462723d55",
      "parents": [
        "b53e921ba1cff8453dc9a87a84052fa12d5b30bd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "nodemask: use new node_to_cpumask_ptr function\n\n  * Use new node_to_cpumask_ptr.  This creates a pointer to the\n    cpumask for a given node.  This definition is in mm patch:\n\n\tasm-generic-add-node_to_cpumask_ptr-macro.patch\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\t[x86/latest]: x86: add cpus_scnprintf function\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea339d46b93c7b16e067a29aad1812f7a389815a",
      "tree": "2e260fc9d3310a1ff11e61adaa21d3350e5f9013",
      "parents": [
        "d2f7e79e3bad31b3d52c405085b9e01e5f6c01e0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 26 13:32:56 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 17:01:31 2008 -0500"
      },
      "message": "SUNRPC: RPC program information is stored in unsigned integers\n\nClean up: When looping over RPC version and procedure numbers, use\nunsigned index variables.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d2f7e79e3bad31b3d52c405085b9e01e5f6c01e0",
      "tree": "a7247bf6849ecd2df43fcceca1f296c88af9866e",
      "parents": [
        "d801b861681116ea23a7fb87a70bf463d29c8b9c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 17:01:24 2008 -0500"
      },
      "message": "SUNRPC: Move exported symbol definitions after function declaration part 2\n\nDo it for the server code...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0113ab34644649aceaac37ef4b7e5c7d5c183be3",
      "tree": "b0b1cde6e10b550bf4b9fcc523d855a6a1fade9d",
      "parents": [
        "87d26ea7771ad637035e6bd5a2700d81ee9162da"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "SUNRPC: spin svc_rqst initialization to its own function\n\nMove the initialzation in __svc_create_thread that happens prior to\nthread creation to a new function. Export the function to allow\nservices to have better control over the svc_rqst structs.\n\nAlso rearrange the rqstp initialization to prevent NULL pointer\ndereferences in svc_exit_thread in case allocations fail.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "e831fe65b10199e1e301a7316c66d6ced133712d",
      "tree": "33436ef94e099e854c4824e78cd62f341e5f357a",
      "parents": [
        "755cceaba7555027e61dfa79f1e55bdfc6906633"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_prep_reply_hdr\n\nSome transports add fields to the RPC header for replies, e.g. the TCP\nrecord length. This function is called when preparing the reply header\nto allow each transport to add whatever fields it requires.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "490231558e058547da4ffab6d8ce8e28771749cc",
      "tree": "aac2eef69dbd262a755ee1cafec34787faf5d2f0",
      "parents": [
        "9f29868b491beee706931e0cf875a60cb4688754"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:21 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a max payload value to the transport\n\nThe svc_max_payload function currently looks at the socket type\nto determine the max payload. Add a max payload value to svc_xprt_class\nso it can be returned directly.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df3825c56dd70a4d7796041388f3cfe51c1db832",
      "tree": "6110ef6ce26704679b9d13399e2aa368f3430126",
      "parents": [
        "3b41908902df1dba141cd7de1a727bb03718a654"
      ],
      "author": {
        "name": "travis@sgi.com",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:33:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:11 2008 +0100"
      },
      "message": "x86: change NR_CPUS arrays in numa_64\n\nChange the following static arrays sized by NR_CPUS to\nper_cpu data variables:\n\n\tchar cpu_to_node_map[NR_CPUS];\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "354ecbb9dd89c21708b319da8c4ffd3dd6e6811d",
      "tree": "dbeea53dee24815f19e9cc9cb2680539f8e24f92",
      "parents": [
        "40ee5dc6af351c1b3de245abed4bd8e6a4a5646a"
      ],
      "author": {
        "name": "Dr. David Alan Gilbert",
        "email": "linux@treblig.org",
        "time": "Sat Aug 25 16:09:27 2007 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: Add source address to sunrpc svc errors\n\nThis patch adds the address of the client that caused an error in\nsunrpc/svc.c so that you get errors that look like:\n\nsvc: 192.168.66.28, port\u003d709: unknown version (3 for prog 100003, nfsd)\n\nI\u0027ve seen machines which get bunches of unknown version or similar\nerrors from time to time, and while the recent patch to add the service\nhelps to find which service has the wrong version it doesn\u0027t help find\nthe potentially bad client.\n\nThe patch is against a checkout of Linus\u0027s git tree made on 2007-08-24.\n\nOne observation is that the svc_print_addr function prints to a buffer\nwhich in this case makes life a little more complex; it just feels as if\nthere must be lots of places that print a connection address - is there\na better function to use anywhere?\n\nI think actually there are a few places with semi duplicated code; e.g.\none_sock_name switches on the address family but only currently has\nIPV4; I wonder how many other places are similar.\n\nSigned-off-by: Dave Gilbert \u003clinux@treblig.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "cf8208d0eabd1d5d2625ec02a175a294c3f30d36",
      "tree": "7dd1f75873a2d84a3c626ecd45640d42c1b5dfcf",
      "parents": [
        "f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 12 21:22:14 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "sendfile: convert nfsd to splice_direct_to_actor()\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cd123012d99fde4759500fee611e724e4f3016e3",
      "tree": "a947c5e4210a2a51ea6619b3e127650feaa00421",
      "parents": [
        "669716433598a1498049e75a84a5aaf69c8da173"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 09 02:34:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "RPC: add wrapper for svc_reserve to account for checksum\n\nWhen the kernel calls svc_reserve to downsize the expected size of an RPC\nreply, it fails to account for the possibility of a checksum at the end of\nthe packet.  If a client mounts a NFSv2/3 with sec\u003dkrb5i/p, and does I/O\nthen you\u0027ll generally see messages similar to this in the server\u0027s ring\nbuffer:\n\nRPC request reserved 164 but used 208\n\nWhile I was never able to verify it, I suspect that this problem is also\nthe root cause of some oopses I\u0027ve seen under these conditions:\n\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d227726\n\nThis is probably also a problem for other sec\u003d types and for NFSv4.  The\nlarge reserved size for NFSv4 compound packets seems to generally paper\nover the problem, however.\n\nThis patch adds a wrapper for svc_reserve that accounts for the possibility\nof a checksum.  It also fixes up the appropriate callers of svc_reserve to\ncall the wrapper.  For now, it just uses a hardcoded value that I\ndetermined via testing.  That value may need to be revised upward as things\nchange, or we may want to eventually add a new auth_op that attempts to\ncalculate this somehow.\n\nUnfortunately, there doesn\u0027t seem to be a good way to reliably determine\nthe expected checksum length prior to actually calculating it, particularly\nwith schemes like spkm3.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "260800142071a3a33e4523c7578358c6e29c0f53",
      "tree": "354bc7ce1d879583bae12323b3c3901b9041f158",
      "parents": [
        "e9b1c9c98c051f49a76dcd76f914c02653aecccb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:16 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:13 2007 -0700"
      },
      "message": "SUNRPC: switch the RPC server to use the new rpcbind registration API\n\nEventually this interface will support versions 3 and 4 of the rpcbind\nprotocol, which will allow the Linux RPC server to register services on\nIPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "42a7fc4a6598221f1a547a76cdd45a8ab4d90e93",
      "tree": "b785321af2e530e25e79924e8c11ef9dc8463244",
      "parents": [
        "cda1fd4abd773216a888487af0170d0cc3d50454"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Mar 06 01:42:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: provide sunrpc pool_mode module option\n\nProvide a module param \"pool_mode\" for sunrpc.ko which allows a sysadmin to\nchoose the mode for mapping NFS thread service pools to CPUs.  Values are:\n\nauto\t    choose a mapping mode heuristically\nglobal\t    (default, same as the pre-2.6.19 code) a single global pool\npercpu\t    one pool per CPU\npernode\t    one pool per NUMA node\n\nNote that since 2.6.19 the hardcoded behaviour has been \"auto\", this patch\nmakes the default \"global\".\n\nThe pool mode can be changed after boot/modprobe using /sys, if the NFS and\nlockd services have been shut down.  A useful side effect of this change is to\nfix a small memory leak when unloading the module.\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@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cda1fd4abd773216a888487af0170d0cc3d50454",
      "tree": "aed6662bab1789a1698644f2e1d0db4255ecad67",
      "parents": [
        "5a05ed73e1abfd7e0e7d474817245861deaa18af"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix recently introduced problem with shutting down a busy NFS server\n\nWhen the last thread of nfsd exits, it shuts down all related sockets.  It\ncurrently uses svc_close_socket to do this, but that only is immediately\neffective if the socket is not SK_BUSY.\n\nIf the socket is busy - i.e.  if a request has arrived that has not yet been\nprocesses - svc_close_socket is not effective and the shutdown process spins.\n\nSo create a new svc_force_close_socket which removes the SK_BUSY flag is set\nand then calls svc_close_socket.\n\nAlso change some open-codes loops in svc_destroy to use\nlist_for_each_entry_safe.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53b8a315b76a3f3c70a5644976c0095460eb13d8",
      "tree": "f407a607adb1f552942aef9150ec709ed3f01798",
      "parents": [
        "74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Feb 20 13:57:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] Convert highest_possible_processor_id to nr_cpu_ids\n\nWe frequently need the maximum number of possible processors in order to\nallocate arrays for all processors.  So far this was done using\nhighest_possible_processor_id().  However, we do need the number of\nprocessors not the highest id.  Moreover the number was so far dynamically\ncalculated on each invokation.  The number of possible processors does not\nchange when the system is running.  We can therefore calculate that number\nonce.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf",
      "tree": "e8bfdd1d4bd5a7d4ee0e0bbf83c45c9f2b5deb59",
      "parents": [
        "5ec553a90448b3edbd26c1acc72464f877614bfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Feb 20 13:57:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] Replace highest_possible_node_id() with nr_node_ids\n\nhighest_possible_node_id() is currently used to calculate the last possible\nnode idso that the network subsystem can figure out how to size per node\narrays.\n\nI think having the ability to determine the maximum amount of nodes in a\nsystem at runtime is useful but then we should name this entry\ncorrespondingly, it should return the number of node_ids, and the the value\nneeds to be setup only once on bootup.  The node_possible_map does not\nchange after bootup.\n\nThis patch introduces nr_node_ids and replaces the use of\nhighest_possible_node_id().  nr_node_ids is calculated on bootup when the\npage allocators pagesets are initialized.\n\n[deweerdt@free.fr: fix oops]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "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": "46121cf7d85869bfe9588bac7ccf55aa0bc7f278",
      "tree": "51172f1b47dd8aa99e6f96c495fe7f8e2c0bbc34",
      "parents": [
        "8885cb367f86ce02bed3bf18192d74a53ac3b81f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jan 31 12:14:08 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:10 2007 -0800"
      },
      "message": "SUNRPC: fix print format for tk_pid\n\nThe tk_pid field is an unsigned short.  The proper print format specifier for\nthat type is %5u, not %4d.\n\nAlso clean up some miscellaneous print formatting nits.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "d8ed029d6000ba2e2908d9286409e4833c091b4c",
      "tree": "732feaa2e3751df5c81032a30ff4761427492ac4",
      "parents": [
        "7699431301b189fca7ccbb64fe54e5a5170f8497"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:29:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:21 2006 -0700"
      },
      "message": "[SUNRPC]: trivial endianness annotations\n\npure s/u32/__be32/\n\n[AV: large part based on Alexey\u0027s patches]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7699431301b189fca7ccbb64fe54e5a5170f8497",
      "tree": "4c20c5121776984cb054de3e0759cbeae860de3a",
      "parents": [
        "13d8eaa06abfeb708b60fa64203a20db033088b3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:28:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:20 2006 -0700"
      },
      "message": "[SUNRPC]: svc_{get,put}nl()\n\n* add svc_getnl():\n\tTake network-endian value from buffer, convert to host-endian\n\tand return it.\n* add svc_putnl():\n\tTake host-endian value, convert to network-endian and put it\n\tinto a buffer.\n* annotate svc_getu32()/svc_putu32() as dealing with network-endian.\n* convert to svc_getnl(), svc_putnl().\n\n[AV: in large part it\u0027s a carved-up Alexey\u0027s patch]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "7c9fdcfb1b64c47ed618c103b617af3f86e1239c",
      "tree": "da5cd781687bfa1db4c8ba9c9ff0bb4a84366a75",
      "parents": [
        "5c04c46aec16b3267d8fe03af886f2d41e448cd0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 30 01:56:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: gss: server-side implementation of rpcsec_gss privacy\n\nServer-side implementation of rpcsec_gss privacy, which enables encryption of\nthe payload of every rpc request and response.\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": "5c04c46aec16b3267d8fe03af886f2d41e448cd0",
      "tree": "c46f4e70423f4f37f73f9e875a7059c0ca2ccf3f",
      "parents": [
        "e142ede8e064cb1ae9c2bfb17f36ab145b95ccd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 30 01:56:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: mark rqstp to prevent use of sendfile in privacy case\n\nAdd a rq_sendfile_ok flag to svc_rqst which will be cleared in the privacy\ncase so that the wrapping code will get copies of the read data instead of\nreal page cache pages.  This makes life simpler when we encrypt the response.\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": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12fe2c588df77d60dfe13b432f95d00f76b8c969",
      "tree": "514a23f41aa81d89c5385ba67a58a0144693fbcc",
      "parents": [
        "ea2e90dfcee2c09eff8a180976ace071922663a5"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jan 10 13:08:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 10 13:08:21 2006 -0800"
      },
      "message": "[NET]: Remove unneeded kmalloc() return value casts\n\nGet rid of needless casting of kmalloc() return value in net/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09a626600b437d91f6b13ade5c7c4b374893c54e",
      "tree": "a6de3c2a33b7d896cd22a3fe799d1b40d28daf40",
      "parents": [
        "4bba3925924148c24fb0c7636a04ad69a6a56b84"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Sun Jan 08 22:24:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jan 09 14:16:18 2006 -0800"
      },
      "message": "[NET]: Change some \"if (x) BUG();\" to \"BUG_ON(x);\"\n\nThis changes some simple \"if (x) BUG();\" statements to \"BUG_ON(x);\"\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a51482bde22f99c63fbbb57d5d46cc666384e379",
      "tree": "5482ed1c0803edb2ffbd51035de921fb0f72d82b",
      "parents": [
        "ac7c98eca88a854755475fcfe1b2bf5f97f90d99"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "message": "[NET]: kfree cleanup\n\nFrom: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n\nThis is the net/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in net/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@conectiva.com.br\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "80d188a643b0f550a2aaedf7bf4dd1abd86cfc45",
      "tree": "1439a87508fab8a39a64d8be8b20f4b6e2350159",
      "parents": [
        "0ba7536d5d47e4ecf2259a80b207158dc4e711eb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:49 2005 -0800"
      },
      "message": "[PATCH] knfsd: make sure svc_process call the correct pg_authenticate for multi-service port\n\nIf an RPC socket is serving multiple programs, then the pg_authenticate of\nthe first program in the list is called, instead of pg_authenticate for the\nprogram to be run.\n\nThis does not cause a problem with any programs in the current kernel, but\ncould confuse future code.\n\nAlso set pg_authenticate for nfsd_acl_program incase it ever gets used.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ba02638e4be28dd4ff724202a640264427c62d1",
      "tree": "f9353e37a0b5526f1cbf116c3ed62f26bdfe4cc0",
      "parents": [
        "a838cc49d9a7d5652262a6d1b628628cadffa877"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:22 2005 -0400"
      },
      "message": "[PATCH] RPC: Allow the sunrpc server to multiplex serveral programs on a single port\n\n The NFS and NFSACL programs run on the same RPC transport.  This patch adds\n support for this by converting svc_program into a chained list of programs\n (server-side).\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "334ccfd545bba9690515f2c5c167d5adb161989b",
      "tree": "8a06af4d40c711c578adc36d9afd3200a88a2689",
      "parents": [
        "d05fdb0cec75415b2d9eb95748386e67414e49c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:19 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:02 2005 -0400"
      },
      "message": "[PATCH] RPC: Ensure XDR iovec length is initialized correctly in call_header\n\n Fix up call_header() so that it calls xdr_adjust_iovec().\n Fix calculation of the scratch buffer length in xdr_init_encode().\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
