)]}'
{
  "log": [
    {
      "commit": "786185b5f8abefa6a8a16695bb4a59c164d5a071",
      "tree": "780eafd98f98a093fda540898595b47b4261764c",
      "parents": [
        "9793f7c88937e7ac07305ab1af1a519225836823"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri May 04 12:49:41 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:40 2012 -0400"
      },
      "message": "SUNRPC: move per-net operations from svc_destroy()\n\nThe idea is to separate service destruction and per-net operations,\nbecause these are two different things and the mix looks ugly.\n\nNotes:\n\n1) For NFS server this patch looks ugly (sorry for that). But these\nplace will be rewritten soon during NFSd containerization.\n\n2) LockD per-net counter increase int lockd_up() was moved prior to\nmake_socks() to make lockd_down_net() call safe in case of error.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea",
      "tree": "e1d54f74e25a7878c2d786d120cd1a97f240ac18",
      "parents": [
        "2a75cfa64e63502e54e40f99ba07411544bd3190"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 11 15:13:21 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 12 09:11:11 2012 -0400"
      },
      "message": "nfsd: make export cache allocated per network namespace context\n\nThis patch also changes prototypes of nfsd_export_flush() and exp_rootfh():\nnetwork namespace parameter added.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3f70eadb7dddfb5a2bb9afff7abfc6ee17a29d0",
      "tree": "688a94f2c86e0d7c637609239925f94f8ee08626",
      "parents": [
        "f890edbbeff6928b7db0c6179a9036cbd4f0efbf"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Mar 29 18:54:33 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 11 17:55:06 2012 -0400"
      },
      "message": "Lockd: pass network namespace to creation and destruction routines\n\nv2: dereference of most probably already released nlm_host removed in\nnlmclnt_done() and reclaimer().\n\nThese routines are called from locks reclaimer() kernel thread. This thread\nworks in \"init_net\" network context and currently relays on persence on lockd\nthread and it\u0027s per-net resources. Thus lockd_up() and lockd_down() can\u0027t relay\non current network context. So let\u0027s pass corrent one into them.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "508f92275624fc755104b17945bdc822936f1918",
      "tree": "9a89a7bcd7773a5d3f0652cdc78bd91ddd2193aa",
      "parents": [
        "87b0fc7deb5feccf93b022f6a976e8441152dbb2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 30 16:21:11 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 03 15:33:17 2012 -0500"
      },
      "message": "nfsd: fix default iosize calculation on 32bit\n\nThe rpc buffers will be allocated out of low memory, so we should really\nonly be taking that into account.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "87b0fc7deb5feccf93b022f6a976e8441152dbb2",
      "tree": "c263e3d504cb2d31ef8c91658da056485d014bc3",
      "parents": [
        "9f912ceb7ed1df1ed98ad2c28995dd66529a690a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 30 16:18:35 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 03 15:32:41 2012 -0500"
      },
      "message": "nfsd: cleanup setting of default max_block_size\n\nMove calculation of the default into a helper function.\n\nGet rid of an unused variable \"err\" while we\u0027re there.\n\nThanks to Mi Jinlong for catching an arithmetic error in a previous\nversion.\n\nCc: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5ecebb7c7fd737cf387a552994df319c063973db",
      "tree": "5442ab61f417961b8908f1d2e82f837204830b80",
      "parents": [
        "bee42f688c915b510a4aabae4f7a99457137d6f3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:03:04 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: unregister service on creation in current network namespace\n\nOn service shutdown we can be sure, that no more users of it left except\ncurrent. Thus it looks like using current network namespace context is safe in\nthis case.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "143cb494cb6662e37c4020b7fe9839837f718e56",
      "tree": "249abcf5afe251a9244a414f9d66c73b9458274e",
      "parents": [
        "afeacc8c1f38b7bb93d4bc7b4ba04c2605061ef0"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 01 14:23:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:31 2011 -0400"
      },
      "message": "fs: add module.h to files that were implicitly using it\n\nSome files were using the complete module.h infrastructure without\nactually including the header at all.  Fix them up in advance so\nonce the implicit presence is removed, we won\u0027t get failures like this:\n\n  CC [M]  fs/nfsd/nfssvc.o\nfs/nfsd/nfssvc.c: In function \u0027nfsd_create_serv\u0027:\nfs/nfsd/nfssvc.c:335: error: \u0027THIS_MODULE\u0027 undeclared (first use in this function)\nfs/nfsd/nfssvc.c:335: error: (Each undeclared identifier is reported only once\nfs/nfsd/nfssvc.c:335: error: for each function it appears in.)\nfs/nfsd/nfssvc.c: In function \u0027nfsd\u0027:\nfs/nfsd/nfssvc.c:555: error: implicit declaration of function \u0027module_put_and_exit\u0027\nmake[3]: *** [fs/nfsd/nfssvc.o] Error 1\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "16d0587090ab93206768f726f71d84ecf55e05c4",
      "tree": "0ee9fa3bb578218c7188df6abb518e06bb539d06",
      "parents": [
        "8e356b1e2a888c59d10a4842995a3273ca2d9086"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Oct 25 14:17:28 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 25 13:19:40 2011 +0200"
      },
      "message": "NFSd: call svc rpcbind cleanup explicitly\n\nWe have to call svc_rpcb_cleanup() explicitly from nfsd_last_thread() since\nthis function is registered as service shutdown callback and thus nobody else\nwill done it for us.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1091006c5eb15cba56785bd5b498a8d0b9546903",
      "tree": "b51fad1bb57284b3eea4308c02652c4888b85860",
      "parents": [
        "3e98abffd1665b884a322aedcd528577842f762f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 24 12:11:02 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 18 09:39:01 2011 -0400"
      },
      "message": "nfsd: turn on reply cache for NFSv4\n\nIt\u0027s sort of ridiculous that we\u0027ve never had a working reply cache for\nNFSv4.\n\nOn the other hand, we may still not: our current reply cache is likely\nnot very good, especially in the TCP case (which is the only case that\nmatters for v4).  What we really need here is some serious testing.\n\nAnyway, here\u0027s a start.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "49b28684fdba2c84a3b8e54aaa0faa9ce2e4f140",
      "tree": "c64ee1e754e291d5a917417b25026e681d8a3d0d",
      "parents": [
        "094b5d74f4005ae1cc90688f2c814e00937809a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 21 15:27:43 2011 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 15 18:58:42 2011 -0400"
      },
      "message": "nfsd: Remove deprecated nfsctl system call and related code.\n\nAs promised in feature-removal-schedule.txt it is time to\nremove the nfsctl system call.\n\nUserspace has perferred to not use this call throughout 2.6 and it has been\nexcluded in the default configuration since 2.6.36 (9 months ago).\n\nSo this patch removes all the code that was being compiled out.\n\nThere are still references to sys_nfsctl in various arch systemcall tables\nand related code.  These should be cleaned out too, probably in the next\nmerge window.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.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": "fc5d00b04a3a58cac8620403dfe9f43f72578ec1",
      "tree": "3a8b9a5ae3456b5846fb64c0a74c9389998b3e18",
      "parents": [
        "e204e621b4160c802315bc2d0fa335337c0d62e8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:50 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:54 2010 -0400"
      },
      "message": "sunrpc: Add net argument to svc_create_xprt\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e844a7b9805a2b74cfd34c8604f5bba3e0869305",
      "tree": "f0270f65da19a0f6ebc50787dd9edce6a8def9d3",
      "parents": [
        "e2aa7f8304b3b5656ded8699216cc65138d03b64"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 06 15:48:03 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 06 17:05:40 2010 -0400"
      },
      "message": "nfsd: initialize nfsd versions before creating svc\n\nCommit 59db4a0c102e0de226a3395dbf25ea51bf845937 \"nfsd: move more into\nnfsd_startup()\" inadvertently moved nfsd_versions after\nnfsd_create_svc().  On older distributions using an rpc.nfsd that does\nnot explicitly set the list of nfsd versions, this results in\nsvc-create_pooled() being called with an empty versions array.  The\nresulting incomplete initialization leads to a NULL dereference in\nsvc_process_common() the first time a client accesses the server.\n\nMove nfsd_reset_versions() back before the svc_create_pooled(); this\ntime, put it closer to the svc_create_pooled() call, to make this\nmistake more difficult in the future.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "774f8bbd9ef2e71d4ef4b89933d292091d31ca98",
      "tree": "bbc4afb785f31727b61279b1a026768d5953d60f",
      "parents": [
        "039a87ca536a85bc169ce092e44bd57adfa1f563"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Aug 02 14:12:44 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 06 17:05:30 2010 -0400"
      },
      "message": "nfsd: fix startup/shutdown order bug\n\nWe must create the server before we can call init_socks or check the\nnumber of threads.\n\nSymptoms were a NULL pointer dereference in nfsd_svc().  Problem\nidentified by Jeff Layton.\n\nAlso fix a minor cleanup-on-error case in nfsd_startup().\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "af4718f3f996925f770e540004ec9224243d1682",
      "tree": "38f81e3257cb9732ac09df98604bd77a5a42bc7b",
      "parents": [
        "59db4a0c102e0de226a3395dbf25ea51bf845937"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 21 18:31:42 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 23 08:51:27 2010 -0400"
      },
      "message": "nfsd: minor nfsd_svc() cleanup\n\nMore idiomatic to put the error case in the if clause.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "59db4a0c102e0de226a3395dbf25ea51bf845937",
      "tree": "368532c7540cdec8df175b668cc9abef48b8bc11",
      "parents": [
        "ac77efbe2b4d2a1e571a4f1e5b6e47de72a7d737"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 21 18:29:25 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 23 08:51:26 2010 -0400"
      },
      "message": "nfsd: move more into nfsd_startup()\n\nThis is just cleanup--it\u0027s harmless to call nfsd_rachache_init,\nnfsd_init_socks, and nfsd_reset_versions more than once.  But there\u0027s no\npoint to it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ac77efbe2b4d2a1e571a4f1e5b6e47de72a7d737",
      "tree": "2ebb9f5178a3b81e357f95966f1e2eb0269e8e35",
      "parents": [
        "628b368728e23188ac41b3f00411b02be8e697f1"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 20 14:10:22 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 23 08:51:26 2010 -0400"
      },
      "message": "nfsd: just keep single lockd reference for nfsd\n\nRight now, nfsd keeps a lockd reference for each socket that it has\nopen. This is unnecessary and complicates the error handling on\nstartup and shutdown. Change it to just do a lockd_up when starting\nthe first nfsd thread just do a single lockd_down when taking down the\nlast nfsd thread. Because of the strange way the sv_count is handled\nthis requires an extra flag to tell whether the nfsd_serv holds a\nreference for lockd or not.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "628b368728e23188ac41b3f00411b02be8e697f1",
      "tree": "84fe4d9af9c9ef7415b79060d8caa10d7b020779",
      "parents": [
        "0cd14a061e32d4ddaadad24d86d06cc860010591"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jul 21 16:40:08 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 23 08:51:25 2010 -0400"
      },
      "message": "nfsd: clean up nfsd_create_serv error handling\n\nThere doesn\u0027t seem to be any need to reset the nfssvc_boot time if the\nnfsd startup failed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4ad9a344be2291b1e594a4a5aee25c5a5df34a97",
      "tree": "f2e8780a1461194231fbb124cffc964517424c1e",
      "parents": [
        "55b13354d789dcf0b85db6d86fc3a9e57dca02c1"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jul 19 16:50:04 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 23 08:51:22 2010 -0400"
      },
      "message": "nfsd4: fix v4 state shutdown error paths\n\nIf someone tries to shut down the laundry_wq while it isn\u0027t up it\u0027ll\ncause an oops.\n\nThis can happen because write_ports can create a nfsd_svc before we\nreally start the nfs server, and we may fail before the server is ever\nstarted.\n\nAlso make sure state is shutdown on error paths in nfsd_svc().\n\nUse a common global nfsd_up flag instead of nfs4_init, and create common\nhelper functions for nfsd start/shutdown, as there will be other work\nthat we want done only when we the number of nfsd threads transitions\nbetween zero and nonzero.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2",
      "tree": "7553c06ca7ba059d30289bb8f2e09753671220de",
      "parents": [
        "4dc6ec00f6347b72312fa41dfc587d5302b05544"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri May 14 15:33:36 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 14 18:46:14 2010 -0400"
      },
      "message": "NFSD: don\u0027t report compiled-out versions as present\n\nThe /proc/fs/nfsd/versions file calls nfsd_vers() to check whether\nthe particular nfsd version is present/available. The problem is\nthat once I turn off e.g. NFSD-V4 this call returns -1 which is\ntrue from the callers POV which is wrong.\n\nThe proposal is to report false in that case.\n\nThe bug has existed since 6658d3a7bbfd1768 \"[PATCH] knfsd: remove\nnfsd_versbits as intermediate storage for desired versions\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: stable@kernel.org\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7663dacd926584093dfc350892792054692b6cb3",
      "tree": "3300005fc836d8a6661d758212289963f850d728",
      "parents": [
        "1557aca7904ed6fadd22cdc3364754070bb3d3c3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Dec 04 19:49:00 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 15 15:01:47 2009 -0500"
      },
      "message": "nfsd: remove pointless paths in file headers\n\nThe new .h files have paths at the top that are now out of date.  While\nwe\u0027re here, just remove all of those from fs/nfsd; they never served any\npurpose.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9a74af21330c8d46efa977d088a62cc1bfa954e9",
      "tree": "6f2e4b775738ae93da05ad475b244785bf40461e",
      "parents": [
        "68590c382b875cc9a76b06097f3dff6730d787c1"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:30:56 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:12 2009 -0500"
      },
      "message": "nfsd: Move private headers to source directory\n\nLots of include/linux/nfsd/* headers are only used by\nnfsd module. Move them to the source directory\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "341eb184469f8e4a6841fc49a57ad4a27e51c335",
      "tree": "df6b06cc5b15ae421b589865fc008df1219589a4",
      "parents": [
        "72579ac9cd68081108277c31781b127d0f420d61"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:29:12 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:09 2009 -0500"
      },
      "message": "nfsd: Source files #include cleanups\n\nNow that the headers are fixed and carry their own wait, all fs/nfsd/\nsource files can include a minimal set of headers. and still compile just\nfine.\n\nThis patch should improve the compilation speed of the nfsd module.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0a3adadee42f2865bb867b8c5f4955b7def9baad",
      "tree": "de98be9152faba8ea38bae24a7f5cce33ae99148",
      "parents": [
        "ea4878a24d7e6a467d369b962bab95bd6a12cbe0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 04 18:12:35 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 13 13:23:02 2009 -0500"
      },
      "message": "nfsd: make fs/nfsd/vfs.h for common includes\n\nNone of this stuff is used outside nfsd, so move it out of the common\nlinux include directory.\n\nActually, probably none of the stuff in include/linux/nfsd/nfsd.h really\nbelongs there, so later we may remove that file entirely.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
      "tree": "f8e3cb2d339d8ed0e987d55f725e501730cdc81d",
      "parents": [
        "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
        "3c394ddaa7ea4205f933fd9b481166b2669368a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux: (68 commits)\n  nfsd4: nfsv4 clients should cross mountpoints\n  nfsd: revise 4.1 status documentation\n  sunrpc/cache: avoid variable over-loading in cache_defer_req\n  sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n  nfsd: return success for non-NFS4 nfs4_state_start\n  nfsd41: Refactor create_client()\n  nfsd41: modify nfsd4.1 backchannel to use new xprt class\n  nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n  nfsd41: Backchannel: cb_sequence callback\n  nfsd41: Backchannel: Setup sequence information\n  nfsd41: Backchannel: Server backchannel RPC wait queue\n  nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n  nfsd41: Backchannel: callback infrastructure\n  nfsd4: use common rpc_cred for all callbacks\n  nfsd4: allow nfs4 state startup to fail\n  SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n  nfsd4: fix null dereference creating nfsv4 callback client\n  nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n  nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n  sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n  ...\n"
    },
    {
      "commit": "29ab23cc5d351658d01a4327d55e9106a73fd04f",
      "tree": "8df00000a93e783f4bc152c20a437338a4f57fde",
      "parents": [
        "5d351754fcf58d1a604aa7cf95c2805e8a098ad9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 15:56:50 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:33 2009 -0400"
      },
      "message": "nfsd4: allow nfs4 state startup to fail\n\nThe failure here is pretty unlikely, but we should handle it anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e0e817392b9acf2c98d3be80c233dddb1b52003d",
      "tree": "ee680c020039313c9f9c40ab3542bb30a7363381",
      "parents": [
        "ed6d76e4c32de0c2ad5f1d572b948ef49e465176"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 02 09:13:40 2009 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 02 21:29:01 2009 +1000"
      },
      "message": "CRED: Add some configurable debugging [try #6]\n\nAdd a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking\nfor credential management.  The additional code keeps track of the number of\npointers from task_structs to any given cred struct, and checks to see that\nthis number never exceeds the usage count of the cred struct (which includes\nall references, not just those from task_structs).\n\nFurthermore, if SELinux is enabled, the code also checks that the security\npointer in the cred struct is never seen to be invalid.\n\nThis attempts to catch the bug whereby inode_has_perm() faults in an nfsd\nkernel thread on seeing cred-\u003esecurity be a NULL pointer (it appears that the\ncredential struct has been previously released):\n\n\thttp://www.kerneloops.org/oops.php?number\u003d252883\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "557ce2646e775f6bda734dd92b10d4780874b9c7",
      "tree": "a44a5e2f9d601a039f7ac9b30b5c4af95796fc23",
      "parents": [
        "bdac86e2154cfe47552639113265d1fa27cfbe72"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Aug 28 08:45:04 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 01 22:24:06 2009 -0400"
      },
      "message": "nfsd41: replace page based DRC with buffer based DRC\n\nUse NFSD_SLOT_CACHE_SIZE size buffers for sessions DRC instead of holding nfsd\npages in cache.\n\nConnectathon testing has shown that 1024 bytes for encoded compound operation\nresponses past the sequence operation is sufficient, 512 bytes is a little too\nsmall. Set NFSD_SLOT_CACHE_SIZE to 1024.\n\nAllocate memory for the session DRC in the CREATE_SESSION operation\nto guarantee that the memory resource is available for caching responses.\nAllocate each slot individually in preparation for slot table size negotiation.\n\nRemove struct nfsd4_cache_entry and helper functions for the old page-based\nDRC.\n\nThe iov_len calculation in nfs4svc_encode_compoundres is now always\ncorrect.  Replay is now done in nfsd4_sequence under the state lock, so\nthe session ref count is only bumped on non-replay. Clean up the\nnfs4svc_encode_compoundres session logic.\n\nThe nfsd4_compound_state statp pointer is also not used.\nRemove nfsd4_set_statp().\n\nMove useful nfsd4_cache_entry fields into nfsd4_slot.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ed2d8aed52212610d4cb79be3cbf535b04be38dc",
      "tree": "6baac65cfa094ac79db8a473ad7bd4b1dbbc5c2a",
      "parents": [
        "55bb55dca0cecac2fb7b8c743db41361c011c8a8"
      ],
      "author": {
        "name": "Ryusei Yamaguchi",
        "email": "mandel59@gmail.com",
        "time": "Sun Aug 16 00:54:41 2009 +0900"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 25 12:39:37 2009 -0400"
      },
      "message": "knfsd: Replace lock_kernel with a mutex in nfsd pool stats.\n\nlock_kernel() in knfsd was replaced with a mutex. The later\ncommit 03cf6c9f49a8fea953d38648d016e3f46e814991 (\"knfsd:\nadd file to export stats about nfsd pools\") did not follow\nthat change. This patch fixes the issue.\n\nAlso move the get and put of nfsd_serv to the open and close methods\n(instead of start and stop methods) to allow atomic check and increment\nof reference count in the open method (where we can still return an\nerror).\n\nSigned-off-by: Ryusei Yamaguchi \u003cmandel59@gmail.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Greg Banks \u003cgnb@fmeh.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e9dc122166b8d863d3057a66ada04838e5548e52",
      "tree": "749e15bf719b64bf9113db7acd8e043d9742cb26",
      "parents": [
        "560ab42ef923aaf2e4347315bdfcc74b2708972c",
        "405d8f8b1d936414da2093d4149ff790ff3f84a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 into for-2.6.32-incoming\n\nConflicts:\n\tnet/sunrpc/cache.c\n"
    },
    {
      "commit": "0c193054a4c1cf190d2f23e5e91bd14402e43912",
      "tree": "f2fc6efa35b0cfa621b43894e2dfd57762e65d0f",
      "parents": [
        "6a14dd1a4fe1bd00e02a96c97015cedfddda58ed"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jul 27 19:09:19 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 28 14:30:05 2009 -0400"
      },
      "message": "nfsd41: hange from page to memory based drc limits\n\nNFSD_SLOT_CACHE_SIZE is the size of all encoded operation responses\n(excluding the sequence operation) that we want to cache.\n\nFor now, keep NFSD_SLOT_CACHE_SIZE at PAGE_SIZE. It will be reduced\nwhen the DRC is changed from page based to memory based.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6a14dd1a4fe1bd00e02a96c97015cedfddda58ed",
      "tree": "0b1647f5ee7562d0be28c509f67215e9efdfc5e2",
      "parents": [
        "b101ebbc39f50f8af4657e517954ca874b13b364"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jul 27 19:06:45 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 28 14:29:59 2009 -0400"
      },
      "message": "nfsd41: reserve less memory for DRC\n\nAlso remove a slightly misleading comment.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4bd9b0f4afc76cf972578c702e1bc1b6f2d10ba5",
      "tree": "ec7289f1c24ef1ff75c2fdd3cfb2c7ef66f8c44d",
      "parents": [
        "7702ce40bc84a02e88aa20f95333df8cff5f9d37"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 24 15:37:45 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 14 17:52:40 2009 -0400"
      },
      "message": "nfsd41: use globals for DRC limits\n\nThe version 4.1 DRC memory limit and tracking variables are server wide and\nsession specific. Replace struct svc_serv fields with globals.\nStop using the svc_serv sv_lock.\n\nAdd a spinlock to serialize access to the DRC limit management variables which\nchange on session creation and deletion (usage counter) or (future)\nadministrative action to adjust the total DRC memory limit.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "671e1fcf63fd115eabcb693b06cbc2e4a3d1a3a3",
      "tree": "601c7896733bf026db66ebbb183c3675e89e37d7",
      "parents": [
        "82e12fe9244ff653f703722a8937b595e10e71f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 16 11:03:20 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 09:42:41 2009 -0700"
      },
      "message": "nfsd: optimise the starting of zero threads when none are running.\n\nCurrently, if we ask to set then number of nfsd threads to zero when\nthere are none running, we set up all the sockets and register the\nservice, and then tear it all down again.\nThis is pointless.\n\nSo detect that case and exit promptly.\n(also remove an assignment to \u0027error\u0027 which was never used.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "82e12fe9244ff653f703722a8937b595e10e71f4",
      "tree": "aacafeb07d90c9453c31cc6771324e7960c52477",
      "parents": [
        "5d77ddfbcb062f2617ea79d7a371b4bc78f28417"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 16 11:03:07 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 09:40:31 2009 -0700"
      },
      "message": "nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n\nCurrently when we write a number to \u0027threads\u0027 in nfsdfs,\nwe take the nfsd_mutex, update the number of threads, then take the\nmutex again to read the number of threads.\n\nMostly this isn\u0027t a big deal.  However if we are write \u00270\u0027, and\nportmap happens to be dead, then we can get unpredictable behaviour.\nIf the nfsd threads all got killed quickly and the last thread is\nwaiting for portmap to respond, then the second time we take the mutex\nwe will block waiting for the last thread.\nHowever if the nfsd threads didn\u0027t die quite that fast, then there\nwill be no contention when we try to take the mutex again.\n\nUnpredictability isn\u0027t fun, and waiting for the last thread to exit is\npointless, so avoid taking the lock twice.\nTo achieve this, get nfsd_svc return a non-negative number of active\nthreads when not returning a negative error.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\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": "f0ad670d7061efad138df19aefe569263c4ea37b",
      "tree": "d68d7a2deb01814aa5c8e1d32b867010a3284bd2",
      "parents": [
        "3ef1728898f0285c13aa6901f412b52835e23578"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Apr 06 12:00:36 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 06 09:17:53 2009 -0700"
      },
      "message": "nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc\n\nFixes the following compiler error:\nfs/nfsd/nfssvc.c: In function \u0027set_max_drc\u0027:\nfs/nfsd/nfssvc.c:240: error: \u0027NFSD_DRC_SIZE_SHIFT\u0027 undeclared\n\nCONFIG_NFSD_V4 is not set\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8daf220a6a83c47b9648c28bb819c14c60bad7f9",
      "tree": "e762cf2c8f0b31dac96989ac14c4cc8756e1af1d",
      "parents": [
        "84459a1162801fb84734e5f9e6dc5194f791d69b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Apr 03 08:28:59 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:21 2009 -0700"
      },
      "message": "nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions\n\nSupport enabling and disabling nfsv4.1 via /proc/fs/nfsd/versions\nby writing the strings \"+4.1\" or \"-4.1\" correspondingly.\n\nUse user mode nfs-utils (rpc.nfsd option) to enable.\nThis will allow us to get rid of CONFIG_NFSD_V4_1\n\n[nfsd41: disable support for minorversion by default]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc",
      "tree": "f34acde5f484a8374065295e205921e1860da65c",
      "parents": [
        "074fe897536f095309c5aaffcf912952882ab2cb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:18 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: hard page limit for DRC\n\nUse no more than 1/128th of the number of free pages at nfsd startup for the\nv4.1 DRC.\n\nThis is an arbitrary default which should probably end up under the control\nof an administrator.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[moved added fields in struct svc_serv under CONFIG_NFSD_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix set_max_drc calculation of sv_drc_max_pages]\n[moved NFSD_DRC_SIZE_SHIFT\u0027s declaration up in header file]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "074fe897536f095309c5aaffcf912952882ab2cb",
      "tree": "d4bb2fff645a2df1dbdec4af6787359d888a3695",
      "parents": [
        "f9bb94c4c60f6e1d1717077bfddb614f03a607d1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:15 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: DRC save, restore, and clear functions\n\nCache all the result pages, including the rpc header in rq_respages[0],\nfor a request in the slot table cache entry.\n\nCache the statp pointer from nfsd_dispatch which points into rq_respages[0]\njust past the rpc header. When setting a cache entry, calculate and save the\nlength of the nfs data minus the rpc header for rq_respages[0].\n\nWhen replaying a cache entry, replace the cached rpc header with the\nreplayed request rpc result header, unless there is not enough room in the\ncached results first page. In that case, use the cached rpc header.\n\nThe sessions fore channel maxresponse size cached is set to NFSD_PAGES_PER_SLOT\n* PAGE_SIZE. For compounds we are cacheing with operations such as READDIR\nthat use the xdr_buf-\u003epages to hold data, we choose to cache the extra page of\ndata rather than copying data from xdr_buf-\u003epages into the xdr_buf-\u003ehead page.\n\n[nfsd41: limit cache to maxresponsesize_cached]\n[nfsd41: mv nfsd4_set_statp under CONFIG_NFSD_V4_1]\n[nfsd41: rename nfsd4_move_pages]\n[nfsd41: rename page_no variable]\n[nfsd41: rename nfsd4_set_cache_entry]\n[nfsd41: fix nfsd41_copy_replay_data comment]\n[nfsd41: add to nfsd4_set_cache_entry]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\n"
    },
    {
      "commit": "3e93cd671813e204c258f1e6c797959920cf7772",
      "tree": "a1e0b2d2da7d296cc1c53be9cd6efa5b94b01b5c",
      "parents": [
        "f8ef3ed2bebd2c4cb9ece92efa185d7aead8831a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:00:13 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "Take fs_struct handling to new file (fs/fs_struct.c)\n\nPure code move; two new helper functions for nfsd and daemonize\n(unshare_fs_struct() and daemonize_fs_struct() resp.; for now -\nthe same code as used to be in callers).  unshare_fs_struct()\nexported (for nfsd, as copy_fs_struct()/exit_fs() used to be),\ncopy_fs_struct() and exit_fs() don\u0027t need exports anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "9652ada3fb5914a67d8422114e8a76388330fa79",
      "tree": "b37d77bf972dda04b46794c4e50ec6f6d044dc79",
      "parents": [
        "baf01caf09e87579c2d157e5ee29975db8551522"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:21 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:36 2009 -0400"
      },
      "message": "SUNRPC: Change svc_create_xprt() to take a @family argument\n\nThe sv_family field is going away.  Pass a protocol family argument to\nsvc_create_xprt() instead of extracting the family from the passed-in\nsvc_serv struct.\n\nAgain, as this is a listener socket and not an address, we make this\nnew argument an \"int\" protocol family, instead of an \"sa_family_t.\"\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03cf6c9f49a8fea953d38648d016e3f46e814991",
      "tree": "c7e639bd9fb775af1919d2442d0bf2306dfbfca7",
      "parents": [
        "59a252ff8c0f2fa32c896f69d56ae33e641ce7ad"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Jan 13 21:26:36 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:42 2009 -0400"
      },
      "message": "knfsd: add file to export stats about nfsd pools\n\nAdd /proc/fs/nfsd/pool_stats to export to userspace various\nstatistics about the operation of rpc server thread pools.\n\nThis patch is based on a forward-ported version of\nknfsd-add-pool-thread-stats which has been shipping in the SGI\n\"Enhanced NFS\" product since 2006 and which was previously\nposted:\n\nhttp://article.gmane.org/gmane.linux.nfs/10375\n\nIt has also been updated thus:\n\n * moved EXPORT_SYMBOL() to near the function it exports\n * made the new struct struct seq_operations const\n * used SEQ_START_TOKEN instead of ((void *)1)\n * merged fix from SGI PV 990526 \"sunrpc: use dprintk instead of\n   printk in svc_pool_stats_*()\" by Harshula Jayasuriya.\n * merged fix from SGI PV 964001 \"Crash reading pool_stats before\n   nfsds are started\".\n\nSigned-off-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": "8bbfa9f3889b643fc7de82c0c761ef17097f8faf",
      "tree": "b214924c3fa4a440a1cd2dc036630e8d7e605256",
      "parents": [
        "5cb031b0afddad73ea4191c9f0b76d20ca447dc0"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@sgi.com",
        "time": "Tue Jan 13 21:26:34 2009 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 17:38:41 2009 -0400"
      },
      "message": "knfsd: remove the nfsd thread busy histogram\n\nStop gathering the data that feeds the \u0027th\u0027 line in /proc/net/rpc/nfsd\nbecause the questionable data provided is not worth the scalability\nimpact of calculating it.  Instead, always report zeroes.  The current\napproach suffers from three major issues:\n\n1. update_thread_usage() increments buckets by call service\n   time or call arrival time...in jiffies.  On lightly loaded\n   machines, call service times are usually \u003c 1 jiffy; on\n   heavily loaded machines call arrival times will be \u003c\u003c 1 jiffy.\n   So a large portion of the updates to the buckets are rounded\n   down to zero, and the histogram is undercounting.\n\n2. As seen previously on the nfs mailing list, the format in which\n   the histogram is presented is cryptic, difficult to explain,\n   and difficult to use.\n\n3. Updating the histogram requires taking a global spinlock and\n   dirtying the global variables nfsd_last_call, nfsd_busy, and\n   nfsdstats *twice* on every RPC call, which is a significant\n   scaling limitation.\n\nTesting on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing\n1K streaming reads at full line rate, shows the stats update code\n(inlined into nfsd()) takes about 1.7% of each CPU.  This patch drops\nthe contribution from nfsd() into the profile noise.\n\nThis patch is a forward-ported version of knfsd-remove-nfsd-threadstats\nwhich has been shipping in the SGI \"Enhanced NFS\" product since 2006.\nIn that time, exactly one customer has noticed that the threadstats\nwere missing.  It has been previously posted:\n\nhttp://article.gmane.org/gmane.linux.nfs/10376\n\nand more recently requested to be posted again.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1cd9cd161c89f569b90583b7797bd972c3bf0cff",
      "tree": "1b2f43ddc4d22089de09b949442f4b46663e3949",
      "parents": [
        "107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Oct 22 13:12:36 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Oct 22 13:36:05 2008 -0400"
      },
      "message": "NFSD: Fix BUG during NFSD shutdown processing\n\nThe Linux NFS server can be started via a user-space write to\n/proc/fs/nfs/threads or to /proc/fs/nfs/portlist.  In the first case,\nall default listeners are started (both UDP and TCP).  In the second,\na listener is started only for one specified transport.\n\nThe NFS server has to make sure lockd stays up until the last listener\ntransport goes away.  To support both start-up interfaces, it should\ndo one lockd_up() for each NFSD listener.\n\nThe nfsd_init_socks() function used to do one lockd_up() call for each\nsvc_create_xprt().  Recently commit\n26a414092353590ceaa5955bcb53f863d6ea7549 mistakenly changed\nnfsd_init_socks() to do only one lockd_up() call even though it still\ndoes two svc_create_xprt() calls.\n\nThe end result is a lockd_down() BUG during NFSD shutdown processing\nbecause nfsd_last_threads() does a lockd_down() call for each entry\non the sv_permsocks list, but the start-up code doesn\u0027t do a matching\nnumber of lockd_up() calls.\n\nAdd a second lockd_up() in nfsd_init_socks() to make sure the number\nof lockd_up() calls matches the number of entries on the NFS servers\u0027s\nsv_permsocks list.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26a414092353590ceaa5955bcb53f863d6ea7549",
      "tree": "d829a751e7f6dee7323039e6ea2340e78e5f9fd6",
      "parents": [
        "8c3916f4bdf9c8388bd70d0b399b3a43daf2087a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 03 17:15:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Oct 04 17:12:27 2008 -0400"
      },
      "message": "NLM: Remove \"proto\" argument from lockd_up()\n\nClean up: Now that lockd_up() starts listeners for both transports, the\n\"proto\" argument is no longer needed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\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": "100766f8347c1aeb5a548c5c7aa9012f4a3276f1",
      "tree": "fd9d011197bb466d49d102b5298f4293d18d311c",
      "parents": [
        "3cd2cfeae187fb754f9530e3f919256f350e89ca"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jun 30 14:09:46 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 30 15:27:47 2008 -0400"
      },
      "message": "nfsd: treat all shutdown signals as equivalent\n\nknfsd currently uses 2 signal masks when processing requests. A \"loose\"\nmask (SHUTDOWN_SIGS) that it uses when receiving network requests, and\nthen a more \"strict\" mask (ALLOWED_SIGS, which is just SIGKILL) that it\nallows when doing the actual operation on the local storage.\n\nThis is apparently unnecessarily complicated. The underlying filesystem\nshould be able to sanely handle a signal in the middle of an operation.\nThis patch removes the signal mask handling from knfsd altogether. When\nknfsd is started as a kthread, all signals are ignored. It then allows\nall of the signals in SHUTDOWN_SIGS. There\u0027s no need to set the mask\nas well.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c7d106c90ec40a0e35a6960157b40f238627246e",
      "tree": "21dd79c282982c65f39a00df406dad02cadb6efc",
      "parents": [
        "abd1ec4efd82ca06127bce833ad8a4bbec8a0dcb"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Thu Jun 12 13:38:42 2008 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:50 2008 -0400"
      },
      "message": "nfsd: fix race in nfsd_nrthreads()\n\nWe need the nfsd_mutex before accessing nfsd_serv-\u003esv_nrthreads or we\ncan\u0027t even guarantee nfsd_serv will still be there.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "e096bbc6488d3e49d476bf986d33752709361277",
      "tree": "2fa5e0367c84eac07c70c1a68243a688fca2d6e2",
      "parents": [
        "3dd98a3bccb1bdd30b8a4a755e7bead1b64160ec"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: remove special handling for SIGHUP\n\nThe special handling for SIGHUP in knfsd is a holdover from much\nearlier versions of Linux where reloading the export table was\nmore expensive. That facility is not really needed anymore and\nto my knowledge, is seldom-used.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3dd98a3bccb1bdd30b8a4a755e7bead1b64160ec",
      "tree": "53b124bc44b33330102ef73f170fa91e785633bc",
      "parents": [
        "bedbdd8bada194a690d2901801bf8451965086b3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 10 08:40:36 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:49 2008 -0400"
      },
      "message": "knfsd: clean up nfsd filesystem interfaces\n\nSeveral of the nfsd filesystem interfaces allow changes to parameters\nthat don\u0027t have any effect on a running nfsd service. They are only ever\nchecked when nfsd is started. This patch fixes it so that changes to\nthose procfiles return -EBUSY if nfsd is already running to make it\nclear that changes on the fly don\u0027t work.\n\nThe patch should also close some relatively harmless races between\nchanging the info in those interfaces and starting nfsd, since these\nvariables are being moved under the protection of the nfsd_mutex.\n\nFinally, the nfsv4recoverydir file always returns -EINVAL if read. This\npatch fixes it to return the recoverydir path as expected.\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": "5ea0dd61f221ba2701314a85e998b8202412553d",
      "tree": "1f1d1f2bea5fd98cc06af8d070242bdfd1ddd87b",
      "parents": [
        "c0ce6ec87c59d7a29438717b1f72f83fb408f416"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:11:39 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Remove NFSD_TCP kernel build option\n\nLikewise, distros usually leave CONFIG_NFSD_TCP enabled.\n\nTCP support in the Linux NFS server is stable enough that we can leave it\non always.  CONFIG_NFSD_TCP adds about 10 lines of code, and defaults to\n\"Y\" anyway.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e",
      "tree": "6987fee75558983f92cbba7385e39acc44f7555e",
      "parents": [
        "2b47eece1fa519a81c8b802af77a8b8aa44baa10"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Aug 01 15:30:59 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: move nfsv4 slab creation/destruction to module init/exit\n\nWe have some slabs that the nfs4 server uses to store state objects.\nWe\u0027re currently creating and destroying those slabs whenever the server\nis brought up or down.  That seems excessive; may as well just do that\nin module initialization and exit.\n\nAlso add some minor header cleanup.  (Thanks to Andrew Morton for that\nand a compile fix.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "3b398f0ef8db6a9bb431474afd871f4295203d2d",
      "tree": "6ad8d3729f260ad1acde039ef81d7ddc03125097",
      "parents": [
        "9c85fca56b569dfba1f10ae12ce425c0e678df83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 24 21:38:18 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: delete code made redundant by map_new_errors\n\nI moved this check into map_new_errors, but forgot to delete the\noriginal.  Oops.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "45457e0916f8253691a44d3574949b6d3d5872b1",
      "tree": "60774cfc75cf073280b39ad82f095704c4b221af",
      "parents": [
        "bbf25010f1a6b761914430f5fca081ec8c7accd1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 22 17:26:32 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:54 2007 -0400"
      },
      "message": "nfsd: tone down inaccurate dprintk\n\nThe nfserr_dropit happens routinely on upcalls (so a kmalloc failure is\nalmost never the actual cause), but I occasionally get a complant from\nsome tester that\u0027s worried because they ran across this message after\nturning on debugging to research some unrelated problem.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966",
      "tree": "c1a15e47d2dd93417b38d374346332809d461bda",
      "parents": [
        "6c0a654dceaa4342270306de77eadb0173dfb58a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: return nfserr_wrongsec\n\nMake the first actual use of the secinfo information by using it to return\nnfserr_wrongsec when an export is found that doesn\u0027t allow the flavor used on\nthis request.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "482fb94e1b0c2efe8258334aa2a68d4f4a91de9c",
      "tree": "84353b34bb5ea02df98b598fff037cf1da20d6b0",
      "parents": [
        "6b174337e5126de834a971d3edc3681bbfa45e2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper\n\nSometimes we need to create an RPC service but not register it with the local\nportmapper.  NFSv4 delegation callback, for example.\n\nChange the svc_makesock() API to allow optionally creating temporary or\npermanent sockets, optionally registering with the local portmapper, and make\nit return the ephemeral port of the new socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "c7afef1f963bec198b186cc34b9e8c9b9ce2e266",
      "tree": "d3686ebea2e848e225e9927b8f6f164547d82719",
      "parents": [
        "f00f328fda1eeec575cd0f360da81b66bf4133a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:29:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:43 2006 -0700"
      },
      "message": "[PATCH] nfsd: misc endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad451d389f46f699832da3e9ad95f610cb8c0fd2",
      "tree": "d77b6cb5277ef53b8a1433b37a68994806ee5431",
      "parents": [
        "83b11340d683a67a77e35a5ffb5ad4afbf0be4e5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] xdr annotations: nfsd_dispatch()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "44c556000a31e8079cfbb9a42a7edb93ca6b589a",
      "tree": "cd4ee059c11fb1e30d9ef09d518715d9b329aa8f",
      "parents": [
        "6b54dae2b0defb30babb0fe87b13463b9f4b2907"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:21 2006 -0700"
      },
      "message": "[PATCH] knfsd: fix auto-sizing of nfsd request/reply buffers\n\ntotalram is measured in pages, not bytes, so PAGE_SHIFT must be used when\ntrying to find 1/4096 of RAM.\n\nCc:  \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "596bbe53eb3abfe7326b2f5e8afd614265c319c8",
      "tree": "31e1f008f8acb46d1a3a937538446a1447ed9c8f",
      "parents": [
        "7adae489fe794e3e203ff168595f635d0b845e59"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Allow max size of NFSd payload to be configured\n\nThe max possible is the maximum RPC payload.  The default depends on amount of\ntotal memory.\n\nThe value can be set within reason as long as no nfsd threads are currently\nrunning.  The value can also be ready, allowing the default to be determined\nafter nfsd has started.\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": "eed2965af1bae30f746e936d80ad4fabb9e208c8",
      "tree": "bcb8d2f435f612f6b0d3cc6eac8b39e8dd22f45b",
      "parents": [
        "bfd241600a3b0db4fe43c859f1460d0a958d924a"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:18:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: allow admin to set nthreads per node\n\nAdd /proc/fs/nfsd/pool_threads which allows the sysadmin (or a userspace\ndaemon) to read and change the number of nfsd threads in each pool.  The\nformat is a list of space-separated integers, one per pool.\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": "eec09661dc82e90a31051d045a94026a91aceb82",
      "tree": "2d487c532ce0fc0535709b599a034838e142ce75",
      "parents": [
        "a74554429eada89a7ddb47317e6a2968d03e41a2"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:18:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: use svc_set_num_threads to manage threads in knfsd\n\nReplace the existing list of all nfsd threads with new code using\nsvc_create_pooled().\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": "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab",
      "tree": "bae1805492889c3d59017571c062ce4a02e024aa",
      "parents": [
        "3262c816a3d7fb1eaabce633caa317887ed549ae"
      ],
      "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: add svc_get\n\nadd svc_get() for those occasions when we need to temporarily bump up\nsvc_serv-\u003esv_nrthreads as a pseudo refcount.\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": "4a3ae42dc312dbdffee803efaf393421b79f997a",
      "tree": "d18249c89fc1a5ab273beec1639cde769a0b6e96",
      "parents": [
        "7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Correctly handle error condition from lockd_up\n\nIf lockd_up fails - what should we expect?  Do we have to later call\nlockd_down?\n\nWell the nfs client thinks \"no\", the nfs server thinks \"yes\".  lockd thinks\n\"yes\".\n\nThe only answer that really makes sense is \"no\" !!\n\nSo:\n  Make lockd_up only increment  nlmsvc_users on success.\n  Make nfsd handle errors from lockd_up properly.\n  Make sure lockd_up(0) never fails when lockd is running\n    so that the \u0027reclaimer\u0027 call to lockd_up doesn\u0027t need to\n    be error checked.\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6fb2b47fa16c81317ec282248e6cff521cca31c2",
      "tree": "226d823e900aba03fb7ee55cab3a9137fd5d9077",
      "parents": [
        "896440d560de3bca6813e83792f431edf5073318"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Drop \u0027serv\u0027 option to svc_recv and svc_process\n\nIt isn\u0027t needed as it is available in rqstp-\u003erq_server, and dropping it allows\nsome local vars to be dropped.\n\n[akpm@osdl.org: build fix]\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b41b66d63c730cc45a1024e1f1e67439e507e40f",
      "tree": "85f623c087a90ccf08a8264c638df5504f972c0d",
      "parents": [
        "80212d59e32a8a8e030c2ddc5861d8ff70542c56"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: allow sockets to be passed to nfsd via \u0027portlist\u0027\n\nUserspace should create and bind a socket (but not connectted) and write the\n\u0027fd\u0027 to portlist.  This will cause the nfs server to listen on that socket.\n\nTo close a socket, the name of the socket - as read from \u0027portlist\u0027 can be\nwritten to \u0027portlist\u0027 with a preceding \u0027-\u0027.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "02a375f0ac4bc2e9b767fabb6b2f9915547226a7",
      "tree": "997bf0cb90d644acd2f573b9e04cf92eaf216e08",
      "parents": [
        "6658d3a7bbfd1768a7b599def47939417f0ee8ef"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: separate out some parts of nfsd_svc, which start nfs servers\n\nSeparate out the code for creating a new service, and for creating initial\nsockets.\n\nSome of these new functions will have multiple callers soon.\n\n[akpm@osdl.org: cleanups]\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": "6658d3a7bbfd1768a7b599def47939417f0ee8ef",
      "tree": "fd3ddac035bac92204836de1e11a0078fe54d5b9",
      "parents": [
        "24e36663c375df577d2dcae437713481ffd6850c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: remove nfsd_versbits as intermediate storage for desired versions\n\nWe have an array \u0027nfsd_version\u0027 which lists the available versions of nfsd,\nand \u0027nfsd_versions\u0027 (poor choice there :-() which lists the currently active\nversions.\n\nThen we have a bitmap - nfsd_versbits which says which versions are wanted.\nThe bits in this bitset cause content to be copied from nfsd_version to\nnfsd_versions when nfsd starts.\n\nThis patch removes nfsd_versbits and moves information directly from\nnfsd_version to nfsd_versions when requests for version changes arrive.\n\nNote that this doesn\u0027t make it possible to change versions while the server is\nrunning.  This is because serv-\u003esv_xdrsize is calculated when a service is\ncreated, and used when threads are created, and xdrsize depends on the active\nversions.\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": "24e36663c375df577d2dcae437713481ffd6850c",
      "tree": "dd738e582b663c433eef3a53eb593a518439a285",
      "parents": [
        "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: be more selective in which sockets lockd listens on\n\nCurrently lockd listens on UDP always, and TCP if CONFIG_NFSD_TCP is set.\n\nHowever as lockd performs services of the client as well, this is a problem.\nIf CONFIG_NfSD_TCP is not set, and a tcp mount is used, the server will not be\nable to call back to lockd.\n\nSo:\n - add an option to lockd_up saying which protocol is needed\n - Always open sockets for which an explicit port was given, otherwise\n   only open a socket of the type required\n - Change nfsd to do one lockd_up per socket rather than one per thread.\n\nThis\n - removes the dependancy on CONFIG_NFSD_TCP\n - means that lockd may open sockets other than at startup\n - means that lockd will *not* listen on UDP if the only\n   mounts are TCP mount (and nfsd hasn\u0027t started).\n\nThe latter is the only one that concerns me at all - I don\u0027t know if this\nmight be a problem with some servers.\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": "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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e8c96f8c29d89af0c13dc2819a9a00575846ca18",
      "tree": "b90ed0da4803df56a91be5979580e335af2d697c",
      "parents": [
        "b5029622ac86bb441dc5e641226fb1152fca02d7"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Fri Mar 24 03:15:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:19 2006 -0800"
      },
      "message": "[PATCH] fs: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a\nduplicate of ARRAY_SIZE.  Some trailing whitespaces are also deleted.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fb803a990cd17546bd89c38e0e29a891f71ce7d",
      "tree": "11a1da8788161c689734b53c40784a7737d1c118",
      "parents": [
        "3a2ca64496cc1c9aeab1076e06d092b3ec74a43d"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Feb 01 03:04:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:09 2006 -0800"
      },
      "message": "[PATCH] knfsd: Restore recently broken ACL functionality to NFS server\n\nA recent patch to\n   Allow run-time selection of NFS versions to export\n\nmeant that NO nfsacl service versions were exported.  This patch restored\nthat functionality.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@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": "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": "70c3b76c28b012452d63bb27f6d0517afb05d86f",
      "tree": "836c24891039fde8a59ee5db37def144bce16b90",
      "parents": [
        "7390022d697bcc62a7556d6fdc61ec56ce3a381a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:48 2005 -0800"
      },
      "message": "[PATCH] knfsd: Allow run-time selection of NFS versions to export\n\nProvide a file in the NFSD filesystem that allows setting and querying of\nwhich version of NFS are being exported.  Changes are only allowed while no\nserver is running.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.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": "c4f92dba97f4e3aa757500896f87001569f4604b",
      "tree": "3af7efe2b1ae357ee151c1795dc60cfe801e8718",
      "parents": [
        "dd12f48d4e8774415b528d3991ae47c28f26e1ac"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 17 14:25:23 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 17 12:53:05 2005 -0700"
      },
      "message": "[PATCH] nfsd to unlock kernel before exiting\n\nThe nfsd holds the big kernel lock upon exit, when it really shouldn\u0027t.\nNot to mention that this breaks Ingo\u0027s RT patch. This is a trivial fix\nto release the lock.\n\nIngo, this patch also works with your kernel, and stops the problem with\nnfsd.\n\nNote, there\u0027s a \"goto out;\" where \"out:\" is right above svc_exit_thread.\nThe point of the goto also holds the kernel_lock, so I don\u0027t see any\nproblem here in releasing it.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76a3550ec50ed86885a10a767ebaebb7c9104721",
      "tree": "0961d1eb0a61378852cf90f203dba09a22ac012d",
      "parents": [
        "7b190fecfa33d72bcf74c9473134c2ad14ae9545"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:31 2005 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: rename nfs4_state_init\n\nSomewhat gratuitous rename to simplify following patch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "213484254c65e3c39c59df454132748b1367f816",
      "tree": "bba8225be09a04f23a34ee0e93b9fa1090f3bf8f",
      "parents": [
        "458818ed76d3f495f9f32373c936456c9427f759"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:28 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:27 2005 -0400"
      },
      "message": "[PATCH] fix nfsacl pointer arithmetic and pg_class initialization bugs\n\n* Pointer arithmetic bug: p is in word units. This fixes a memory\n  corruption with big acls.\n* Initialize pg_class to prevent a NULL pointer access.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e416052f1462801ca857c7536288bac0621615e",
      "tree": "f657d0dcc3f3d495fbe359cee2ea35868c10b128",
      "parents": [
        "d13df84ff7f3f3e26a9643c1d3cbf94cef9b5b59"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Sat Apr 16 15:26:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:37 2005 -0700"
      },
      "message": "[PATCH] nfsd: clear signals before exiting the nfsd() thread\n\nFixes the error \"RPC: failed to contact portmap (errno -512).\" when the server\nlater tries to unregister from the portmapper.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
