)]}'
{
  "log": [
    {
      "commit": "8dbf28e495337b0c66657e3e278ae0ff175b7140",
      "tree": "f38d8d72ef7845e7064ec4e46665eaef8fed26e0",
      "parents": [
        "3d1221dfa95ca876535c5947626f3834343e8fbc"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:23:16 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:44 2012 -0400"
      },
      "message": "LockD: add debug message to start and stop functions\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3d1221dfa95ca876535c5947626f3834343e8fbc",
      "tree": "e5a9f3d51b287129d9dc2599a524a752a2fdbadd",
      "parents": [
        "7d13ec761ae45d5e401965c73d855840ff8cdd23"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:23:09 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:44 2012 -0400"
      },
      "message": "LockD: service start function introduced\n\nThis is just a code move, which from my POV makes the code look better.\nI.e. now on start we have 3 different stages:\n1) Service creation.\n2) Service per-net data allocation.\n3) Service start.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7d13ec761ae45d5e401965c73d855840ff8cdd23",
      "tree": "687f136f3ebec65f3700aab47f6c82bf48797c9e",
      "parents": [
        "24452239094a8b52f54fd4403f6e177837cecf67"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:23:02 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:43 2012 -0400"
      },
      "message": "LockD: move global usage counter manipulation from error path\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "24452239094a8b52f54fd4403f6e177837cecf67",
      "tree": "4eac5ff5946cb30416ff23157ea861cdfbc1ca96",
      "parents": [
        "dbf9b5d74ceae787607e3d7db626fffa8be3c03d"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:22:54 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:42 2012 -0400"
      },
      "message": "LockD: service creation function introduced\n\nThis function creates service if it doesn\u0027t exist, or increases usage\ncounter if it does, and returns a pointer to it.  The usage counter will\nbe droppepd by svc_destroy() later in lockd_up().\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "dbf9b5d74ceae787607e3d7db626fffa8be3c03d",
      "tree": "3a5418506b7066642b49e28f94d696114bc57e44",
      "parents": [
        "4db77695bf5738bdafa83d1b58b64cbecc6f55e7"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:22:47 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:42 2012 -0400"
      },
      "message": "LockD: use existing per-net data function on service creation\n\nThis patch also replaces svc_rpcb_setup() with svc_bind().\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4db77695bf5738bdafa83d1b58b64cbecc6f55e7",
      "tree": "251c5071cb060e29a22cad9b0e2fbd53f719602c",
      "parents": [
        "91c427ac3a61ccabae0fdef53563edf40394b6c9"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 25 18:22:40 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:41 2012 -0400"
      },
      "message": "LockD: pass service to per-net up and down functions\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "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": "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": "de5b8e8e047534aac6bc9803f96e7257436aef9c",
      "tree": "a32c2ccf0e2992f177c0a5db41e6b2b515b603e2",
      "parents": [
        "cec56c8ff5e28f58ff13041dca7853738ae577a1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Feb 07 15:35:42 2012 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 17 18:38:51 2012 -0500"
      },
      "message": "lockd: fix arg parsing for grace_period and timeout.\n\nIf you try to set grace_period or timeout via a module parameter\nto lockd, and do this on a big-endian machine where\n\n   sizeof(int) !\u003d sizeof(unsigned long)\n\nit won\u0027t work.  This number given will be effectively shifted right\nby the difference in those two sizes.\n\nSo cast kp-\u003earg properly to get correct result.\n\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3b64739fb928c34b13db6b5adcb0d3efb19e78be",
      "tree": "d3a0e8293b2da6d816c47939675e00da22c576d9",
      "parents": [
        "0e1cb5c0aad1c37a4eee6db45f52c0b3869db2cc"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:08:29 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:48 2012 -0500"
      },
      "message": "Lockd: shutdown NLM hosts in network namespace context\n\nLockd now managed in network namespace context. And this patch introduces\nnetwork namespace related NLM hosts shutdown in case of releasing per-net Lockd\nresources.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bb2224df5ffe4f864f5b696199b17db1ce77bc0a",
      "tree": "1aa476668966b94ea5f5e399ea15f3aede936f47",
      "parents": [
        "a9c5d73a8d8cb37601f8c39b35b9b4128e1a5254"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:08:05 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:47 2012 -0500"
      },
      "message": "Lockd: per-net up and down routines introduced\n\nThis patch introduces per-net Lockd initialization and destruction routines.\nThe logic is the same as in global Lockd up and down routines. Probably the\nsolution is not the best one. But at least it looks clear.\nSo per-net \"up\" routine are called only in case of lockd is running already. If\nper-net resources are not allocated yet, then service is being registered with\nlocal portmapper and lockd sockets created.\nPer-net \"down\" routine is called on every lockd_down() call in case of global\nusers counter is not zero.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9c5d73a8d8cb37601f8c39b35b9b4128e1a5254",
      "tree": "0ae70dea76c0039e5fa0f62e12001c82a0d1647a",
      "parents": [
        "c228fa2038a33bb3b87f567482124f452e162a71"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:07:57 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:47 2012 -0500"
      },
      "message": "Lockd: pernet usage counter introduced\n\nLockd is going to be shared between network namespaces - i.e. going to be able\nto handle lock requests from different network namespaces. This means, that\nnetwork namespace related resources have to be allocated not once (like now),\nbut for every network namespace context, from which service is requested to\noperate.\nThis patch implements Lockd per-net users accounting. New per-net counter is\nused to determine, when per-net resources have to be freed.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c228fa2038a33bb3b87f567482124f452e162a71",
      "tree": "7d89404b7d9facf20487b782126ddfa5dfe14620",
      "parents": [
        "074d0f67cfe0af4927ce49560f403096b490c47f"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:07:48 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:46 2012 -0500"
      },
      "message": "Lockd: create permanent lockd sockets in current network namespace\n\nThis patch parametrizes Lockd permanent sockets creation routine by network\nnamespace context.\nIt also replaces hard-coded init_net with current network namespace context in\nLockd sockets creation routines.\nThis approach looks safe, because Lockd is created during NFS mount (or NFS\nserver start) and thus socket is required exactly in current network namespace\ncontext. But in the same time it means, that Lockd sockets inherits first Lockd\nrequester network namespace. This issue will be fixed in further patches of the\nseries.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4cb54ca2069903121e4c03ec427147c47bed5755",
      "tree": "2d156d3d9f37a385a27f444f315c0498f0e9475f",
      "parents": [
        "babea479b75a9ea3d84ace6d880513e18397a8bb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 20 16:50:53 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:19 2012 -0500"
      },
      "message": "SUNRPC: search for service transports in network namespace context\n\nService transports are parametrized by network namespace. And thus lookup of\ntransport instance have to take network namespace into account.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "11fd165c68b73434ca1273e21f21db5eecc90926",
      "tree": "75c3e2d97b2d59ebaaa4571df2ead80a4c4f35a5",
      "parents": [
        "c1f24ef4ed46f58ea5e524a2364c93b6847fb164"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 20:04:09 2011 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 19 13:25:36 2011 -0400"
      },
      "message": "sunrpc: use better NUMA affinities\n\nUse NUMA aware allocations to reduce latencies and increase throughput.\n\nsunrpc kthreads can use kthread_create_on_node() if pool_mode is\n\"percpu\" or \"pernode\", and svc_prepare_thread()/svc_init_buffer() can\nalso take into account NUMA node affinity for memory allocations.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCC: Neil Brown \u003cneilb@suse.de\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Greg Banks \u003cgnb@fastmail.fm\u003e\n[bfields@redhat.com: fix up caller nfs41_callback_up]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "763641d81202834e9d64de2019d1edec12868f4f",
      "tree": "cabbf932e3f6676bfbce6be27744795700011bfb",
      "parents": [
        "f9ba5375a8aae4aeea6be15df77e24707a429812"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 26 22:55:40 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Oct 27 21:39:39 2010 +0200"
      },
      "message": "lockd: push lock_flocks down\n\nlockd should use lock_flocks() instead of lock_kernel()\nto lock against posix locks accessing the i_flock list.\n\nThis is a prerequisite to turning lock_flocks into a\nspinlock.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-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": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "d6783b2b6c4050df0ba0a84c6842cf5bc2212ef9",
      "tree": "d5c5d2ca1be2a53bb6e948da76c2ecd0f74ee27c",
      "parents": [
        "205ba42308729f4f41f21d314a4435e7de5c9a2e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jan 26 14:04:04 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 26 17:56:43 2010 -0500"
      },
      "message": "SUNRPC: Bury \"#ifdef IPV6\" in svc_create_xprt()\n\nClean up:  Bruce observed we have more or less common logic in each of\nsvc_create_xprt()\u0027s callers:  the check to create an IPv6 RPC listener\nsocket only if CONFIG_IPV6 is set.  I\u0027m about to add another case\nthat does just the same.\n\nIf we move the ifdefs into __svc_xpo_create(), then svc_create_xprt()\ncall sites can get rid of the \"#ifdef\" ugliness, and can use the same\nlogic with or without IPv6 support available in the kernel.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6d4561110a3e9fa742aeec6717248a491dfb1878",
      "tree": "689e2abf19940416ce597ba56ed31026ff59bd21",
      "parents": [
        "86926d0096279b9739ceeff40f68d3c33b9119a9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 16 03:11:48 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 18 08:37:40 2009 -0800"
      },
      "message": "sysctl: Drop \u0026 in front of every proc_handler.\n\nFor consistency drop \u0026 in front of every proc_handler.  Explicity\ntaking the address is unnecessary and it prevents optimizations\nlike stubbing the proc_handlers to NULL.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "ab09203e302b6e526f6930f3e460064b0f253ae9",
      "tree": "bc95bfaba78ba30613d57c676eca42818b8a3293",
      "parents": [
        "2bc4657c15e4a33d9a192579c7627a397dbcbebc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 05 14:25:10 2009 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 12 02:04:55 2009 -0800"
      },
      "message": "sysctl fs: Remove dead binary sysctl support\n\nNow that sys_sysctl is a generic wrapper around /proc/sys  .ctl_name\nand .strategy members of sysctl tables are dead code.  Remove them.\n\nCc: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "89996df4b5b1a09c279f50b3fd03aa9df735f5cb",
      "tree": "e693b22cf595b4d1a5a33e07efc674ee4542ddc3",
      "parents": [
        "b2c0cea6b1cb210e962f07047df602875564069e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed May 06 16:32:54 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed May 06 17:19:36 2009 -0400"
      },
      "message": "lockd: fix list corruption on lockd restart\n\nIf lockd is signalled soon enough after restart then locks_start_grace()\nwill try to re-add an entry to a list and trigger a lock corruption\nwarning.\n\nThanks to Wang Chen for the problem report and diagnosis.\n\nWARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()\n...\nlist_add corruption. next-\u003eprev should be prev (ef8fe958), but was ef8ff128.  (next\u003def8ff128).\n...\nPid: 23062, comm: lockd Tainted: G        W  2.6.30-rc2 #3\nCall Trace:\n[\u003cc042d5b5\u003e] warn_slowpath+0x71/0xa0\n[\u003cc0422a96\u003e] ? update_curr+0x11d/0x125\n[\u003cc044b12d\u003e] ? trace_hardirqs_on_caller+0x18/0x150\n[\u003cc044b270\u003e] ? trace_hardirqs_on+0xb/0xd\n[\u003cc051c61a\u003e] ? _raw_spin_lock+0x53/0xfa\n[\u003cc051c89f\u003e] __list_add+0x27/0x5c\n[\u003cef8f6daa\u003e] locks_start_grace+0x22/0x30 [lockd]\n[\u003cef8f34da\u003e] set_grace_period+0x39/0x53 [lockd]\n[\u003cc06b8921\u003e] ? lock_kernel+0x1c/0x28\n[\u003cef8f3558\u003e] lockd+0x64/0x164 [lockd]\n[\u003cc044b12d\u003e] ? trace_hardirqs_on_caller+0x18/0x150\n[\u003cc04227b0\u003e] ? complete+0x34/0x3e\n[\u003cef8f34f4\u003e] ? lockd+0x0/0x164 [lockd]\n[\u003cef8f34f4\u003e] ? lockd+0x0/0x164 [lockd]\n[\u003cc043dd42\u003e] kthread+0x45/0x6b\n[\u003cc043dcfd\u003e] ? kthread+0x0/0x6b\n[\u003cc0403c23\u003e] kernel_thread_helper+0x7/0x10\n\nReported-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "eb16e907781a9da7f272a3e8284c26bc4e4aeb9d",
      "tree": "6651fc149d5afbcc44418fe235a2480060ce3c17",
      "parents": [
        "9355982830ad67dca35e0f3d43319f3d438f82b4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:47:59 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 16:01:16 2009 -0400"
      },
      "message": "lockd: Start PF_INET6 listener only if IPv6 support is available\n\nApparently a lot of people need to disable IPv6 completely on their\ndistributor-built systems, which have CONFIG_IPV6_MODULE enabled at\nbuild time.\n\nThey do this by blacklisting the ipv6.ko module.  This causes the\ncreation of the lockd service listener to fail if CONFIG_IPV6_MODULE\nis set, but the module cannot be loaded.\n\nNow that the kernel\u0027s PF_INET6 RPC listeners are completely separate\nfrom PF_INET listeners, we can always start PF_INET.  Then lockd can\ntry to start PF_INET6, but it isn\u0027t required to be available.\n\nNote this has the added benefit that NLM callbacks from AF_INET6\nservers will never come from AF_INET remotes.  We no longer have to\nworry about matching mapped IPv4 addresses to AF_INET when comparing\naddresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26298caacac3e4754194b13aef377706d5de6cf6",
      "tree": "ca5bcec9c81af2ad5f7d8b4dc91fd3a22aee71f4",
      "parents": [
        "49a9072f29a1039f142ec98b44a72d7173651c02"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:36 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:55:06 2009 -0400"
      },
      "message": "NFS: Revert creation of IPv6 listeners for lockd and NFSv4 callbacks\n\nWe\u0027re about to convert over to using separate PF_INET and PF_INET6\nlisteners, instead of a single PF_INET6 listener that also receives\nAF_INET requests and maps them to AF_INET6.\n\nClear the way by removing the logic in lockd and the NFSv4 callback\nserver that creates an AF_INET6 service listener.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49a9072f29a1039f142ec98b44a72d7173651c02",
      "tree": "d2a87541cb699fb6b1fbdef492f3dc6c305aa541",
      "parents": [
        "9652ada3fb5914a67d8422114e8a76388330fa79"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:48 2009 -0400"
      },
      "message": "SUNRPC: Remove @family argument from svc_create() and svc_create_pooled()\n\nSince an RPC service listener\u0027s protocol family is specified now via\nsvc_create_xprt(), it no longer needs to be passed to svc_create() or\nsvc_create_pooled().  Remove that argument from the synopsis of those\nfunctions, and remove the sv_family field from the svc_serv struct.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "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": "0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6",
      "tree": "758e6f346d7aa5d4b987f3fa337de1864b61682f",
      "parents": [
        "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Clean up flow of control in make_socks() function\n\nClean up: Use Bruce\u0027s preferred control flow style in make_socks().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b",
      "tree": "a2d8724d2c730dc1837aafc623f2139220884871",
      "parents": [
        "55ef1274dddd4de387c54d110e354ffbb6cdc706"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:04 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Refactor make_socks() function\n\nClean up: extract common logic in NLM\u0027s make_socks() function\ninto a helper.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b064ec038a6180b13e5f89b6a30b42cb5ce8febc",
      "tree": "942e1e6ff64868a4cd72df5d2bb8724963cc2de3",
      "parents": [
        "57ef692588bc225853ca3267ca5b7cea2b07e058"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:59 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:56 2009 -0500"
      },
      "message": "lockd: Enable NLM use of AF_INET6\n\nIf the kernel is configured to support IPv6 and the RPC server can register\nservices via rpcbindv4, we are all set to enable IPv6 support for lockd.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aime Le Rouzic \u003caime.le-rouzic@bull.net\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7ba597fb964dfa44284904b3b3d74d44b8e1c42",
      "tree": "a03c62f761cc823c29b9bafd083490b2a3627986",
      "parents": [
        "8529bc51d30b8f001734b29b21a51b579c260f5b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:29 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Move nsm_use_hostnames to mon.c\n\nClean up.\n\nTreat the nsm_use_hostnames global variable like nsm_local_state.\nNote that the default value of nsm_use_hostnames is still zero.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4",
      "tree": "87ea535ec91aaa56263ffbb5a34c8e9541e77136",
      "parents": [
        "94da7663db26530a8377f7219f8be8bd4d4822c2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:14 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Remove include/linux/lockd/sm_inter.h\n\nClean up: The include/linux/lockd/sm_inter.h header is nearly empty\nnow.  Remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c72a476b4b7ecadb80185de31236edb303c1a5d0",
      "tree": "c57ac715970c4a3363b28122ce2d3b47fe179b7f",
      "parents": [
        "c9233eb7b0b11ef176d4bf68da2ce85464b6ec39"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 20 11:51:58 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:48 2009 -0500"
      },
      "message": "lockd: set svc_serv-\u003esv_maxconn to a more reasonable value (try #3)\n\nThe default method for calculating the number of connections allowed\nper RPC service arbitrarily limits single-threaded services to 80\nconnections. This is too low for services like lockd and artificially\nlimits the number of TCP clients that it can support.\n\nHave lockd set a default sv_maxconn value to 1024 (which is the typical\ndefault value for RLIMIT_NOFILE. Also add a module parameter to allow an\nadmin to set this to an arbitrary value.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2de59872a7842143f4507832e7c1f5123c47feb7",
      "tree": "d5c8809539eda8b0718012e8b4a7eda3dea98a45",
      "parents": [
        "d716f0b8a57f8577bcd869e7dcb5a0add9f6fc5e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:33 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 15:21:33 2008 -0500"
      },
      "message": "LOCKD: Make lockd_up() and lockd_down() exported GPL-only\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c5e76158fcea6e3b9536a74efa7b5e2e846d374",
      "tree": "dca1fcd75e3091b9ffe14b5461714fed1542dbba",
      "parents": [
        "b726e923ea4d216027e466aa602d914e4b4a63af"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 20 14:36:17 2008 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 24 10:12:48 2008 -0600"
      },
      "message": "nfsd: clean up grace period on early exit\n\nIf nfsd was shut down before the grace period ended, we could end up\nwith a freed object still on grace_list.  Thanks to Jeff Moyer for\nreporting the resulting list corruption warnings.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\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": "8c3916f4bdf9c8388bd70d0b399b3a43daf2087a",
      "tree": "738c44f56265c6fbca20ce8c7ec8aa655ce56803",
      "parents": [
        "9a38a83880c224c6a3fd973ac9ae30a043487f0f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 03 17:15:23 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Oct 04 17:08:16 2008 -0400"
      },
      "message": "NLM: Always start both UDP and TCP listeners\n\nCommit 24e36663, which first appeared in 2.6.19, changed lockd so that\nthe client side starts a UDP listener only if there is a UDP NFSv2/v3\nmount.  Its description notes:\n\n    This... means that lockd will *not* listen on UDP if the only\n    mounts are TCP mount (and nfsd hasn\u0027t started).\n\n    The latter is the only one that concerns me at all - I don\u0027t know\n    if this might be a problem with some servers.\n\nUnfortunately it is a problem for Linux itself.  The rpc.statd daemon\non Linux uses UDP for contacting the local lockd, no matter which\nprotocol is used for NFS mounts.  Without a local lockd UDP listener,\nNFSv2/v3 lock recovery from Linux NFS clients always fails.\n\nRevert parts of commit 24e36663 so lockd_up() always starts both\nlisteners.\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": "af558e33bedab672f5cfd3260bce7445e353fe21",
      "tree": "eb89187b6c12640a00584bd35be035ba332e4af3",
      "parents": [
        "d5b337b4877f7c4e1d761434ee04d045b0201e03"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Sep 06 12:34:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 03 16:19:02 2008 -0400"
      },
      "message": "nfsd: common grace period control\n\nRewrite grace period code to unify management of grace period across\nlockd and nfsd.  The current code has lockd and nfsd cooperate to\ncompute a grace period which is satisfactory to them both, and then\nindividually enforce it.  This creates a slight race condition, since\nthe enforcement is not coordinated.  It\u0027s also more complicated than\nnecessary.\n\nHere instead we have lockd and nfsd each inform common code when they\nenter the grace period, and when they\u0027re ready to leave the grace\nperiod, and allow normal locking only after both of them are ready to\nleave.\n\nWe also expect the locks_start_grace()/locks_end_grace() interface here\nto be simpler to build on for future cluster/high-availability work,\nwhich may require (for example) putting individual filesystems into\ngrace, or enforcing grace periods across multiple cluster nodes.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c8ab5f2a13fb41a878863c61a1e27d78f1844b5e",
      "tree": "869ce6a2a51581d09011aeb5e804b0d1ab39a7b9",
      "parents": [
        "8fafa90082ab18859d97627fc454edf12f7efbff"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Mar 18 19:00:19 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:10 2008 -0400"
      },
      "message": "lockd: don\u0027t depend on lockd main loop to end grace\n\nEnd lockd\u0027s grace period using schedule_delayed_work() instead of a\ncheck on every pass through the main loop.\n\nAfter a later patch, we\u0027ll depend on lockd to end its grace period even\nif it\u0027s not currently handling requests; so it shouldn\u0027t depend on being\nwoken up from the main loop to do so.\n\nAlso, Nakano Hiroaki (who independently produced a similar patch)\nnoticed that the current behavior is buggy in the face of jiffies\nwraparound:\n\n\t\"lockd uses time_before() to determine whether the grace period\n\thas expired. This would seem to be enough to avoid timer\n\twrap-around issues, but, unfortunately, that is not the case.\n\tThe time_* family of comparison functions can be safely used to\n\tcompare jiffies relatively close in time, but they stop working\n\tafter approximately LONG_MAX/2 ticks. nfsd can suffer this\n\tproblem because the time_before() comparison in lockd() is not\n\tperformed until the first request comes in, which means that if\n\tthere is no lockd traffic for more than LONG_MAX/2 ticks we are\n\tscrewed.\n\n\t\"The implication of this is that once time_before() starts\n\tmisbehaving any attempt from a NFS client to execute fcntl()\n\twill be received with a NLM_LCK_DENIED_GRACE_PERIOD message for\n\t25 days (assuming HZ\u003d1000). In other words, the 50 seconds grace\n\tperiod could turn into a grace period of 50 days or more.\n\n\t\"Note: This bug was analyzed independently by Oda-san\n\t\u003coda@valinux.co.jp\u003e and myself.\"\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Nakano Hiroaki \u003cnakano.hiroaki@oss.ntt.co.jp\u003e\nCc: Itsuro Oda \u003coda@valinux.co.jp\u003e\n"
    },
    {
      "commit": "8fafa90082ab18859d97627fc454edf12f7efbff",
      "tree": "de5bfb7c8381cf62dc9d6467e7becb08ebca8c7f",
      "parents": [
        "54a66e548079f12a6f54c3cae96812a9ed9b54ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jan 24 11:11:34 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 17:56:59 2008 -0400"
      },
      "message": "locks: allow lockd to process blocked locks during grace period\n\nThe check here is currently harmless but unnecessary, since, as the\ncomment notes, there aren\u0027t any blocked-lock callbacks to process\nduring the grace period anyway.\n\nAnd eventually we want to allow multiple grace periods that come and go\nfor different filesystems over the course of the lifetime of lockd, at\nwhich point this check is just going to get in the way.\n\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": "abd1ec4efd82ca06127bce833ad8a4bbec8a0dcb",
      "tree": "4a740d45b37a8b6e034ebf7b7a5a325af0b1ec52",
      "parents": [
        "a75c5d01e4235a7dd785548ac756f248b1b40107"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 11 10:03:12 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 23 13:02:50 2008 -0400"
      },
      "message": "lockd: close potential race with rapid lockd_up/lockd_down cycle\n\nIf lockd_down is called very rapidly after lockd_up returns, then\nthere is a slim chance that lockd() will never be called. kthread()\nwill return before calling the function, so we\u0027ll end up never\nactually calling the cleanup functions for the thread.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "563307b2fa15d687abc54bd980b9847ebf0e3231",
      "tree": "7f16be30217a2e66360ede97aa27d07a4ebd7e55",
      "parents": [
        "10c993a6b5418cb1026775765ba4c70ffb70853d",
        "233607dbbc823caf685e778cabc49fb7f679900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits)\n  SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n  make nfs_automount_list static\n  NFS: remove duplicate flags assignment from nfs_validate_mount_data\n  NFS - fix potential NULL pointer dereference v2\n  SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n  SUNRPC: Fix a race in gss_refresh_upcall()\n  SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n  SUNRPC: Remove the unused export of xprt_force_disconnect\n  SUNRPC: remove XS_SENDMSG_RETRY\n  SUNRPC: Protect creds against early garbage collection\n  NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n  NFSv4: Reintroduce machine creds\n  NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n  nfs: fix printout of multiword bitfields\n  nfs: return negative error value from nfs{,4}_stat_to_errno\n  NLM/lockd: Ensure client locking calls use correct credentials\n  NFS: Remove the buggy lock-if-signalled case from do_setlk()\n  NLM/lockd: Fix a race when cancelling a blocking lock\n  NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n  NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n  ...\n"
    },
    {
      "commit": "f97c650dda24e48405399aa0676e90da52408515",
      "tree": "9bb7d41c05ff8377cad7048b45fa900262688142",
      "parents": [
        "06e02d66fa0055230efc2443c43ee4f3ab5eb0b6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 08 15:40:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "NLM: don\u0027t let lockd exit on unexpected svc_recv errors (try #2)\n\nWhen svc_recv returns an unexpected error, lockd will print a warning\nand exit. This problematic for several reasons. In particular, it will\ncause the reference counts for the thread to be wrong, and can lead to a\npotential BUG() call.\n\nRather than exiting on error from svc_recv, have the thread do a 1s\nsleep and then retry the loop. This is unlikely to cause any harm, and\nif the error turns out to be something temporary then it may be able to\nrecover.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d751a7cd0695554498f25d3026ca6710dbb3698f",
      "tree": "31ec617dfb9fb70160bb8d2d9c9fd2e5c1e50c15",
      "parents": [
        "7086721f9c8b59331e164e534f588e075cfd9d3f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "NLM: Convert lockd to use kthreads\n\nHave lockd_up start lockd using kthread_run. With this change,\nlockd_down now blocks until lockd actually exits, so there\u0027s no longer\nneed for the waitqueue code at the end of lockd_down. This also means\nthat only one lockd can be running at a time which simplifies the code\nwithin lockd\u0027s main loop.\n\nThis also adds a check for kthread_should_stop in the main loop of\nnlmsvc_retry_blocked and after that function returns. There\u0027s no sense\ncontinuing to retry blocks if lockd is coming down anyway.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "90d5b18061656993410dfd57ddb88aa5a3f34563",
      "tree": "7e640753a3961d5af11518f046ed11920c8f649d",
      "parents": [
        "1e40316bc44851c5920490df01482ed862e4dbc4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Mar 14 14:18:30 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 18:00:44 2008 -0400"
      },
      "message": "NLM: LOCKD fails to load if CONFIG_SYSCTL is not set\n\nBruce Fields says:\n\"By the way, we\u0027ve got another config-related nit here:\n\n\thttp://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d156\n\nYou can build lockd without CONFIG_SYSCTL set, but then the module will\nfail to load.\"\n\nFor now, disable the sysctl registration calls in lockd if CONFIG_SYSCTL\nis not enabled.  This allows the kernel to build properly if PROC_FS or\nSYSCTL is not enabled, but an NFS client is desired.\n\nIn the long run, we would like to be able to build the kernel with an\nNFS client but without lockd.  This makes sense, for example, if you want\nan NFSv4-only NFS client, as NFSv4 doesn\u0027t use NLM at all.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5216a8e70e25b01cbd2915cd0442fb96deb2c262",
      "tree": "f372bd3cb3fc2f4a2d3e4ad303e6c4d3f8f48865",
      "parents": [
        "90dc7d2796edf94a9eaa838321a9734c8513e717"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 21 10:57:45 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 21 18:42:29 2008 -0500"
      },
      "message": "Wrap buffers used for rpc debug printks into RPC_IFDEBUG\n\nSorry for the noise, but here\u0027s the v3 of this compilation fix :)\n\nThere are some places, which declare the char buf[...] on the stack\nto push it later into dprintk(). Since the dprintk sometimes (if the\nCONFIG_SYSCTL\u003dn) becomes an empty do { } while (0) stub, these buffers\ncause gcc to produce appropriate warnings.\n\nWrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to\ncompile them out when not needed.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9a8db97e7756119689c93c431e8b8324080f5625",
      "tree": "2e0ac28664b02c7e1c7a111c6e60ac059fd92ad8",
      "parents": [
        "12127498c8f5e479df15ee374a0932f5659df49e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Jul 17 04:04:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4\n\nBoth lockd and (in the nfsv4 case) nfsd enforce a \"grace period\" after reboot,\nduring which clients may reclaim locks from the previous server instance, but\nmay not acquire new locks.\n\nCurrently the lockd and nfsd enforce grace periods of different lengths.  This\nmay cause problems when we reboot a server with both v2/v3 and v4 clients.\nFor example, if the lockd grace period is shorter (as is likely the case),\nthen a v3 client might acquire a new lock that conflicts with a lock already\nheld (but not yet reclaimed) by a v4 client.\n\nThis patch calculates a lease time that lockd and nfsd can both use.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f61534dfd38f895b203e2aadaba04f21a992ca8c",
      "tree": "02485ae68fb2f45cbbc06152e0a4856ceff5f587",
      "parents": [
        "4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 14 17:31:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 10 23:40:30 2007 -0400"
      },
      "message": "SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "405ae7d381302468ecc803f2148a2ae40a04c999",
      "tree": "7b1915220ae6595a28755fbbb32ee95d233a3da9",
      "parents": [
        "ca820181fc187af316a18b2700582663662c4012"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "message": "Replace remaining references to \"driverfs\" with \"sysfs\".\n\nGlobally, s/driverfs/sysfs/g.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad06e4bd62351bc569cca0f25d68c58dbd298146",
      "tree": "82024c01e61de32af17d3b67eac0bb93138a2954",
      "parents": [
        "1ba951053f07187f6e77be664a4b6f8bf0ba7ae4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing\n\nThere are loads of places where the RPC server assumes that the rq_addr fields\ncontains an IPv4 address.  Top among these are error and debugging messages\nthat display the server\u0027s IP address.\n\nLet\u0027s refactor the address printing into a separate function that\u0027s smart\nenough to figure out the difference between IPv4 and IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "482fb94e1b0c2efe8258334aa2a68d4f4a91de9c",
      "tree": "84353b34bb5ea02df98b598fff037cf1da20d6b0",
      "parents": [
        "6b174337e5126de834a971d3edc3681bbfa45e2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper\n\nSometimes we need to create an RPC service but not register it with the local\nportmapper.  NFSv4 delegation callback, for example.\n\nChange the svc_makesock() API to allow optionally creating temporary or\npermanent sockets, optionally registering with the local portmapper, and make\nit return the ephemeral port of the new socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cc13edc139108bb527b692f0548dce6bc648572",
      "tree": "c16b96e5f461068571a1b82890a2291522022e1d",
      "parents": [
        "d99f160ac53e51090f015a8f0617cea25f81a191"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 05 23:52:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 06 01:46:23 2006 -0800"
      },
      "message": "[PATCH] sysctl: implement CTL_UNNUMBERED\n\nThis patch takes the CTL_UNNUMBERD concept from NFS and makes it available to\nall new sysctl users.\n\nAt the same time the sysctl binary interface maintenance documentation is\nupdated to mention and to describe what is needed to successfully maintain the\nsysctl binary interface.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "460f5cac1e24e947509b6112c99c5bc9ff687b45",
      "tree": "135d63c8401c79513dd43efdd2faeae51b87c5dc",
      "parents": [
        "39be4502cb75dc26007fe1659735b26c8e63fcc6"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: export nsm_local_state to user space via sysctl\n\nEvery NLM call includes the client\u0027s NSM state.  Currently, the Linux client\nalways reports 0 - which seems not to cause any problems, but is not what the\nprotocol says.\n\nThis patch exposes the kernel\u0027s internal variable to user space via a sysctl,\nwhich can be set at system boot time by statd.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abd1f50094cad9dff6d68ada98b495549f52fc30",
      "tree": "dd738067aa90af1cb4613a7c711ee426ff5f8ae9",
      "parents": [
        "350fce8dbf43f7d441b77366851c9ce3cd28d6dc"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: optionally use hostnames for identifying peers\n\nThis patch adds the nsm_use_hostnames sysctl and module param.  If set, lockd\nwill use the client\u0027s name (as given in the NLM arguments) to find the NSM\nhandle.  This makes recovery work when the NFS peer is multi-homed, and the\nreboot notification arrives from a different IP than the original lock calls.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee",
      "tree": "65c5406dffd6a12c2ae7a26fc59448163cc3f78e",
      "parents": [
        "3dfb4210535303bb4c2e0ff1c4fdd4dfe9b93472"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Move makesock failed warning into make_socks.\n\nThus it is printed for any path that leads to failure (make_socks is called\nfrom two places).\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": "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": "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1",
      "tree": "bffabd9a5a493ffd2b41dd825e71e848ca6ba6d7",
      "parents": [
        "e655a250d5fc12b6dfe0d436180ba4a3bfffdc9f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: fs/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Van Hensbergen \u003cericvh@ericvh.myip.org\u003e\nCc: Robert Love \u003crml@tech9.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "2bd615797ef32ec06ef0ee44198a7aecc21ffd8c",
      "tree": "5ef07d09b9e3674dffce1a24dfb46e6d23410a72",
      "parents": [
        "fe650407a86823bcafbfbee96c7bc6a1b5cd1c76"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:19 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "SUNRPC: Ensure that SIGKILL will always terminate a synchronous RPC call.\n\n ...and make sure that the \"intr\" flag also enables SIGHUP and SIGTERM to\n interrupt RPC calls too (as per the Solaris implementation).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7ee91ec14bd4def036b4084da29869382078e44b",
      "tree": "5d4a99f6c0255184328c47f33258088b2ef0f8b1",
      "parents": [
        "068e1b94bbd268f375349f68531829c8b7c210bc"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Wed Jul 13 01:10:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 13 11:25:24 2005 -0700"
      },
      "message": "[PATCH] NFS: procfs/sysctl interfaces for lockd do not work on x86_64\n\nAllow the setting of NLM timeouts and grace periods through the proc and\nsysclt interfaces on x86_64 architectures\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46be925fa6f4796e732e16a020fa0ef9d48ea7c8",
      "tree": "7a2dddced28ad3382f41af54d0f311e9da593770",
      "parents": [
        "13cd21845d6a9729ca95e36ae6e8c669623fbfd4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jun 23 22:03:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:30 2005 -0700"
      },
      "message": "[PATCH] knfsd: lockd: flush signals on shutdown\n\nSilence another annoying \"failed to contact portmap (errno -512)\" on shutdown.\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": "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"
    }
  ]
}
