)]}'
{
  "log": [
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "afe2c511fb2d75f1515081ff1be15bd79cfe722d",
      "tree": "28aa74e9e0c654a95bf3306101e10ac1d16919d1",
      "parents": [
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 14 16:21:17 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 15 10:56:11 2010 +0100"
      },
      "message": "workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync()\n\ncancel_rearming_delayed_work[queue]() has been superceded by\ncancel_delayed_work_sync() quite some time ago.  Convert all the\nin-kernel users.  The conversions are completely equivalent and\ntrivial.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: netdev@vger.kernel.org\nCc: Anton Vorontsov \u003ccbou@mail.ru\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: xfs-masters@oss.sgi.com\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: netfilter-devel@vger.kernel.org\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: linux-nfs@vger.kernel.org\n"
    },
    {
      "commit": "ed2849d3ecfa339435818eeff28f6c3424300cec",
      "tree": "2fbef743779156c2c96afecd8311ff8488a90121",
      "parents": [
        "cf7d7e5a1980d1116ee152d25dac382b112b9c17"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 16 16:55:19 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 07 20:39:55 2010 -0500"
      },
      "message": "sunrpc: prevent use-after-free on clearing XPT_BUSY\n\nWhen an xprt is created, it has a refcount of 1, and XPT_BUSY is set.\nThe refcount is *not* owned by the thread that created the xprt\n(as is clear from the fact that creators never put the reference).\nRather, it is owned by the absence of XPT_DEAD.  Once XPT_DEAD is set,\n(And XPT_BUSY is clear) that initial reference is dropped and the xprt\ncan be freed.\n\nSo when a creator clears XPT_BUSY it is dropping its only reference and\nso must not touch the xprt again.\n\nHowever svc_recv, after calling -\u003expo_accept (and so getting an XPT_BUSY\nreference on a new xprt), calls svc_xprt_recieved.  This clears\nXPT_BUSY and then svc_xprt_enqueue - this last without owning a reference.\nThis is dangerous and has been seen to leave svc_xprt_enqueue working\nwith an xprt containing garbage.\n\nSo we need to hold an extra counted reference over that call to\nsvc_xprt_received.\n\nFor safety, any time we clear XPT_BUSY and then use the xprt again, we\nfirst get a reference, and the put it again afterwards.\n\nNote that svc_close_all does not need this extra protection as there are\nno threads running, and the final free can only be called asynchronously\nfrom such a thread.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5fc43978a79e8021c189660ab63249fd29c5fb32",
      "tree": "cac3a18f6bc6c5b91e5c2592c2d7b0ad459db50e",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 11:13:31 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:22:39 2010 -0500"
      },
      "message": "SUNRPC: Fix an infinite loop in call_refresh/call_refreshresult\n\nIf the rpcauth_refreshcred() call returns an error other than\nEACCES, ENOMEM or ETIMEDOUT, we currently end up looping forever\nbetween call_refresh and call_refreshresult.\n\nThe correct thing to do here is to exit on all errors except\nEAGAIN and ETIMEDOUT, for which case we retry 3 times, then\nreturn EACCES.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdb26195f494988fc155c204aab0f0953ba7ec6f",
      "tree": "712f69b83dc9028abead6cbd5e86b8e158a97702",
      "parents": [
        "9ed05ad3c0629f434b18d20c51162f9bbb4f5d31"
      ],
      "author": {
        "name": "Tracey Dent",
        "email": "tdent48227@gmail.com",
        "time": "Sun Nov 21 15:03:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 22 08:16:16 2010 -0800"
      },
      "message": "Net: sunrpc: auth_gss: Makefile: Remove deprecated kbuild goal definitions\n\nChanged Makefile to use \u003cmodules\u003e-y instead of \u003cmodules\u003e-objs\nbecause -objs is deprecated and not mentioned in\nDocumentation/kbuild/makefiles.txt.\n\nSigned-off-by: Tracey Dent \u003ctdent48227@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94f58df8e545657f0b2d16eca1ac7a4ec39ed6be",
      "tree": "cf914f47862fdabb86257f18b671754c38c2ca8f",
      "parents": [
        "5685b971362651ee3d99ff3cc512c3bbd049d34d"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Nov 07 22:11:34 2010 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 16 11:58:51 2010 -0500"
      },
      "message": "SUNRPC: Simplify rpc_alloc_iostats by removing pointless local variable\n\nHi,\n\nWe can simplify net/sunrpc/stats.c::rpc_alloc_iostats() a bit by getting\nrid of the unneeded local variable \u0027new\u0027.\n\nPlease CC me on replies.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc14f2fef682df677d64a145256dbd263df2aa7b",
      "tree": "74f6b939fbad959a43c04ec646cd0adc8af5f53a",
      "parents": [
        "848b83a59b772b8f102bc5e3f1187c2fa5676959"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 01:48:30 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:28 2010 -0400"
      },
      "message": "convert get_sb_single() users\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "426e1f5cec4821945642230218876b0e89aafab1",
      "tree": "2728ace018d0698886989da586210ef1543a7098",
      "parents": [
        "9e5fca251f44832cb996961048ea977f80faf6ea",
        "63997e98a3be68d7cec806d22bf9b02b2e1daabb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -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: (52 commits)\n  split invalidate_inodes()\n  fs: skip I_FREEING inodes in writeback_sb_inodes\n  fs: fold invalidate_list into invalidate_inodes\n  fs: do not drop inode_lock in dispose_list\n  fs: inode split IO and LRU lists\n  fs: switch bdev inode bdi\u0027s correctly\n  fs: fix buffer invalidation in invalidate_list\n  fsnotify: use dget_parent\n  smbfs: use dget_parent\n  exportfs: use dget_parent\n  fs: use RCU read side protection in d_validate\n  fs: clean up dentry lru modification\n  fs: split __shrink_dcache_sb\n  fs: improve DCACHE_REFERENCED usage\n  fs: use percpu counter for nr_dentry and nr_dentry_unused\n  fs: simplify __d_free\n  fs: take dcache_lock inside __d_path\n  fs: do not assign default i_ino in new_inode\n  fs: introduce a per-cpu last_ino allocator\n  new helper: ihold()\n  ...\n"
    },
    {
      "commit": "4390110fef9e5c64e10c6ca19d586932242c9a8a",
      "tree": "f2f26fe291c8b4e424b97ac57370b33e0c006568",
      "parents": [
        "a4dd8dce14014665862ce7911b38cb2c69e366dd",
        "42d7ba3d6d56a6cbc773284896108b1e2ebcee81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux: (99 commits)\n  svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n  svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n  svcrpc: assume svc_delete_xprt() called only once\n  svcrpc: never clear XPT_BUSY on dead xprt\n  nfsd4: fix connection allocation in sequence()\n  nfsd4: only require krb5 principal for NFSv4.0 callbacks\n  nfsd4: move minorversion to client\n  nfsd4: delay session removal till free_client\n  nfsd4: separate callback change and callback probe\n  nfsd4: callback program number is per-session\n  nfsd4: track backchannel connections\n  nfsd4: confirm only on succesful create_session\n  nfsd4: make backchannel sequence number per-session\n  nfsd4: use client pointer to backchannel session\n  nfsd4: move callback setup into session init code\n  nfsd4: don\u0027t cache seq_misordered replies\n  SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n  SUNRPC: Use conventional switch statement when reclassifying sockets\n  sunrpc/xprtrdma: clean up workqueue usage\n  sunrpc: Turn list_for_each-s into the ..._entry-s\n  ...\n\nFix up trivial conflicts (two different deprecation notices added in\nseparate branches) in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "a4dd8dce14014665862ce7911b38cb2c69e366dd",
      "tree": "00e79b2845d5d49abcd83cf253db83a52d482265",
      "parents": [
        "b18cae4224bde7e5a332c19bc99247b2098ea232",
        "411b5e05617593efebc06241dbc56f42150f2abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  net/sunrpc: Use static const char arrays\n  nfs4: fix channel attribute sanity-checks\n  NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n  NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n  NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure\n  NFS: client needs to maintain list of inodes with active layouts\n  NFS: create and destroy inode\u0027s layout cache\n  NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n  NFSv4.1: pnfs: full mount/umount infrastructure\n  NFS: set layout driver\n  NFS: ask for layouttypes during v4 fsinfo call\n  NFS: change stateid to be a union\n  NFSv4.1: pnfsd, pnfs: protocol level pnfs constants\n  SUNRPC: define xdr_decode_opaque_fixed\n  NFSD: remove duplicate NFS4_STATEID_SIZE\n"
    },
    {
      "commit": "411b5e05617593efebc06241dbc56f42150f2abe",
      "tree": "f3a8ea3a580134cee82f06cf23a0e1cbdc4f3f41",
      "parents": [
        "43c2e885be25311e6289c7da52e8a03c4453ee03"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 13 12:48:01 2010 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 25 22:19:52 2010 -0400"
      },
      "message": "net/sunrpc: Use static const char arrays\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42d7ba3d6d56a6cbc773284896108b1e2ebcee81",
      "tree": "3d0d908c39ae228e4b51c3bec8d5bd5188397637",
      "parents": [
        "01dba075d571f5a8b7dcb153fdfd14e981c4cee3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:55:53 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:34 2010 -0400"
      },
      "message": "svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n\nThe only caller (svc_send) has already checked XPT_DEAD.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "01dba075d571f5a8b7dcb153fdfd14e981c4cee3",
      "tree": "b443dff71fd4addcd11b873f356bbd247cadaa43",
      "parents": [
        "ac9303eb74471bc2567960b47497a8bfbe1e5a03"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:23:46 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:33 2010 -0400"
      },
      "message": "svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n\nIf any xprt marked DEAD is also left BUSY for the rest of its life, then\nthe XPT_DEAD check here is superfluous--we\u0027ll get the same result from\nthe XPT_BUSY check just after.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ac9303eb74471bc2567960b47497a8bfbe1e5a03",
      "tree": "17f9882d81b56d2787d0c556cfa6d76ea40a948b",
      "parents": [
        "7e4fdd0744fcb9f08854c37643bf529c5945cc36"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:16:10 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:32 2010 -0400"
      },
      "message": "svcrpc: assume svc_delete_xprt() called only once\n\nAs long as DEAD exports are left BUSY, and svc_delete_xprt is called\nonly with BUSY held, then svc_delete_xprt() will never be called on an\nxprt that is already DEAD.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7e4fdd0744fcb9f08854c37643bf529c5945cc36",
      "tree": "4587d216b75107bc173a66396e5ca6a4d4e1b0ce",
      "parents": [
        "a663bdd8c5d18d287f7468470816c9e0e66343c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:04:12 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:58:40 2010 -0400"
      },
      "message": "svcrpc: never clear XPT_BUSY on dead xprt\n\nOnce an xprt has been deleted, there\u0027s no reason to allow it to be\nenqueued--at worst, that might cause the xprt to be re-added to some\nglobal list, resulting in later corruption.\n\nAlso, note this leaves us with no need for the reference-count\nmanipulation here.\n\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "74eb94b218d087798a52c0b4f1379b635287a4b8",
      "tree": "4e467c3014c2b1169f6f71d88cf5d1598f3ce28e",
      "parents": [
        "7b6181e06841f5ad15c4ff708b967b4db65a64de",
        "9a84d38031c258a17bb39beed1e500eadee67407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)\n  SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n  nfs: fix unchecked value\n  Ask for time_delta during fsinfo probe\n  Revalidate caches on lock\n  SUNRPC: After calling xprt_release(), we must restart from call_reserve\n  NFSv4: Fix up the \u0027dircount\u0027 hint in encode_readdir\n  NFSv4: Clean up nfs4_decode_dirent\n  NFSv4: nfs4_decode_dirent must clear entry-\u003efattr-\u003evalid\n  NFSv4: Fix a regression in decode_getfattr\n  NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer\n  NFS: Ensure we check all allocation return values in new readdir code\n  NFS: Readdir plus in v4\n  NFS: introduce generic decode_getattr function\n  NFS: check xdr_decode for errors\n  NFS: nfs_readdir_filler catch all errors\n  NFS: readdir with vmapped pages\n  NFS: remove page size checking code\n  NFS: decode_dirent should use an xdr_stream\n  SUNRPC: Add a helper function xdr_inline_peek\n  NFS: remove readdir plus limit\n  ...\n"
    },
    {
      "commit": "9a84d38031c258a17bb39beed1e500eadee67407",
      "tree": "30126034db0285c3becd85ddb36f226add98c2d3",
      "parents": [
        "3388bff5cfe91589a912cdc7f00d3aae3aa18adc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:00:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:00:46 2010 -0400"
      },
      "message": "SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "118df3d17f11733b294ea2cd988d56ee376ef9fd",
      "tree": "d9daf8d196b7f2184407f303216eec9db81859a5",
      "parents": [
        "6f7a35bd23bdbbb40c07ee1120ef047190e77d9b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:17:31 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:27:14 2010 -0400"
      },
      "message": "SUNRPC: After calling xprt_release(), we must restart from call_reserve\n\nRob Leslie reports seeing the following Oops after his Kerberos session\nexpired.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000058\nIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc]\n*pde \u003d 00000000\nOops: 0000 [#1]\nlast sysfs file: /sys/devices/platform/pc87360.26144/temp3_input\nModules linked in: autofs4 authenc esp4 xfrm4_mode_transport ipt_LOG ipt_REJECT xt_limit xt_state ipt_REDIRECT xt_owner xt_HL xt_hl xt_tcpudp xt_mark cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark geodewdt deflate ctr twofish_generic twofish_i586 twofish_common camellia serpent blowfish cast5 cbc xcbc rmd160 sha512_generic sha1_generic hmac crypto_null af_key rpcsec_gss_krb5 nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc ip_gre sit tunnel4 dummy ext3 jbd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables pc8736x_gpio nsc_gpio pc87360 hwmon_vid loop aes_i586 aes_generic sha256_generic dm_crypt cs5535_gpio serio_raw cs5535_mfgpt hifn_795x des_generic geode_rng rng_core led_class ext4 mbcache jbd2 crc16 dm_mirror dm_region_hash dm_log dm_snapshot dm_mod sd_mod crc_t10dif ide_pci_generic cs5536 amd74xx ide_core pata_cs5536 ata_generic libata usb_storage via_rhine mii scsi_mod btrfs zlib_deflate crc32c libcrc32c [last unloaded: scsi_wait_scan]\n\nPid: 12875, comm: sudo Not tainted 2.6.36-net5501 #1 /\nEIP: 0060:[\u003ce186ed94\u003e] EFLAGS: 00010292 CPU: 0\nEIP is at rpcauth_refreshcred+0x11/0x12c [sunrpc]\nEAX: 00000000 EBX: defb13a0 ECX: 00000006 EDX: e18683b8\nESI: defb13a0 EDI: 00000000 EBP: 00000000 ESP: de571d58\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess sudo (pid: 12875, ti\u003dde570000 task\u003ddecd1430 task.ti\u003dde570000)\nStack:\n e186e008 00000000 defb13a0 0000000d deda6000 e1868f22 e196f12b defb13a0\n\u003c0\u003e defb13d8 00000000 00000000 e186e0aa 00000000 defb13a0 de571dac 00000000\n\u003c0\u003e e186956c de571e34 debea5c0 de571dc8 e186967a 00000000 debea5c0 de571e34\nCall Trace:\n [\u003ce186e008\u003e] ? rpc_wake_up_next+0x114/0x11b [sunrpc]\n [\u003ce1868f22\u003e] ? call_decode+0x24a/0x5af [sunrpc]\n [\u003ce196f12b\u003e] ? nfs4_xdr_dec_access+0x0/0xa2 [nfs]\n [\u003ce186e0aa\u003e] ? __rpc_execute+0x62/0x17b [sunrpc]\n [\u003ce186956c\u003e] ? rpc_run_task+0x91/0x97 [sunrpc]\n [\u003ce186967a\u003e] ? rpc_call_sync+0x40/0x5b [sunrpc]\n [\u003ce1969ca2\u003e] ? nfs4_proc_access+0x10a/0x176 [nfs]\n [\u003ce19572fa\u003e] ? nfs_do_access+0x2b1/0x2c0 [nfs]\n [\u003ce186ed61\u003e] ? rpcauth_lookupcred+0x62/0x84 [sunrpc]\n [\u003ce19573b6\u003e] ? nfs_permission+0xad/0x13b [nfs]\n [\u003cc0177824\u003e] ? exec_permission+0x15/0x4b\n [\u003cc0177fbd\u003e] ? link_path_walk+0x4f/0x456\n [\u003cc017867d\u003e] ? path_walk+0x4c/0xa8\n [\u003cc0179678\u003e] ? do_path_lookup+0x1f/0x68\n [\u003cc017a3fb\u003e] ? user_path_at+0x37/0x5f\n [\u003cc016359c\u003e] ? handle_mm_fault+0x229/0x55b\n [\u003cc0170a2d\u003e] ? sys_faccessat+0x93/0x146\n [\u003cc0170aef\u003e] ? sys_access+0xf/0x13\n [\u003cc02cf615\u003e] ? syscall_call+0x7/0xb\nCode: 0f 94 c2 84 d2 74 09 8b 44 24 0c e8 6a e9 8b de 83 c4 14 89 d8 5b 5e 5f 5d c3 55 57 56 53 83 ec 1c fc 89 c6 8b 40 10 89 44 24 04 \u003c8b\u003e 58 58 85 db 0f 85 d4 00 00 00 0f b7 46 70 8b 56 20 89 c5 83\nEIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc] SS:ESP 0068:de571d58\nCR2: 0000000000000058\n\nThis appears to be caused by the function rpc_verify_header() first\ncalling xprt_release(), then doing a call_refresh. If we release the\ntransport slot, we should _always_ jump back to call_reserve before\ncalling anything else.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "ba8e452a4fe64a51b74d43761e14d99f0666cc45",
      "tree": "7237e9bf9f2415eda15fec5e517da3340342e9f1",
      "parents": [
        "0715dc632a271fc0fedf3ef4779fe28ac1e53ef4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 19 19:58:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Oct 23 15:27:32 2010 -0400"
      },
      "message": "SUNRPC: Add a helper function xdr_inline_peek\n\nWe sometimes need to be able to read ahead in an xdr_stream without\nincrementing the current pointer position.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "5704e44d283e907623e3775c1262f206a2c48cf3",
      "tree": "0a981b24173e90854e7b7d812b35859e1e5f0174",
      "parents": [
        "91151240ed8e97cc4457dae4094153c2744f1eb8",
        "6de5bd128d381ad88ac6d419a5e597048eb468cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: introduce CONFIG_BKL.\n  dabusb: remove the BKL\n  sunrpc: remove the big kernel lock\n  init/main.c: remove BKL notations\n  blktrace: remove the big kernel lock\n  rtmutex-tester: make it build without BKL\n  dvb-core: kill the big kernel lock\n  dvb/bt8xx: kill the big kernel lock\n  tlclk: remove big kernel lock\n  fix rawctl compat ioctls breakage on amd64 and itanic\n  uml: kill big kernel lock\n  parisc: remove big kernel lock\n  cris: autoconvert trivial BKL users\n  alpha: kill big kernel lock\n  isapnp: BKL removal\n  s390/block: kill the big kernel lock\n  hpet: kill BKL, add compat_ioctl\n"
    },
    {
      "commit": "9247685088398cf21bcb513bd2832b4cd42516c4",
      "tree": "af6e9cd7d168903912895cc80849ec4cc43a9535",
      "parents": [
        "4232e8634ad82c5a53389e4016de15a8b15c09c3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Oct 20 11:53:01 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 21 10:11:47 2010 -0400"
      },
      "message": "SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n\nThe source address field in the transport\u0027s sock_xprt is initialized\nONLY IF the RPC application passed a pointer to a source address\nduring the call to rpc_create().  However, xs_bind() subsequently uses\nthe value of this field without regard to whether the source address\nwas initialized during transport creation or not.\n\nSo far we\u0027ve been lucky: the uninitialized value of this field is\nzeroes.  xs_bind(), until recently, used only the sin[6]_addr field in\nthis sockaddr, and all zeroes is a valid value for this: it means\nANYADDR.  This is a happy coincidence.\n\nHowever, xs_bind() now wants to use the sa_family field as well, and\nexpects it to be initialized to something other than zero.\n\nTherefore, the source address sockaddr field should be fully\ninitialized at transport create time in _every_ case, not just when\nthe RPC application wants to use a specific bind address.\n\nBruce added a workaround for this missing initialization by adjusting\ncommit 6bc9638a, but the \"right\" way to do this is to ensure that the\nsource address sockaddr is always correctly initialized from the\nget-go.\n\nThis patch doesn\u0027t introduce a behavior change.  It\u0027s simply a\nclean-up of Bruce\u0027s fix, to prevent future problems of this kind.  It\nmay look like overkill, but\n\n  a) it clearly documents the default initial value of this field,\n\n  b) it doesn\u0027t assume that the sockaddr_storage memory is first\n     initialized to any particular value, and\n\n  c) it will fail verbosely if some unknown address family is passed\n     in\n\nOriginally introduced by commit d3bc9a1d.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4232e8634ad82c5a53389e4016de15a8b15c09c3",
      "tree": "b834b51f3856ccfa23bf330e16ab480d3b3cbb7e",
      "parents": [
        "a25e758c5fa1137e1bbc440194e55f7c59177145"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Oct 20 11:52:51 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 21 10:11:46 2010 -0400"
      },
      "message": "SUNRPC: Use conventional switch statement when reclassifying sockets\n\nClean up.\n\nDefensive coding: If \"family\" is ever something that is neither\nAF_INET nor AF_INET6, xs_reclassify_socket6() is not the appropriate\ndefault action.  Choose to do nothing in that case.\n\nIntroduced by commit 6bc9638a.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a25e758c5fa1137e1bbc440194e55f7c59177145",
      "tree": "4563a1d423ef9c9d54ca0c1222d34274613b31cf",
      "parents": [
        "8f3a6de313391b6910aa7db185eb9f3e930a51cf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Oct 15 17:49:27 2010 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 21 10:11:45 2010 -0400"
      },
      "message": "sunrpc/xprtrdma: clean up workqueue usage\n\n* Create and use svc_rdma_wq instead of using the system workqueue and\n  flush_scheduled_work().  This workqueue is necessary to serve as\n  flushing domain for rdma-\u003esc_work which is used to destroy itself\n  and thus can\u0027t be flushed explicitly.\n\n* Replace cancel_delayed_work() + flush_scheduled_work() with\n  cancel_delayed_work_sync().\n\n* Implement synchronous connect in xprt_rdma_connect() using\n  flush_delayed_work() on the rdma_connect work instead of using\n  flush_scheduled_work().\n\nThis is to prepare for the deprecation and removal of\nflush_scheduled_work().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "8f3a6de313391b6910aa7db185eb9f3e930a51cf",
      "tree": "9f288895541f1f5feb06f6f3964671d63850df2f",
      "parents": [
        "50fa0d40a9d601bb8e6c9a595e90940bc846f7df"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Oct 05 23:30:19 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:16 2010 -0400"
      },
      "message": "sunrpc: Turn list_for_each-s into the ..._entry-s\n\nSaves some lines of code and some branticks when reading one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "50fa0d40a9d601bb8e6c9a595e90940bc846f7df",
      "tree": "70cff33f36dd95e1b1de74fa09d32fcec9e3b2ae",
      "parents": [
        "c636b572e00e38855dc7a56a0fa438dd835f39de"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Oct 05 20:49:35 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:16 2010 -0400"
      },
      "message": "sunrpc: Remove dead \"else\" branch from bc xprt creation\n\nSince the xprt in question is forcibly set to be bound the else\nbranch of this check is unneeded.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c636b572e00e38855dc7a56a0fa438dd835f39de",
      "tree": "cd0ce34e01030e61cc0571234b21e0af71e714ff",
      "parents": [
        "f10fef38d2d1605c977346457d0adb0919d0bbe7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Oct 06 13:45:56 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:16 2010 -0400"
      },
      "message": "sunrpc: Don\u0027t return NULL from rpcb_create\n\n\u003e The reason for this is in the future, we may want to support additional\n\u003e address family types.  We should, therefore, ensure that every piece of\n\u003e code that is sensitive to address families fail in some orderly manner\n\u003e to let developers know where a change is needed.\n\nMakes sense. I was under impression, that AF-s other than INET are not\ncared about at all :(\n\nHere\u0027s a fixed version of the patch.\n\nLog:\n\nIts callers check for ERR_PTR.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f10fef38d2d1605c977346457d0adb0919d0bbe7",
      "tree": "0c1c9c53248f89682493742e114e6aa658a09864",
      "parents": [
        "8c14ff2aaf26d58aa2258a59bd419c906d105938"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Oct 05 20:47:16 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:16 2010 -0400"
      },
      "message": "sunrpc: Remove useless if (task \u003d\u003d NULL) from xprt_reserve_xprt\n\nThe task in question is dereferenced above (and is actually never NULL).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "8c14ff2aaf26d58aa2258a59bd419c906d105938",
      "tree": "b6917bbcf6791fab51b1582a57813941a00e4082",
      "parents": [
        "cdd518d524b49e6e80b109bf985376456a2985ce"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:58:02 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Remove UDP worker wrappers\n\nSame for UDP sockets creation paths.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cdd518d524b49e6e80b109bf985376456a2985ce",
      "tree": "875aab959d443e7eb48071454d4ea3f009d80829",
      "parents": [
        "7dfe1fc36278c3aa0db29356c491db6353678e98"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:57:40 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Remove TCP worker wrappers\n\nThe v4 and the v6 wrappers only pass the respective family\nto the xs_tcp_setup_socket. This family can be taken from the\nxprt\u0027s sockaddr.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7dfe1fc36278c3aa0db29356c491db6353678e98",
      "tree": "775b8ea3f91155cbad9601a15d52bbdd67b0a6f3",
      "parents": [
        "6bc9638ab495516f8a34d2ae48f2f43f145e186f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:57:11 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Pass family to setup_socket calls\n\nNow we have a single socket creation routine and can call it\ndirectly from the setup_socket routines.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6bc9638ab495516f8a34d2ae48f2f43f145e186f",
      "tree": "1a6b139e954b56e6fb24892a832b43c5eb6ad8ed",
      "parents": [
        "beb59b68280d9779cc16591115547678d1c74a66"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:56:38 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Merge xs_create_sock code\n\nAfter xs_bind is merged it\u0027s easy to merge its callers.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n[bfields@redhat.com: fix address family initialization]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "beb59b68280d9779cc16591115547678d1c74a66",
      "tree": "12e6bd18bba78f67793d6a99522705f2e9e72d77",
      "parents": [
        "573018c07e040b2c3f3cb8251f66fa4a5cb7425d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Oct 05 15:53:08 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Merge the xs_bind code\n\nThere\u0027s the only difference betseen the xs_bind4 and the\nxs_bind6 - the size of sockaddr structure they use.\n\nFortunatelly its size can be indirectly get from the transport.\n\nChange since v1:\n* use sockaddr_storage instead of sockaddr\n* use rpc_set_port instead of manual port assigning\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n[bfields@redhat.com: fix address family initialization]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "573018c07e040b2c3f3cb8251f66fa4a5cb7425d",
      "tree": "179674de7b92fd31b9e83bc64a82092de52cf504",
      "parents": [
        "22d44a7d8a03456aa6d0a047c051aa28728e6ecd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:55:38 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Call xs_create_sockX directly from setup_socket\n\nRemove now unneeded wrappers that just add type and protocol\nto socket creation callback.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "22d44a7d8a03456aa6d0a047c051aa28728e6ecd",
      "tree": "63ab8ec64240e7273a7628c64e9f4b728a5b5d6b",
      "parents": [
        "22f793268de3b4dff8abfcd873ba7afc1f34224f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:54:55 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:15 2010 -0400"
      },
      "message": "sunrpc: Factor out v6 sockets creation\n\nSame patch for v6 protocols.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "22f793268de3b4dff8abfcd873ba7afc1f34224f",
      "tree": "0e67fb80ab92a83a07cfe2b21648e80e44a281ed",
      "parents": [
        "b65c0310611af73569f94c526a1e2323d99b380a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:54:26 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Factor out v4 sockets creation\n\nThe UDPv4 and TCPv4 socket creation callbacks now look very similar.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b65c0310611af73569f94c526a1e2323d99b380a",
      "tree": "6bae1f1aa2681d1359a89412420f95009c40b1b9",
      "parents": [
        "58dddac9c55c604f01152832c1c3d2c17a5adea9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:53:46 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Factor out udp sockets creation\n\nMake it look like the TCP sockets creation.\nUnfortunately the git diff made the patch look messy :(\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "58dddac9c55c604f01152832c1c3d2c17a5adea9",
      "tree": "5ab5d5d9cc2db6930bed95ad65e51f79b6c63aa1",
      "parents": [
        "a9f5f0f7bf72f3f1451e844681fb3cb5d0b1c80d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:52:55 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Remove duplicate xprt/transport arguments from calls\n\nThe xs_tcp_reuse_connection takes the xprt only to pass it down\nto the xs_abort_connection. The later one can get it from the given\ntransport itself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a9f5f0f7bf72f3f1451e844681fb3cb5d0b1c80d",
      "tree": "74ecbabea35a7f7b7995a49a25ada7fb8345116c",
      "parents": [
        "baaf4e487a9c42b345bde14698fd566f864c9287"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:52:25 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Get xprt pointer once in xs_tcp_setup_socket\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "baaf4e487a9c42b345bde14698fd566f864c9287",
      "tree": "10da679b1e2cf660d0e960afc07d4f2393cf0ebb",
      "parents": [
        "5d4ec932972a0dd5486c59909e62dc62105d065c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:51:56 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Remove unused sock arg from xs_next_srcport\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5d4ec932972a0dd5486c59909e62dc62105d065c",
      "tree": "ebd90fe601b7db72050a750a9984830cc894d702",
      "parents": [
        "4a84386fc27fdc7d2ea69fdbc641008e8f943159"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Oct 04 16:51:23 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 19 10:48:14 2010 -0400"
      },
      "message": "sunrpc: Remove unused sock arg from xs_get_srcport\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a6f8dbc654c3dddc5ac98cf59a88447a90e99ece",
      "tree": "ef4244528cd4a975bca2d00ac1b5e5430a1eac45",
      "parents": [
        "1fa4f3b57cf0c525027ea61011312de139b04f9b"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:18:23 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 19 11:29:59 2010 +0200"
      },
      "message": "sunrpc: remove the big kernel lock\n\nThe sunrpc cache_ioctl function does not need the big kernel lock\nbecause it uses its own queue_lock already.\n\nrpc_pipe_ioctl apparently should be using i_lock like the other\noperations on the pipe file descriptor do.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "4a84386fc27fdc7d2ea69fdbc641008e8f943159",
      "tree": "4d237d58f695713c72a01631d010e6387db820c7",
      "parents": [
        "b432e6b3d9c1b4271c43f02b45136f33a8ed5820"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Tue Oct 12 15:33:57 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 18 19:51:32 2010 -0400"
      },
      "message": "svcrdma: Cleanup DMA unmapping in error paths.\n\nThere are several error paths in the code that do not unmap DMA. This\npatch adds calls to svc_rdma_unmap_dma to free these DMA contexts.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b432e6b3d9c1b4271c43f02b45136f33a8ed5820",
      "tree": "bc557633646b380b8d5cc7e037a7ddc9036bbd2a",
      "parents": [
        "ecec6e34e18660799444c5a163c7313a20fba701"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Tue Oct 12 15:33:52 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 18 19:51:31 2010 -0400"
      },
      "message": "svcrdma: Change DMA mapping logic to avoid the page_address kernel API\n\nThere was logic in the send path that assumed that a page containing data\nto send to the client has a KVA. This is not always the case and can result\nin data corruption when page_address returns zero and we end up DMA mapping\nzero.\n\nThis patch changes the bus mapping logic to avoid page_address() where\nnecessary and converts all calls from ib_dma_map_single to ib_dma_map_page\nin order to keep the map/unmap calls symmetric.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "70dc78da2cc76e7804c597fea3a0aff67ec8d7ad",
      "tree": "2a547a8457b27a8efd9fe56488dd7ef73e81de6b",
      "parents": [
        "e33534d54f1fde3e541f64fa5ad0dd379fc45fa7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Oct 05 20:48:02 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 11 20:00:17 2010 -0400"
      },
      "message": "sunrpc: Use helper to set v4 mapped addr in ip_map_parse\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e33534d54f1fde3e541f64fa5ad0dd379fc45fa7",
      "tree": "d7136fd857a84576a984f2441b7ee03fc9afd24e",
      "parents": [
        "d29068c431599fa96729556846562eb18429092d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Oct 07 15:29:46 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 11 19:30:28 2010 -0400"
      },
      "message": "sunrpc/cache: centralise handling of size limit on deferred list.\n\nWe limit the number of \u0027defer\u0027 requests to DFR_MAX.\n\nThe imposition of this limit is spread about a bit - sometime we don\u0027t\nadd new things to the list, sometimes we remove old things.\n\nAlso it is currently applied to requests which we are \u0027waiting\u0027 for\nrather than \u0027deferring\u0027.  This doesn\u0027t seem ideal as \u0027waiting\u0027\nrequests are naturally limited by the number of threads.\n\nSo gather the DFR_MAX handling code to one place and only apply it to\nrequests that are actually being deferred.\n\nThis means that not all \u0027cache_deferred_req\u0027 structures go on the\n\u0027cache_defer_list, so we need to be careful when adding and removing\nthings.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d29068c431599fa96729556846562eb18429092d",
      "tree": "6330502e1a6247de1cb785fe44ab599662cb369c",
      "parents": [
        "33515142156efc9ab5dbfe93ff8d4765559dc987"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Oct 07 15:29:46 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 11 19:30:27 2010 -0400"
      },
      "message": "sunrpc: Simplify cache_defer_req and related functions.\n\nThe return value from cache_defer_req is somewhat confusing.\nVarious different error codes are returned, but the single caller is\nonly interested in success or failure.\n\nIn fact it can measure this success or failure itself by checking\nCACHE_PENDING, which makes the point of the code more explicit.\n\nSo change cache_defer_req to return \u0027void\u0027 and test CACHE_PENDING\nafter it completes, to see if the request was actually deferred or\nnot.\n\nSimilarly setup_deferral and cache_wait_req don\u0027t need a return value,\nso make them void and remove some code.\n\nThe call to cache_revisit_request (to guard against a race) is only\nneeded for the second call to setup_deferral, so move it out of\nsetup_deferral to after that second call.  With the first call the\nrace is handled differently (by explicitly calling\n\u0027wait_for_completion\u0027).\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "69259abb64d4da77273bf59accfc9fa79e7165f4",
      "tree": "bd043ab03a788b749c8d5ae4049d8defae9abf34",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "12e94471b2be5ef9b55b10004a3a2cd819490036"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/pcmcia/pcnet_cs.c\n\tnet/caif/caif_socket.c\n"
    },
    {
      "commit": "edc7a894034acb4c7ff8305716ca5df8aaf8e642",
      "tree": "7db61c8c76fc3e58e499989665f2f26987c058a1",
      "parents": [
        "c7662518c781edc8059cd9737d18168154bf7510"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 22 15:37:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 19:29:44 2010 -0400"
      },
      "message": "nfsd: provide callbacks on svc_xprt deletion\n\nNFSv4.1 needs warning when a client tcp connection goes down, if that\nconnection is being used as a backchannel, so that it can warn the\nclient that it has lost the backchannel connection.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1e7af1b8062598a038c04dfaaabd038a0d6e8b6a",
      "tree": "2e171464ff365c4322d30a0d2fed106c74feecdd",
      "parents": [
        "277f68dbba397997c7f3dc843d14afa1654bb80e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 15:40:01 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 18:09:55 2010 -0400"
      },
      "message": "nfsd4: remove spkm3\n\nUnfortunately, spkm3 never got very far; while interoperability with one\nother implementation was demonstrated at some point, problems were found\nwith the spec that were deemed not worth fixing.\n\nThe kernel code is useless on its own without nfs-utils patches which\nwere never merged into nfs-utils, and were only ever available from\nciti.umich.edu.  They appear not to have been updated since 2005.\n\nTherefore it seems safe to assume that this code has no users, and never\nwill.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "277f68dbba397997c7f3dc843d14afa1654bb80e",
      "tree": "7c9856840c40a3f08bef3a965a9f3c39937c9e99",
      "parents": [
        "14ec63c3336af7ea5445e0d8f4d26ba3041e40b3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 22 12:55:06 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 18:09:54 2010 -0400"
      },
      "message": "sunrpc: fix race in new cache_wait code.\n\nIf we set up to wait for a cache item to be filled in, and then find\nthat it is no longer pending, it could be that some other thread is\nin \u0027cache_revisit_request\u0027 and has moved our request to its \u0027pending\u0027 list.\nSo when our setup_deferral calls cache_revisit_request it will find nothing to\nput on the pending list, and do nothing.\n\nWe then return from cache_wait_req, thus leaving the \u0027sleeper\u0027\non-stack structure open to being corrupted by subsequent stack usage.\n\nHowever that \u0027sleeper\u0027 could still be on the \u0027pending\u0027 list that the\nother thread is looking at and so any corruption could cause it to behave badly.\n\nTo avoid this race we simply take the same path as if the\n\u0027wait_for_completion_interruptible_timeout\u0027 was interrupted and if the\nsleeper is no longer on the list (which it won\u0027t be) we wait on the\ncompletion - which will ensure that any other cache_revisit_request\nwill have let go of the sleeper.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "14ec63c3336af7ea5445e0d8f4d26ba3041e40b3",
      "tree": "d81dee6a73cb604c90efd8add86e63a143bcd429",
      "parents": [
        "721db93a55dad71bb89e7d11cc6be1f180ec3f2d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:06:57 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:19:00 2010 -0400"
      },
      "message": "sunrpc: Create sockets in net namespaces\n\nThe context is already known in all the sock_create callers.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "37aa2133731d9231eb834f700119f0d3f1ed2664",
      "tree": "2b4da236e76d590fb1bd675e4401af5d1ecff327",
      "parents": [
        "9a23e332ec621d36e52cc7a978abc0917067b1aa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:58 2010 -0400"
      },
      "message": "sunrpc: Tag rpc_xprt with net\n\nThe net is known from the xprt_create and this tagging will also\ngive un the context in the conntection workers where real sockets\nare created.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9a23e332ec621d36e52cc7a978abc0917067b1aa",
      "tree": "351025a1c7816a40407999692ede97421c0057df",
      "parents": [
        "c653ce3f0aee9bb2b221ebf3579385c06f81efcd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:12 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:57 2010 -0400"
      },
      "message": "sunrpc: Add net to xprt_create\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c653ce3f0aee9bb2b221ebf3579385c06f81efcd",
      "tree": "d0f5a8018e2cf959b6bc1549ce75602ed179dca9",
      "parents": [
        "62832c039eab9d03cd28a66427ce8276988f28b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:45 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:56 2010 -0400"
      },
      "message": "sunrpc: Add net to rpc_create_args\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "62832c039eab9d03cd28a66427ce8276988f28b0",
      "tree": "47d0b7fbd5ca567aa31661146ba16218149d67c8",
      "parents": [
        "fc5d00b04a3a58cac8620403dfe9f43f72578ec1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:18 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:55 2010 -0400"
      },
      "message": "sunrpc: Pull net argument downto svc_create_socket\n\nAfter this the socket creation in it knows the context.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\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": "e204e621b4160c802315bc2d0fa335337c0d62e8",
      "tree": "f61889925880484b71ce8b5dbef9a95c3a3b4acb",
      "parents": [
        "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:13 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:53 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt freeing\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2",
      "tree": "358d45aaf5fb08a177fd6fbe5dcf8872160c30fc",
      "parents": [
        "2b44f1ba40914777f4b1075254ba97663d4e2574"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:02:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:52 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt allocation\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c135e84afb6bcec9cb8ef0492fa4867efbfaad91",
      "tree": "b28519b140d0f839abb77a843128cf918014115d",
      "parents": [
        "90d51b02fd702d969eb05bd9d4ecc954759fbe23"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Sep 29 14:16:57 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 29 12:27:37 2010 -0400"
      },
      "message": "sunrpc: fix up rpcauth_remove_module section mismatch\n\nOn Wed, 29 Sep 2010 14:02:38 +1000 Stephen Rothwell \u003csfr@canb.auug.org.au\u003e wrote:\n\u003e\n\u003e After merging the final tree, today\u0027s linux-next build (powerpc\n\u003e ppc44x_defconfig) produced tis warning:\n\u003e\n\u003e WARNING: net/sunrpc/sunrpc.o(.init.text+0x110): Section mismatch in reference from the function init_sunrpc() to the function .exit.text:rpcauth_remove_module()\n\u003e The function __init init_sunrpc() references\n\u003e a function __exit rpcauth_remove_module().\n\u003e This is often seen when error handling in the init function\n\u003e uses functionality in the exit path.\n\u003e The fix is often to remove the __exit annotation of\n\u003e rpcauth_remove_module() so it may be used outside an exit section.\n\u003e\n\u003e Probably caused by commit 2f72c9b73730c335381b13e2bd221abe1acea394\n\u003e (\"sunrpc: The per-net skeleton\").\n\nThis actually causes a build failure on a sparc32 defconfig build:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nI applied the following patch for today:\n\nFixes:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a2724f28d9f99b7b42e800b528902f0e3321873b",
      "tree": "b4431876af950c16ea6af3a8f2864a4ae494bc62",
      "parents": [
        "050026feae5bd4fe2db4096b63b15abce7c47faa",
        "01db403cf99f739f86903314a489fb420e0e254f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 28 12:01:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 28 12:01:26 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  tcp: Fix \u003e4GB writes on 64-bit.\n  net/9p: Mount only matching virtio channels\n  de2104x: fix ethtool\n  tproxy: check for transparent flag in ip_route_newports\n  ipv6: add IPv6 to neighbour table overflow warning\n  tcp: fix TSO FACK loss marking in tcp_mark_head_lost\n  3c59x: fix regression from patch \"Add ethtool WOL support\"\n  ipv6: add a missing unregister_pernet_subsys call\n  s390: use free_netdev(netdev) instead of kfree()\n  sgiseeq: use free_netdev(netdev) instead of kfree()\n  rionet: use free_netdev(netdev) instead of kfree()\n  ibm_newemac: use free_netdev(netdev) instead of kfree()\n  smsc911x: Add MODULE_ALIAS()\n  net: reset skb queue mapping when rx\u0027ing over tunnel\n  br2684: fix scheduling while atomic\n  de2104x: fix TP link detection\n  de2104x: fix power management\n  de2104x: disable autonegotiation on broken hardware\n  net: fix a lockdep splat\n  e1000e: 82579 do not gate auto config of PHY by hardware during nominal use\n  ...\n"
    },
    {
      "commit": "90d51b02fd702d969eb05bd9d4ecc954759fbe23",
      "tree": "fb5409d3ed5844be89a284097a930e1ff5ea37de",
      "parents": [
        "4f42d0d53ca4737f82937edb0efc83564c124853"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:02:29 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Make the ip_map_cache be per-net\n\nEverything that is required for that already exists:\n* the per-net cache registration with respective proc entries\n* the context (struct net) is available in all the users\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4f42d0d53ca4737f82937edb0efc83564c124853",
      "tree": "487cbc8e7bc9ed643fbbfb2216230c15ed3b1552",
      "parents": [
        "2f72c9b73730c335381b13e2bd221abe1acea394"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:01:58 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Make the /proc/net/rpc appear in net namespaces\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2f72c9b73730c335381b13e2bd221abe1acea394",
      "tree": "c8b59e83724b665bfa4d5776ba4f734f32451858",
      "parents": [
        "4fb8518bdac8e85f6580ea3f586adf396cd472bc"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:01:27 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: The per-net skeleton\n\nRegister empty per-net operations for the sunrpc layer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4fb8518bdac8e85f6580ea3f586adf396cd472bc",
      "tree": "887efb838b220afdd147faa1281d21cf0ee83cd8",
      "parents": [
        "593ce16b943ea37d4ec62c377b32d7f3f4085e84"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:49 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Tag svc_xprt with net\n\nThe transport representation should be per-net of course.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "593ce16b943ea37d4ec62c377b32d7f3f4085e84",
      "tree": "d8e161541e89f69e0de4416d76655cf11d9ecaa8",
      "parents": [
        "352114f395bd79353faf0bc1506ead94de393f55"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:15 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add routines that allow registering per-net caches\n\nExisting calls do the same, but for the init_net.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "352114f395bd79353faf0bc1506ead94de393f55",
      "tree": "46d9001aff3738afd13323fc883d89b7e8a74450",
      "parents": [
        "3be4479fdf2fb7eb17a4592917ae4b536058b0c7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:59:48 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add net to pure API calls\n\nThere are two calls that operate on ip_map_cache and are\ndirectly called from the nfsd code. Other places will be\nhandled in a different way.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3be4479fdf2fb7eb17a4592917ae4b536058b0c7",
      "tree": "6d1ee4fde52da130a41966f72a9542a24ecc450c",
      "parents": [
        "e3bfca01c1ad378deaee598292bcc7ee19024563"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:59:13 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Pass xprt to cached get/put routines\n\nThey do not require the rqst actually and having the xprt simplifies\nfurther patching.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3bfca01c1ad378deaee598292bcc7ee19024563",
      "tree": "bc4a89934cfb309f3d835917257e17e5d5236c6c",
      "parents": [
        "bf18ab32ff2a50a3d13d559f26f94ecfba131f24"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:58:42 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Make xprt auth cache release work with the xprt\n\nThis is done in order to facilitate getting the ip_map_cache from\nwhich to put the ip_map.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bf18ab32ff2a50a3d13d559f26f94ecfba131f24",
      "tree": "9d4ee72228c3b0c71a1de93d3cf5ed33adb1e33b",
      "parents": [
        "74ec1e1269eba65b5f8e810cf0363ddb7aa64de5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:57:36 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Pass the ip_map_parse\u0027s cd to lower calls\n\nThe target is to have many ip_map_cache-s in the system. This particular\npatch handles its usage by the ip_map_parse callback.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "f064af1e500a2bf4607706f0f458163bdb2a6ea5",
      "tree": "ebbbd1c3c00030c70cab6fe587a5c03252a46ebc",
      "parents": [
        "605c82bab5abe0816e5e32716875c245f89f39da"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 12:43:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 24 22:26:10 2010 -0700"
      },
      "message": "net: fix a lockdep splat\n\nWe have for each socket :\n\nOne spinlock (sk_slock.slock)\nOne rwlock (sk_callback_lock)\n\nPossible scenarios are :\n\n(A) (this is used in net/sunrpc/xprtsock.c)\nread_lock(\u0026sk-\u003esk_callback_lock) (without blocking BH)\n\u003cBH\u003e\nspin_lock(\u0026sk-\u003esk_slock.slock);\n...\nread_lock(\u0026sk-\u003esk_callback_lock);\n...\n\n(B)\nwrite_lock_bh(\u0026sk-\u003esk_callback_lock)\nstuff\nwrite_unlock_bh(\u0026sk-\u003esk_callback_lock)\n\n(C)\nspin_lock_bh(\u0026sk-\u003esk_slock)\n...\nwrite_lock_bh(\u0026sk-\u003esk_callback_lock)\nstuff\nwrite_unlock_bh(\u0026sk-\u003esk_callback_lock)\nspin_unlock_bh(\u0026sk-\u003esk_slock)\n\nThis (C) case conflicts with (A) :\n\nCPU1 [A]                         CPU2 [C]\nread_lock(callback_lock)\n\u003cBH\u003e                             spin_lock_bh(slock)\n\u003cwait to spin_lock(slock)\u003e\n                                 \u003cwait to write_lock_bh(callback_lock)\u003e\n\nWe have one problematic (C) use case in inet_csk_listen_stop() :\n\nlocal_bh_disable();\nbh_lock_sock(child); // spin_lock_bh(\u0026sk-\u003esk_slock)\nWARN_ON(sock_owned_by_user(child));\n...\nsock_orphan(child); // write_lock_bh(\u0026sk-\u003esk_callback_lock)\n\nlockdep is not happy with this, as reported by Tetsuo Handa\n\nIt seems only way to deal with this is to use read_lock_bh(callbacklock)\neverywhere.\n\nThanks to Jarek for pointing a bug in my first attempt and suggesting\nthis solution.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "655b5bb4a794267527a3059a22de54778a4548f3",
      "tree": "0ce1006e0275aa10c0c56302f2f0efd65e837de4",
      "parents": [
        "ea3f0e6bc5312e5f664221c5941a76bdf49c9970"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Sep 04 18:52:53 2010 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 23 13:40:14 2010 +0200"
      },
      "message": "net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e95dffa4304186ad87963255f3e5e96b5c41849f",
      "tree": "c5e382e2272b8ef8d7edfc480060608cd5bb493d",
      "parents": [
        "f904be9cc77f361d37d71468b13ff3d1a1823dea"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 22 12:55:06 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 22 15:33:12 2010 -0400"
      },
      "message": "sunrpc/cache: fix recent breakage of cache_clean_deferred\n\ncommit 6610f720e9e8103c22d1f1ccf8fbb695550a571f\nbroke cache_clean_deferred as entries are no longer added to the\npending list for subsequent revisiting.\n\nSo put those requests back on the pending list.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e7f483eabea8ef6d2b5ce1b74c8184cc06819f15",
      "tree": "5c3e397ed7e31886d39e1140bb6aa278e138f36f",
      "parents": [
        "1117449276bb909b029ed0b9ba13f53e4784db9d"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Tue Sep 21 09:40:25 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 22:45:07 2010 -0400"
      },
      "message": "sunrpc/cache: don\u0027t use custom hex_to_bin() converter\n\nSigned-off-by: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1117449276bb909b029ed0b9ba13f53e4784db9d",
      "tree": "14b119924ac54165e6b18f3772cfe966b6883245",
      "parents": [
        "2ed5282cd9b44686a6e718269abb5c5cd332d8f1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:08 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 21:51:11 2010 -0400"
      },
      "message": "sunrpc/cache: change deferred-request hash table to use hlist.\n\nBeing a hash table, hlist is the best option.\n\nThere is currently some ugliness were we treat \"-\u003enext \u003d\u003d NULL\" as\na special case to avoid having to initialise the whole array.\nThis change nicely gets rid of that case.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2ed5282cd9b44686a6e718269abb5c5cd332d8f1",
      "tree": "7c7c00b3b1f52f4d038e04bcc46d1e8cd4eff8ff",
      "parents": [
        "839049a8732d689d02051e0198fb60a22f7ccb4b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:07 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 19:16:31 2010 -0400"
      },
      "message": "svcauth_gss: replace a trivial \u0027switch\u0027 with an \u0027if\u0027\n\nCode like:\n\n  switch(xxx) {\n  case -error1:\n  case -error2:\n     ..\n     return;\n  case 0:\n     stuff;\n  }\n\n  can more naturally be written:\n\n  if (xxx \u003c 0)\n      return;\n\n  stuff;\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1ebede86b8abbcf8833830e18e05391758cf2f28",
      "tree": "872f1218a45f84070eeac162621ef3e56fc6f222",
      "parents": [
        "06497524589f2a7717da33969d541674e0a27da6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:07 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 16:57:49 2010 -0400"
      },
      "message": "sunrpc: close connection when a request is irretrievably lost.\n\nIf we drop a request in the sunrpc layer, either due kmalloc failure,\nor due to a cache miss when we could not queue the request for later\nreplay, then close the connection to encourage the client to retry sooner.\n\nNote that if the drop happens in the NFS layer, NFSERR_JUKEBOX\n(aka NFS4ERR_DELAY) is returned to guide the client concerning\nreplay.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b4687da7fc5f741af7fee9b0248a2cf2ad9c4478",
      "tree": "1df8cb2cc72a88b4646bf380ff68345415d0222f",
      "parents": [
        "38359352fcb0d776b562a9e0ed4f0d355d5a332e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "message": "SUNRPC: Refactor logic to NUL-terminate strings in pages\n\nClean up: Introduce a helper to \u0027\\0\u0027-terminate XDR strings\nthat are placed in a page in the page cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "38359352fcb0d776b562a9e0ed4f0d355d5a332e",
      "tree": "adf47d521b41b23c2746b51168b3159089020736",
      "parents": [
        "d141d97437a3c84aa18cfd5c8d91b89c4173f25c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "message": "SUNRPC: Correct an rpcbind debugging message\n\nClean up.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fbf6e507888da902b02a3c4f5f493fab1071312",
      "tree": "0c632c1953615dd706a293eb595cc9d082892810",
      "parents": [
        "d688e11007419fd060ae74d8d952a5c4ece735aa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:54:34 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:54:34 2010 -0400"
      },
      "message": "SUNRPC: Convert rpciod to use the alloc_workqueue() interface\n\ncreate_workqueue() is a deprecated function.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06497524589f2a7717da33969d541674e0a27da6",
      "tree": "3d7d21b9dd325c36e11a923f186059f587d7724d",
      "parents": [
        "c88739b373e4930ed082a607cb78bf82616fd076"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 22:55:06 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:49:30 2010 -0400"
      },
      "message": "nfsd4: fix hang on fast-booting nfs servers\n\nThe last_close field of a cache_detail is initialized to zero, so the\ncondition\n\n\tdetail-\u003elast_close \u003c seconds_since_boot() - 30\n\nmay be false even for a cache that was never opened.\n\nHowever, we want to immediately fail upcalls to caches that were never\nopened: in the case of the auth_unix_gid cache, especially, which may\nnever be opened by mountd (if the --manage-gids option is not set), we\nwant to fail the upcall immediately.  Otherwise client requests will be\ndropped unnecessarily on reboot.\n\nAlso document these conditions.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c88739b373e4930ed082a607cb78bf82616fd076",
      "tree": "251d969aa816dab5a62e6b36208b189b37de6534",
      "parents": [
        "3211af1119174fbe8b676422b74870cdd51d7314",
        "827e3457022d0bb0b1bb8a0eb88501876fe7dcf0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:00 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:32 2010 -0400"
      },
      "message": "Merge remote branch \u0027trond/bugfixes\u0027 into for-2.6.37\n\nWithout some client-side fixes, server testing is currently difficult.\n"
    },
    {
      "commit": "859d5024f450686ad0a42ed3c06f2fa20295c9e6",
      "tree": "441f693bfcfaf1754beab7d0a665ff16422a26a0",
      "parents": [
        "306a075362a288683f6346185f97dd0e06df19da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "message": "SUNRPC: Remove rpcb_getport_sync()\n\nClean up: rpcb_getport_sync() has no more users, so remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "db5fe26541b6b48460104a0d949a27cdc7786957",
      "tree": "b14418c090e078e1a5eba29d6da710d9cc7de94f",
      "parents": [
        "651b2933b22a0c060e6bb940c4104eb447a61f9a"
      ],
      "author": {
        "name": "Miquel van Smoorenburg",
        "email": "mikevs@xs4all.net",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "message": "sunrpc: increase MAX_HASHTABLE_BITS to 14\n\nThe maximum size of the authcache is now set to 1024 (10 bits),\nbut on our server we need at least 4096 (12 bits). Increase\nMAX_HASHTABLE_BITS to 14. This is a maximum of 16384 entries,\neach containing a pointer (8 bytes on x86_64). This is\nexactly the limit of kmalloc() (128K).\n\nSigned-off-by: Miquel van Smoorenburg \u003cmikevs@xs4all.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "651b2933b22a0c060e6bb940c4104eb447a61f9a",
      "tree": "8ca4e46718ec63fea52b99c2e9dc32a85029c8dd",
      "parents": [
        "ce8477e1176389ed920550f4c925ad4a815b22d5"
      ],
      "author": {
        "name": "Bian Naimeng",
        "email": "biannm@cn.fujitsu.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:26 2010 -0400"
      },
      "message": "gss:spkm3 miss returning error to caller when import security context\n\nspkm3 miss returning error to up layer when import security context,\nit may be return ok though it has failed to import security context.\n\nSigned-off-by: Bian Naimeng \u003cbiannm@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce8477e1176389ed920550f4c925ad4a815b22d5",
      "tree": "ae8867cc24b245694ac1d27ab2591c31a530fb34",
      "parents": [
        "b1bde04c6d9a120dec602cc8a70b8a7f21600883"
      ],
      "author": {
        "name": "Bian Naimeng",
        "email": "biannm@cn.fujitsu.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "gss:krb5 miss returning error to caller when import security context\n\nkrb5 miss returning error to up layer when import security context,\nit may be return ok though it has failed to import security context.\n\nSigned-off-by: Bian Naimeng \u003cbiannm@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "55576244eba805307a2b2b6a145b8f85f8c7c124",
      "tree": "b81f059cd196cdc7b8e0c74bba1584e0c7dfcd5e",
      "parents": [
        "006abe887c5e637d059c44310de6c92f36aded3b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "SUNRPC: cleanup state-machine ordering\n\nThis is just a minor cleanup: net/sunrpc/clnt.c clarifies the rpc client\nstate machine by commenting each state and by laying out the functions\nimplementing each state in the order that each state is normally\nexecuted (in the absence of errors).\n\nThe previous patch \"Fix null dereference in call_allocate\" changed the\norder of the states.  Move the functions and update the comments to\nreflect the change.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "006abe887c5e637d059c44310de6c92f36aded3b",
      "tree": "542ab0f1d56b4d9681c8d61fbf77c9a46062e661",
      "parents": [
        "5a67657a2e90c9e4a48518f95d4ba7777aa20fbb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "SUNRPC: Fix a race in rpc_info_open\n\nThere is a race between rpc_info_open and rpc_release_client()\nin that nothing stops a process from opening the file after\nthe clnt-\u003ecl_kref goes to zero.\n\nFix this by using atomic_inc_unless_zero()...\n\nReported-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    }
  ],
  "next": "5a67657a2e90c9e4a48518f95d4ba7777aa20fbb"
}
