)]}'
{
  "log": [
    {
      "commit": "b01537bfbc832a09162e7189f63251a8785e2112",
      "tree": "f2e1b1430ed37ee173ead7bb78e0fcbdc8ab11ac",
      "parents": [
        "282c183b0207a518bb3be1b65faa5a36d1529fa0",
        "d870b4a191a389c661cd40aacb06981c26b5e504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 29 09:27:19 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 29 09:27:19 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs dentry reference count fix from Al Viro.\n\nThis fixes a possible inode_permission NULL pointer dereference (and\nother problems) that were due to the root dentry count being decremented\ntoo much.  In commit 48a066e72d97 (\"RCU\u0027d vfsmounts\") the placement of\nclearing the LOOKUP_RCU bit changed, and we then returned failure of\nincrementing the lockref on the parent dentry with LOOKUP_RCU cleared.\n\nBut that meant we needed to go through the same cleanup routines that\nthe later failures did wrt LOOKUP_ROOT and nd-\u003eroot.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fix bogus path_put() of nd-\u003eroot after some unlazy_walk() failures\n"
    },
    {
      "commit": "d870b4a191a389c661cd40aacb06981c26b5e504",
      "tree": "1518f3a778b105f737b3ba8453ec557ac8234f6d",
      "parents": [
        "2e7babfa892a55588467ef03b545002e32f31528"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 29 01:48:32 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 29 01:50:51 2013 -0500"
      },
      "message": "fix bogus path_put() of nd-\u003eroot after some unlazy_walk() failures\n\nFailure to grab reference to parent dentry should go through the\nsame cleanup as nd-\u003eseq mismatch.  As it is, we might end up with\ncaller thinking it needs to path_put() nd-\u003eroot, with obvious\nnasty results once we\u0027d hit that bug enough times to drive the\nrefcount of root dentry all the way to zero...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3bad8bb5cd3048a67df43ac6b1e2f191f19d9ff0",
      "tree": "bc18e38958f63b6ffb8514e16729f094925e4d5b",
      "parents": [
        "5ecbe3c3c690b5ab493c730c317475287a9e8b45",
        "f19e84df37bda502a2248d507a9cf2b9e693279e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 28 09:50:25 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 28 09:50:25 2013 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull cifs fixes from Steve French:\n \"SMB3 \"validate negotiate\" is needed to prevent certain types of\n  downgrade attacks.\n\n  Also changes SMB2/SMB3 copy offload from using the BTRFS copy ioctl\n  (BTRFS_IOC_CLONE) to a cifs specific ioctl (CIFS_IOC_COPYCHUNK_FILE)\n  to address Christoph\u0027s comment that there are semantic differences\n  between requesting copy offload in which copy-on-write is mandatory\n  (as in the BTRFS ioctl) and optional in the SMB2/SMB3 case.  Also\n  fixes SMB2/SMB3 copychunk for large files\"\n\n* \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  [CIFS] Do not use btrfs refcopy ioctl for SMB2 copy offload\n  Check SMB3 dialects against downgrade attacks\n  Removed duplicated (and unneeded) goto\n  CIFS: Fix SMB2/SMB3 Copy offload support (refcopy) for large files\n"
    },
    {
      "commit": "f496863658eac9054d4bd4c661774d76d83255e0",
      "tree": "897e967416a204e21d957386514559b2a07a2a9d",
      "parents": [
        "ba33fef0f62a97e1faf285a5ee2bcad85622f4fd",
        "81440e73744446adbe5b5d1f19460203d275028f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 27 21:04:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 27 21:04:37 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.13-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core fixes from Greg KH:\n \"Here are 3 patches for sysfs issues that have been reported.  Well, 1\n  patch really, the first one is reverted as it\u0027s not really needed (the\n  correct fix is coming in through the different driver subsystems\n  instead)\n\n  But that 1 sysfs fix is needed, so this is still a good thing to pull\n  in now\"\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n* tag \u0027driver-core-3.13-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  Revert \"sysfs: handle duplicate removal attempts in sysfs_remove_group()\"\n  sysfs: use a separate locking class for open files depending on mmap\n  sysfs: handle duplicate removal attempts in sysfs_remove_group()\n"
    },
    {
      "commit": "dad337501d490b26fbf8d83baee99c788461c61c",
      "tree": "1aa922fc1b1fc3fdb6ef18da3e404d9111092003",
      "parents": [
        "a456c0d9c0bad7be3b8b9fef5d1e6d6cf51161f9"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Nov 27 15:15:57 2013 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 27 20:34:32 2013 -0800"
      },
      "message": "remove obsolete references to powertweak\n\nThis tool hasn\u0027t been maintained in over a decade, and is pretty much\nuseless these days.  Let\u0027s pretend it never happened.\n\nAlso remove a long-dead email address.\n\nSigned-off-by: Dave Jones \u003cdavej@fedoraproject.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81440e73744446adbe5b5d1f19460203d275028f",
      "tree": "8456e951c40d36a72970eef0a57d40e15bbfc5a8",
      "parents": [
        "027a485d12e089314360d459b8d847104dd28702"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 27 09:44:55 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 27 09:44:55 2013 -0800"
      },
      "message": "Revert \"sysfs: handle duplicate removal attempts in sysfs_remove_group()\"\n\nThis reverts commit 54d71145a4548330313ca664a4a009772fe8b7dd.\n\nThe root cause of these \"inverted\" sysfs removals have now been found,\nso there is no need for this patch.  Keep this functionality around so\nthat this type of error doesn\u0027t show up in driver code again.\n\nCc: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nCc: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4f9e5df211a8591b3fb5c154ecc7ec5d4ecd6b79",
      "tree": "ba4e3980540d5bf082bc38f0107b628b2b726a25",
      "parents": [
        "0e4b0743bbe5807535ba1b0389281f9a4c1b2bb7",
        "ff638b7df5a9264024a6448bdfde2b2bf5d1994a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 26 18:02:46 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 26 18:02:46 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus-bugs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull ceph bug-fixes from Sage Weil:\n \"These include a couple fixes to the new fscache code that went in\n  during the last cycle (which will need to go stable@ shortly as well),\n  a couple client-side directory fragmentation fixes, a fix for a race\n  in the cap release queuing path, and a couple race fixes in the\n  request abort and resend code.\n\n  Obviously some of this could have gone into 3.12 final, but I\n  preferred to overtest rather than send things in for a late -rc, and\n  then my travel schedule intervened\"\n\n* \u0027for-linus-bugs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: allocate non-zero page to fscache in readpage()\n  ceph: wake up \u0027safe\u0027 waiters when unregistering request\n  ceph: cleanup aborted requests when re-sending requests.\n  ceph: handle race between cap reconnect and cap release\n  ceph: set caps count after composing cap reconnect message\n  ceph: queue cap release in __ceph_remove_cap()\n  ceph: handle frag mismatch between readdir request and reply\n  ceph: remove outdated frag information\n  ceph: hung on ceph fscache invalidate in some cases\n"
    },
    {
      "commit": "f19e84df37bda502a2248d507a9cf2b9e693279e",
      "tree": "1ff0081b4d9029ef26eed858f1c2e5bc8ae2c47f",
      "parents": [
        "ff1c038addc4f205d5f1ede449426c7d316c0eed"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Sun Nov 24 21:53:17 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Nov 25 09:50:31 2013 -0600"
      },
      "message": "[CIFS] Do not use btrfs refcopy ioctl for SMB2 copy offload\n\nChange cifs.ko to using CIFS_IOCTL_COPYCHUNK instead\nof BTRFS_IOC_CLONE to avoid confusion about whether\ncopy-on-write is required or optional for this operation.\n\nSMB2/SMB3 copyoffload had used the BTRFS_IOC_CLONE ioctl since\nthey both speed up copy by offloading the copy rather than\npassing many read and write requests back and forth and both have\nidentical syntax (passing file handles), but for SMB2/SMB3\nCopyChunk the server is not required to use copy-on-write\nto make a copy of the file (although some do), and Christoph\nhas commented that since CopyChunk does not require\ncopy-on-write we should not reuse BTRFS_IOC_CLONE.\n\nThis patch renames the ioctl to use a cifs specific IOCTL\nCIFS_IOCTL_COPYCHUNK.  This ioctl is particularly important\nfor SMB2/SMB3 since large file copy over the network otherwise\ncan be very slow, and with this is often more than 100 times\nfaster putting less load on server and client.\n\nNote that if a copy syscall is ever introduced, depending on\nits requirements/format it could end up using one of the other\nthree methods that CIFS/SMB2/SMB3 can do for copy offload,\nbut this method is particularly useful for file copy\nand broadly supported (not just by Samba server).\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: David Disseldorp \u003cddiss@samba.org\u003e\n"
    },
    {
      "commit": "ff638b7df5a9264024a6448bdfde2b2bf5d1994a",
      "tree": "7eddfa04ea15f9ffeada44d0304839d8c112c480",
      "parents": [
        "fc55d2c9448b34218ca58733a6f51fbede09575b"
      ],
      "author": {
        "name": "Li Wang",
        "email": "liwang@ubuntukylin.com",
        "time": "Sat Nov 09 10:26:06 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:01:07 2013 -0800"
      },
      "message": "ceph: allocate non-zero page to fscache in readpage()\n\nceph_osdc_readpages() returns number of bytes read, currently,\nthe code only allocate full-zero page into fscache, this patch\nfixes this.\n\nSigned-off-by: Li Wang \u003cliwang@ubuntukylin.com\u003e\nReviewed-by: Milosz Tanski \u003cmilosz@adfin.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "fc55d2c9448b34218ca58733a6f51fbede09575b",
      "tree": "3aacd587707e00cd58ae7db659d73993ef7703ef",
      "parents": [
        "eb1b8af33c2e42a9a57fc0a7588f4a7b255d2e79"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Thu Oct 31 09:10:47 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:01:05 2013 -0800"
      },
      "message": "ceph: wake up \u0027safe\u0027 waiters when unregistering request\n\nWe also need to wake up \u0027safe\u0027 waiters if error occurs or request\naborted. Otherwise sync(2)/fsync(2) may hang forever.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "eb1b8af33c2e42a9a57fc0a7588f4a7b255d2e79",
      "tree": "bfcabbe9697759b719e6b4b49b99e02e8e8de030",
      "parents": [
        "99a9c273b94a087f8feaec6c5ffbe3205a2dbe51"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Thu Sep 26 14:25:36 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:01:04 2013 -0800"
      },
      "message": "ceph: cleanup aborted requests when re-sending requests.\n\nAborted requests usually get cleared when the reply is received.\nIf MDS crashes, no reply will be received. So we need to cleanup\naborted requests when re-sending requests.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nReviewed-by: Greg Farnum \u003cgreg@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "99a9c273b94a087f8feaec6c5ffbe3205a2dbe51",
      "tree": "c02a8c512356b2a9ae76e18558e5b59a75458868",
      "parents": [
        "44c99757fae80e9db058e1f1d7419cf6472e9af1"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Sun Sep 22 11:08:14 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:01:02 2013 -0800"
      },
      "message": "ceph: handle race between cap reconnect and cap release\n\nWhen a cap get released while composing the cap reconnect message.\nWe should skip queuing the release message if the cap hasn\u0027t been\nadded to the cap reconnect message.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "44c99757fae80e9db058e1f1d7419cf6472e9af1",
      "tree": "9bf7bbb62d915a26b9cee8b52b7d5f6649adca13",
      "parents": [
        "a096b09aeec6ff99edfdfd8cee24d6f25377d585"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Sun Sep 22 10:28:10 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:01:01 2013 -0800"
      },
      "message": "ceph: set caps count after composing cap reconnect message\n\nIt\u0027s possible that some caps get released while composing the cap\nreconnect message.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "a096b09aeec6ff99edfdfd8cee24d6f25377d585",
      "tree": "d32a4a15cd391c2c84205c855e7d997070279cc6",
      "parents": [
        "81c6aea5275eae453719d7f3924da07e668265c5"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Sun Sep 22 10:15:58 2013 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Sat Nov 23 11:00:59 2013 -0800"
      },
      "message": "ceph: queue cap release in __ceph_remove_cap()\n\ncall __queue_cap_release() in __ceph_remove_cap(), this avoids\nacquiring s_cap_lock twice.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "027a485d12e089314360d459b8d847104dd28702",
      "tree": "38f82c2453a6509947cbd9d9f0809b9c031497ec",
      "parents": [
        "54d71145a4548330313ca664a4a009772fe8b7dd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Nov 17 11:17:36 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Nov 23 10:52:13 2013 -0800"
      },
      "message": "sysfs: use a separate locking class for open files depending on mmap\n\nThe following two commits implemented mmap support in the regular file\npath and merged bin file support into the regular path.\n\n 73d9714627ad (\"sysfs: copy bin mmap support from fs/sysfs/bin.c to fs/sysfs/file.c\")\n 3124eb1679b2 (\"sysfs: merge regular and bin file handling\")\n\nAfter the merge, the following commands trigger a spurious lockdep\nwarning.  \"test-mmap-read\" simply mmaps the file and dumps the\ncontent.\n\n  $ cat /sys/block/sda/trace/act_mask\n  $ test-mmap-read /sys/devices/pci0000\\:00/0000\\:00\\:03.0/resource0 4096\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible circular locking dependency detected ]\n  3.12.0-work+ #378 Not tainted\n  -------------------------------------------------------\n  test-mmap-read/567 is trying to acquire lock:\n   (\u0026of-\u003emutex){+.+.+.}, at: [\u003cffffffff8120a8df\u003e] sysfs_bin_mmap+0x4f/0x120\n\n  but task is already holding lock:\n   (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff8114b399\u003e] vm_mmap_pgoff+0x49/0xa0\n\n  which lock already depends on the new lock.\n\n  the existing dependency chain (in reverse order) is:\n\n  -\u003e #3 (\u0026mm-\u003emmap_sem){++++++}:\n  ...\n  -\u003e #2 (sr_mutex){+.+.+.}:\n  ...\n  -\u003e #1 (\u0026bdev-\u003ebd_mutex){+.+.+.}:\n  ...\n  -\u003e #0 (\u0026of-\u003emutex){+.+.+.}:\n  ...\n\n  other info that might help us debug this:\n\n  Chain exists of:\n   \u0026of-\u003emutex --\u003e sr_mutex --\u003e \u0026mm-\u003emmap_sem\n\n   Possible unsafe locking scenario:\n\n\t CPU0                    CPU1\n\t ----                    ----\n    lock(\u0026mm-\u003emmap_sem);\n\t\t\t\t lock(sr_mutex);\n\t\t\t\t lock(\u0026mm-\u003emmap_sem);\n    lock(\u0026of-\u003emutex);\n\n   *** DEADLOCK ***\n\n  1 lock held by test-mmap-read/567:\n   #0:  (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff8114b399\u003e] vm_mmap_pgoff+0x49/0xa0\n\n  stack backtrace:\n  CPU: 3 PID: 567 Comm: test-mmap-read Not tainted 3.12.0-work+ #378\n  Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011\n   ffffffff81ed41a0 ffff880009441bc8 ffffffff81611ad2 ffffffff81eccb80\n   ffff880009441c08 ffffffff8160f215 ffff880009441c60 ffff880009c75208\n   0000000000000000 ffff880009c751e0 ffff880009c75208 ffff880009c74ac0\n  Call Trace:\n   [\u003cffffffff81611ad2\u003e] dump_stack+0x4e/0x7a\n   [\u003cffffffff8160f215\u003e] print_circular_bug+0x2b0/0x2bf\n   [\u003cffffffff8109ca0a\u003e] __lock_acquire+0x1a3a/0x1e60\n   [\u003cffffffff8109d6ba\u003e] lock_acquire+0x9a/0x1d0\n   [\u003cffffffff81615547\u003e] mutex_lock_nested+0x67/0x3f0\n   [\u003cffffffff8120a8df\u003e] sysfs_bin_mmap+0x4f/0x120\n   [\u003cffffffff8115d363\u003e] mmap_region+0x3b3/0x5b0\n   [\u003cffffffff8115d8ae\u003e] do_mmap_pgoff+0x34e/0x3d0\n   [\u003cffffffff8114b3ba\u003e] vm_mmap_pgoff+0x6a/0xa0\n   [\u003cffffffff8115be3e\u003e] SyS_mmap_pgoff+0xbe/0x250\n   [\u003cffffffff81008282\u003e] SyS_mmap+0x22/0x30\n   [\u003cffffffff8161a4d2\u003e] system_call_fastpath+0x16/0x1b\n\nThis happens because one file nests sr_mutex, which nests mm-\u003emmap_sem\nunder it, under of-\u003emutex while mmap implementation naturally nests\nof-\u003emutex under mm-\u003emmap_sem.  The warning is false positive as\nof-\u003emutex is per open-file and the two paths belong to two different\nfiles.  This warning didn\u0027t trigger before regular and bin file\nsupports were merged because only bin file supported mmap and the\nother side of locking happened only on regular files which used\nequivalent but separate locking.\n\nIt\u0027d be best if we give separate locking classes per file but we can\u0027t\neasily do that.  Let\u0027s differentiate on -\u003emmap() for now.  Later we\u0027ll\nadd explicit file operations struct and can add per-ops lockdep key\nthere.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "54d71145a4548330313ca664a4a009772fe8b7dd",
      "tree": "62e8e59d7da07b8044ecce39093ad0f77ae5e404",
      "parents": [
        "6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae"
      ],
      "author": {
        "name": "Mika Westerberg",
        "email": "mika.westerberg@linux.intel.com",
        "time": "Wed Nov 20 11:56:35 2013 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat Nov 23 10:52:13 2013 -0800"
      },
      "message": "sysfs: handle duplicate removal attempts in sysfs_remove_group()\n\nCommit bcdde7e221a8 (sysfs: make __sysfs_remove_dir() recursive) changed\nthe behavior so that directory removals will be done recursively. This\nmeans that the sysfs group might already be removed if its parent directory\nhas been removed.\n\nThe current code outputs warnings similar to following log snippet when it\ndetects that there is no group for the given kobject:\n\n WARNING: CPU: 0 PID: 4 at fs/sysfs/group.c:214 sysfs_remove_group+0xc6/0xd0()\n sysfs group ffffffff81c6f1e0 not found for kobject \u0027host7\u0027\n Modules linked in:\n CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 3.12.0+ #13\n Hardware name:                  /D33217CK, BIOS GKPPT10H.86A.0042.2013.0422.1439 04/22/2013\n Workqueue: kacpi_hotplug acpi_hotplug_work_fn\n  0000000000000009 ffff8801002459b0 ffffffff817daab1 ffff8801002459f8\n  ffff8801002459e8 ffffffff810436b8 0000000000000000 ffffffff81c6f1e0\n  ffff88006d440358 ffff88006d440188 ffff88006e8b4c28 ffff880100245a48\n Call Trace:\n  [\u003cffffffff817daab1\u003e] dump_stack+0x45/0x56\n  [\u003cffffffff810436b8\u003e] warn_slowpath_common+0x78/0xa0\n  [\u003cffffffff81043727\u003e] warn_slowpath_fmt+0x47/0x50\n  [\u003cffffffff811ad319\u003e] ? sysfs_get_dirent_ns+0x49/0x70\n  [\u003cffffffff811ae526\u003e] sysfs_remove_group+0xc6/0xd0\n  [\u003cffffffff81432f7e\u003e] dpm_sysfs_remove+0x3e/0x50\n  [\u003cffffffff8142a0d0\u003e] device_del+0x40/0x1b0\n  [\u003cffffffff8142a24d\u003e] device_unregister+0xd/0x20\n  [\u003cffffffff8144131a\u003e] scsi_remove_host+0xba/0x110\n  [\u003cffffffff8145f526\u003e] ata_host_detach+0xc6/0x100\n  [\u003cffffffff8145f578\u003e] ata_pci_remove_one+0x18/0x20\n  [\u003cffffffff812e8f48\u003e] pci_device_remove+0x28/0x60\n  [\u003cffffffff8142d854\u003e] __device_release_driver+0x64/0xd0\n  [\u003cffffffff8142d8de\u003e] device_release_driver+0x1e/0x30\n  [\u003cffffffff8142d257\u003e] bus_remove_device+0xf7/0x140\n  [\u003cffffffff8142a1b1\u003e] device_del+0x121/0x1b0\n  [\u003cffffffff812e43d4\u003e] pci_stop_bus_device+0x94/0xa0\n  [\u003cffffffff812e437b\u003e] pci_stop_bus_device+0x3b/0xa0\n  [\u003cffffffff812e437b\u003e] pci_stop_bus_device+0x3b/0xa0\n  [\u003cffffffff812e44dd\u003e] pci_stop_and_remove_bus_device+0xd/0x20\n  [\u003cffffffff812fc743\u003e] trim_stale_devices+0x73/0xe0\n  [\u003cffffffff812fc78b\u003e] trim_stale_devices+0xbb/0xe0\n  [\u003cffffffff812fc78b\u003e] trim_stale_devices+0xbb/0xe0\n  [\u003cffffffff812fcb6e\u003e] acpiphp_check_bridge+0x7e/0xd0\n  [\u003cffffffff812fd90d\u003e] hotplug_event+0xcd/0x160\n  [\u003cffffffff812fd9c5\u003e] hotplug_event_work+0x25/0x60\n  [\u003cffffffff81316749\u003e] acpi_hotplug_work_fn+0x17/0x22\n  [\u003cffffffff8105cf3a\u003e] process_one_work+0x17a/0x430\n  [\u003cffffffff8105db29\u003e] worker_thread+0x119/0x390\n  [\u003cffffffff8105da10\u003e] ? manage_workers.isra.25+0x2a0/0x2a0\n  [\u003cffffffff81063a5d\u003e] kthread+0xcd/0xf0\n  [\u003cffffffff81063990\u003e] ? kthread_create_on_node+0x180/0x180\n  [\u003cffffffff817eb33c\u003e] ret_from_fork+0x7c/0xb0\n  [\u003cffffffff81063990\u003e] ? kthread_create_on_node+0x180/0x180\n\nOn this particular machine I see ~16 of these message during Thunderbolt\nhot-unplug.\n\nFix this in similar way that was done for sysfs_remove_one() by checking\nif the parent directory has already been removed and bailing out early.\n\nSigned-off-by: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nAcked-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "57498f9cb91be1eebea48f1dc833ebf162606ad5",
      "tree": "f7919c43e8d958a639b22c9222458a8d449dc190",
      "parents": [
        "e48f88a30de46c311d1c9493b5448332ebc1eb9b",
        "2000f5beabc9c6baf084de5f7879975408e3652c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 10:58:14 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 10:58:14 2013 -0800"
      },
      "message": "Merge tag \u0027ecryptfs-3.13-rc1-quiet-checkers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nPull minor eCryptfs fix from Tyler Hicks:\n \"Quiet static checkers by removing unneeded conditionals\"\n\n* tag \u0027ecryptfs-3.13-rc1-quiet-checkers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  eCryptfs: file-\u003eprivate_data is always valid\n"
    },
    {
      "commit": "d0f278c1dd0175093ed37ce132395dc689e6987e",
      "tree": "c2a555e704cb71d56611c9ef7be03089d1ec03f4",
      "parents": [
        "533db9b3d4e1a0405161e66f4da66baf5863b863",
        "ddb8c45ba15149ebd41d7586261c05f7ca37f9a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:42:14 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:42:14 2013 -0800"
      },
      "message": "Merge git://git.kvack.org/~bcrl/aio-next\n\nPull aio fixes from Benjamin LaHaise.\n\n* git://git.kvack.org/~bcrl/aio-next:\n  aio: nullify aio-\u003ering_pages after freeing it\n  aio: prevent double free in ioctx_alloc\n  aio: Fix a trinity splat\n"
    },
    {
      "commit": "533db9b3d4e1a0405161e66f4da66baf5863b863",
      "tree": "3ed4d35f249c5191e79cf02062b3f92cfc5bad36",
      "parents": [
        "c85e07278e50bdfbb50fe038d9cca01cdf1074d1",
        "365da4adebb1c012febf81019ad3dc5bb52e2a13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:41:17 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:41:17 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.13\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd bugfixes from Bruce Fields:\n \"A couple nfsd bugfixes\"\n\n* \u0027for-3.13\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: fix xdr decoding of large non-write compounds\n  nfsd: make sure to balance get/put_write_access\n  nfsd: split up nfsd_setattr\n"
    },
    {
      "commit": "c85e07278e50bdfbb50fe038d9cca01cdf1074d1",
      "tree": "28dbd0761d6d11d14a25b99d1ccc705e4d2c361f",
      "parents": [
        "fb0d1eb8925daaabc45ef67be740a41f49303d07",
        "ea0341e071527d5cec350917b01ab901af09d758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:39:44 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:39:44 2013 -0800"
      },
      "message": "Merge tag \u0027gfs2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes\n\nPull GFS2 fixes from Steven Whitehouse:\n \"A couple of small, but important bug fixes for GFS2.  The first one\n  fixes a possible NULL pointer dereference, and the second one resolves\n  a reference counting issue in one of the lesser used paths through\n  atomic_open\"\n\n* tag \u0027gfs2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:\n  GFS2: Fix ref count bug relating to atomic_open\n  GFS2: fix potential NULL pointer dereference\n"
    },
    {
      "commit": "fb0d1eb8925daaabc45ef67be740a41f49303d07",
      "tree": "cf2be2605d817ed8f91da2bed66653508c59d041",
      "parents": [
        "6ea9786e76d74350aee6cd9339c6f7cb765ba291",
        "c75017961ba7df5da148b48a905c97181587d562"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:38:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:38:55 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs fixes from Chris Mason:\n \"Almost all of these are bug fixes.  Dave Sterba\u0027s documentation update\n  is the big exception because he removed our promises to set any\n  machine running Btrfs on fire\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Documentation: filesystems: update btrfs tools section\n  Documentation: filesystems: add new btrfs mount options\n  btrfs: update kconfig help text\n  btrfs: fix bio_size_ok() for max_sectors \u003e 0xffff\n  btrfs: Use trace condition for get_extent tracepoint\n  btrfs: fix typo in the log message\n  Btrfs: fix list delete warning when removing ordered root from the list\n  Btrfs: print bytenr instead of page pointer in check-int\n  Btrfs: remove dead codes from ctree.h\n  Btrfs: don\u0027t wait for ordered data outside desired range\n  Btrfs: fix lockdep error in async commit\n  Btrfs: avoid heavy operations in btrfs_commit_super\n  Btrfs: fix __btrfs_start_workers retval\n  Btrfs: disable online raid-repair on ro mounts\n  Btrfs: do not inc uncorrectable_errors counter on ro scrubs\n  Btrfs: only drop modified extents if we logged the whole inode\n  Btrfs: make sure to copy everything if we rename\n  Btrfs: don\u0027t BUG_ON() if we get an error walking backrefs\n"
    },
    {
      "commit": "6ea9786e76d74350aee6cd9339c6f7cb765ba291",
      "tree": "a5ac36956a33cd1b2e349800333234876c311dc6",
      "parents": [
        "24f971abbda045c24d5d6f2438a7785567d2fde9",
        "2fe8c1c08b3fbd87dd2641c8f032ff6e965d5803"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:37:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 22 08:37:47 2013 -0800"
      },
      "message": "Merge tag \u0027xfs-for-linus-v3.13-rc1-2\u0027 of git://oss.sgi.com/xfs/xfs\n\nPull second xfs update from Ben Myers:\n \"There are a couple of patches that I wasn\u0027t quite sure about in time\n  for our initial 3.13 pull request, a bugfix, and an update to add Dave\n  to MAINTAINERS:\n\n  Here we have a performance fix for inode iversion, increased inode\n  cluster size for v5 superblock filesystems, a fix for error handling\n  in xfs_bmap_add_attrfork, and a MAINTAINERS update to add Dave\"\n\n* tag \u0027xfs-for-linus-v3.13-rc1-2\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: open code inc_inode_iversion when logging an inode\n  xfs: increase inode cluster size for v5 filesystems\n  xfs: fix unlock in xfs_bmap_add_attrfork\n  xfs: update maintainers\n"
    },
    {
      "commit": "a5d6e63323fe7799eb0e6fd0a41fbfad10fca258",
      "tree": "ca52285fc4ac7fa25a8e1621782a5a51130ac08b",
      "parents": [
        "78dc53c422172a317adb0776dfb687057ffa28b7",
        "7aa555bf26763b86332c7a3689701c999834b87a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 21 21:32:38 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 21 21:32:38 2013 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (fixes from Andrew)\n\nMerge patches from Andrew Morton:\n \"13 fixes\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n  mm: place page-\u003epmd_huge_pte to right union\n  MAINTAINERS: add keyboard driver to Hyper-V file list\n  x86, mm: do not leak page-\u003eptl for pmd page tables\n  ipc,shm: correct error return value in shmctl (SHM_UNLOCK)\n  mm, mempolicy: silence gcc warning\n  block/partitions/efi.c: fix bound check\n  ARM: drivers/rtc/rtc-at91rm9200.c: disable interrupts at shutdown\n  mm: hugetlbfs: fix hugetlbfs optimization\n  kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS cleanly\n  ipc,shm: fix shm_file deletion races\n  mm: thp: give transparent hugepage code a separate copy_page\n  checkpatch: fix \"Use of uninitialized value\" warnings\n  configfs: fix race between dentry put and lookup\n"
    },
    {
      "commit": "3eaded86ac3e7f00fb3eeb8162d89e9a34e42fb0",
      "tree": "4c48b9f1739dcb034186956bf39908803b524154",
      "parents": [
        "527d1511310a89650000081869260394e20c7013",
        "9175c9d2aed528800175ef81c90569d00d23f9be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 21 19:18:14 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 21 19:18:14 2013 -0800"
      },
      "message": "Merge git://git.infradead.org/users/eparis/audit\n\nPull audit updates from Eric Paris:\n \"Nothing amazing.  Formatting, small bug fixes, couple of fixes where\n  we didn\u0027t get records due to some old VFS changes, and a change to how\n  we collect execve info...\"\n\nFixed conflict in fs/exec.c as per Eric and linux-next.\n\n* git://git.infradead.org/users/eparis/audit: (28 commits)\n  audit: fix type of sessionid in audit_set_loginuid()\n  audit: call audit_bprm() only once to add AUDIT_EXECVE information\n  audit: move audit_aux_data_execve contents into audit_context union\n  audit: remove unused envc member of audit_aux_data_execve\n  audit: Kill the unused struct audit_aux_data_capset\n  audit: do not reject all AUDIT_INODE filter types\n  audit: suppress stock memalloc failure warnings since already managed\n  audit: log the audit_names record type\n  audit: add child record before the create to handle case where create fails\n  audit: use given values in tty_audit enable api\n  audit: use nlmsg_len() to get message payload length\n  audit: use memset instead of trying to initialize field by field\n  audit: fix info leak in AUDIT_GET requests\n  audit: update AUDIT_INODE filter rule to comparator function\n  audit: audit feature to set loginuid immutable\n  audit: audit feature to only allow unsetting the loginuid\n  audit: allow unsetting the loginuid (with priv)\n  audit: remove CONFIG_AUDIT_LOGINUID_IMMUTABLE\n  audit: loginuid functions coding style\n  selinux: apply selinux checks on new audit message types\n  ...\n"
    },
    {
      "commit": "76ae281f6307331aa063288edb6422ae99f435f0",
      "tree": "4e26896b837b1c22009039f4f8a78dbc2b8500e8",
      "parents": [
        "527d1511310a89650000081869260394e20c7013"
      ],
      "author": {
        "name": "Junxiao Bi",
        "email": "junxiao.bi@oracle.com",
        "time": "Thu Nov 21 14:31:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 21 16:42:27 2013 -0800"
      },
      "message": "configfs: fix race between dentry put and lookup\n\nA race window in configfs, it starts from one dentry is UNHASHED and end\nbefore configfs_d_iput is called.  In this window, if a lookup happen,\nsince the original dentry was UNHASHED, so a new dentry will be\nallocated, and then in configfs_attach_attr(), sd-\u003es_dentry will be\nupdated to the new dentry.  Then in configfs_d_iput(),\nBUG_ON(sd-\u003es_dentry !\u003d dentry) will be triggered and system panic.\n\nsys_open:                     sys_close:\n ...                           fput\n                                dput\n                                 dentry_kill\n                                  __d_drop \u003c--- dentry unhashed here,\n                                           but sd-\u003edentry still point\n                                           to this dentry.\n\n lookup_real\n  configfs_lookup\n   configfs_attach_attr---\u003e update sd-\u003es_dentry\n                            to new allocated dentry here.\n\n                                   d_kill\n                                     configfs_d_iput \u003c--- BUG_ON(sd-\u003es_dentry !\u003d dentry)\n                                                     triggered here.\n\nTo fix it, change configfs_d_iput to not update sd-\u003es_dentry if\nsd-\u003es_count \u003e 2, that means there are another dentry is using the sd\nbeside the one that is going to be put.  Use configfs_dirent_lock in\nconfigfs_attach_attr to sync with configfs_d_iput.\n\nWith the following steps, you can reproduce the bug.\n\n1. enable ocfs2, this will mount configfs at /sys/kernel/config and\n   fill configure in it.\n\n2. run the following script.\n\twhile [ 1 ]; do cat /sys/kernel/config/cluster/$your_cluster_name/idle_timeout_ms \u003e /dev/null; done \u0026\n\twhile [ 1 ]; do cat /sys/kernel/config/cluster/$your_cluster_name/idle_timeout_ms \u003e /dev/null; done \u0026\n\nSigned-off-by: Junxiao Bi \u003cjunxiao.bi@oracle.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea0341e071527d5cec350917b01ab901af09d758",
      "tree": "93897b0b02f7d689334e77915e111d8ba4a0b9ba",
      "parents": [
        "e3c4269d139db7471ee560fb30948179e180b3d4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 21 18:47:57 2013 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 21 18:47:57 2013 +0000"
      },
      "message": "GFS2: Fix ref count bug relating to atomic_open\n\nIn the case that atomic_open calls finish_no_open() with\nthe dentry that was supplied to gfs2_atomic_open() an\nextra reference count is required. This patch fixes that\nissue preventing a bug trap triggering at umount time.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e3c4269d139db7471ee560fb30948179e180b3d4",
      "tree": "667d0743b7942e023b15b687714c3015fce2e868",
      "parents": [
        "527d1511310a89650000081869260394e20c7013"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "mina86@mina86.com",
        "time": "Tue Nov 12 13:30:05 2013 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 21 09:55:45 2013 +0000"
      },
      "message": "GFS2: fix potential NULL pointer dereference\n\nCommit [e66cf1610: GFS2: Use lockref for glocks] replaced call:\n    atomic_read(\u0026gi-\u003egl-\u003egl_ref) \u003d\u003d 0\nwith:\n    __lockref_is_dead(\u0026gl-\u003egl_lockref)\ntherefore changing how gl is accessed, from gi-\u003egl to plan gl.\nHowever, gl can be a NULL pointer, and so gi-\u003egl needs to be\nused instead (which is guaranteed not to be NULL because fo\nthe while loop checking that condition).\n\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4204617d142c0887e45fda2562cb5c58097b918e",
      "tree": "67624f01d872dbdecf4f555c04cacee9149f5673",
      "parents": [
        "475bf36ffba2ad18631865a2429468dc6c7ea919"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Wed Nov 20 14:32:34 2013 +0100"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:49:09 2013 -0500"
      },
      "message": "btrfs: update kconfig help text\n\nReflect the current status. Portions of the text taken from the\nwiki pages.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "475bf36ffba2ad18631865a2429468dc6c7ea919",
      "tree": "f7e0f94e4def76598b66861e9a9820b9ab86517d",
      "parents": [
        "4cd8587ce8fb79e49d1d6d1fc065f056188fb86a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Nov 18 22:13:18 2013 +0900"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:48:44 2013 -0500"
      },
      "message": "btrfs: fix bio_size_ok() for max_sectors \u003e 0xffff\n\nThe data type of max_sectors in queue settings is unsigned int.  But\nthis value is stored to the local variable whose type is unsigned short\nin bio_size_ok().  This can cause unexpected result when max_sectors \u003e\n0xffff.\n\nCc: Chris Mason \u003cchris.mason@fusionio.com\u003e\nCc: linux-btrfs@vger.kernel.org\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "4cd8587ce8fb79e49d1d6d1fc065f056188fb86a",
      "tree": "3139157ec70bf16dcc5a436eccd743d41397dc5e",
      "parents": [
        "52a157592140ac76d9f15637543aecc2100f95cb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Nov 14 22:57:29 2013 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:47 2013 -0500"
      },
      "message": "btrfs: Use trace condition for get_extent tracepoint\n\nDoing an if statement to test some condition to know if we should\ntrigger a tracepoint is pointless when tracing is disabled. This just\nadds overhead and wastes a branch prediction. This is why the\nTRACE_EVENT_CONDITION() was created. It places the check inside the jump\nlabel so that the branch does not happen unless tracing is enabled.\n\nThat is, instead of doing:\n\n\tif (em)\n\t\ttrace_btrfs_get_extent(root, em);\n\nWhich is basically this:\n\n\tif (em)\n\t\tif (static_key(trace_btrfs_get_extent)) {\n\nUsing a TRACE_EVENT_CONDITION() we can just do:\n\n\ttrace_btrfs_get_extent(root, em);\n\nAnd the condition trace event will do:\n\n\tif (static_key(trace_btrfs_get_extent)) {\n\t\tif (em) {\n\t\t\t...\n\nThe static key is a non conditional jump (or nop) that is faster than\nhaving to check if em is NULL or not.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "52a157592140ac76d9f15637543aecc2100f95cb",
      "tree": "6987d2223f14b4c81e0c405c87306a08793c8eb2",
      "parents": [
        "931aa87791af46640a46b11fa503a119e36943ec"
      ],
      "author": {
        "name": "Anand Jain",
        "email": "Anand.Jain@oracle.com",
        "time": "Thu Nov 14 19:52:44 2013 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:47 2013 -0500"
      },
      "message": "btrfs: fix typo in the log message\n\nSigned-off-by: Anand Jain \u003canand.jain@oracle.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "931aa87791af46640a46b11fa503a119e36943ec",
      "tree": "3ed597a39b892e6c1034f0e1e6777e4c2660b4e2",
      "parents": [
        "56d140f5f61d3547dcc194de9cd5193b957b8016"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 14 17:33:21 2013 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:46 2013 -0500"
      },
      "message": "Btrfs: fix list delete warning when removing ordered root from the list\n\nCommit b02441999efcc6152b87cd58e7970bb7843f76cf \"Btrfs: don\u0027t wait for\nthe completion of all the ordered extents\" introduced a bug that broke\nthe ordered root list:\n WARNING: CPU: 1 PID: 7119 at lib/list_debug.c:59 __list_del_entry+0x5a/0x98()\n\nIt is because we forgot to return the roots in the splice list to the\nordered list of the fs. Fix it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "56d140f5f61d3547dcc194de9cd5193b957b8016",
      "tree": "191115bf14b8f9635c059d625e62caaa9d1a016c",
      "parents": [
        "9650e05c071fc92e704d4359d59e3ac3ecae2875"
      ],
      "author": {
        "name": "Stefan Behrens",
        "email": "sbehrens@giantdisaster.de",
        "time": "Wed Nov 13 17:19:08 2013 +0100"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:46 2013 -0500"
      },
      "message": "Btrfs: print bytenr instead of page pointer in check-int\n\nThe page pointer information was useless. The bytenr is what you\nwant when you search for submitted write bios.\n\nAdditionally, a new bit in the print mask is added that allows\nto selectively enable the check-int submit_bio verbose mode. Before,\nthe global verbose mode had to be enabled leading to many million\nuseless lines in the kernel log.\n\nAnd a comment is added that explains that LOG_BUF_SHIFT needs to\nbe set to a really high value.\n\nSigned-off-by: Stefan Behrens \u003csbehrens@giantdisaster.de\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "9650e05c071fc92e704d4359d59e3ac3ecae2875",
      "tree": "0af1ac90a4454c3b8718c81e9c42f8804d4b31ef",
      "parents": [
        "b52abf1e3b65b4fbd42b39412e040b561faec6a6"
      ],
      "author": {
        "name": "Wang Shilong",
        "email": "wangsl.fnst@cn.fujitsu.com",
        "time": "Tue Nov 12 19:32:04 2013 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:45 2013 -0500"
      },
      "message": "Btrfs: remove dead codes from ctree.h\n\nThese two functions are only stated but undefined.\n\nSigned-off-by: Wang Shilong \u003cwangsl.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "b52abf1e3b65b4fbd42b39412e040b561faec6a6",
      "tree": "3cf4063b81a42bec54879a8c893495682ac6c097",
      "parents": [
        "b1a06a4b574996692b72b742bf6e6aa0c711a948"
      ],
      "author": {
        "name": "Filipe David Borba Manana",
        "email": "fdmanana@gmail.com",
        "time": "Wed Nov 06 15:12:40 2013 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:45 2013 -0500"
      },
      "message": "Btrfs: don\u0027t wait for ordered data outside desired range\n\nIn btrfs_wait_ordered_range(), if we found an extent to the left\nof the start of our desired wait range and the last byte of that\nextent is 1 less than the desired range\u0027s start, we would would\nwait for the IO completion of that extent unnecessarily.\n\nSigned-off-by: Filipe David Borba Manana \u003cfdmanana@gmail.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "b1a06a4b574996692b72b742bf6e6aa0c711a948",
      "tree": "f0e2f227b9e0e60d28be678ad470382219c0f263",
      "parents": [
        "d52c1bcc647ca41ee563bc38d8231e5f3816112c"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "bo.li.liu@oracle.com",
        "time": "Wed Nov 06 16:57:55 2013 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:44:44 2013 -0500"
      },
      "message": "Btrfs: fix lockdep error in async commit\n\nLockdep complains about btrfs\u0027s async commit:\n\n[ 2372.462171] [ BUG: bad unlock balance detected! ]\n[ 2372.462191] 3.12.0+ #32 Tainted: G        W\n[ 2372.462209] -------------------------------------\n[ 2372.462228] ceph-osd/14048 is trying to release lock (sb_internal) at:\n[ 2372.462275] [\u003cffffffffa022cb10\u003e] btrfs_commit_transaction_async+0x1b0/0x2a0 [btrfs]\n[ 2372.462305] but there are no more locks to release!\n[ 2372.462324]\n[ 2372.462324] other info that might help us debug this:\n[ 2372.462349] no locks held by ceph-osd/14048.\n[ 2372.462367]\n[ 2372.462367] stack backtrace:\n[ 2372.462386] CPU: 2 PID: 14048 Comm: ceph-osd Tainted: G        W    3.12.0+ #32\n[ 2372.462414] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015  11/09/2011\n[ 2372.462455]  ffffffffa022cb10 ffff88007490fd28 ffffffff816f094a ffff8800378aa320\n[ 2372.462491]  ffff88007490fd50 ffffffff810adf4c ffff8800378aa320 ffff88009af97650\n[ 2372.462526]  ffffffffa022cb10 ffff88007490fd88 ffffffff810b01ee ffff8800898c0000\n[ 2372.462562] Call Trace:\n[ 2372.462584]  [\u003cffffffffa022cb10\u003e] ? btrfs_commit_transaction_async+0x1b0/0x2a0 [btrfs]\n[ 2372.462619]  [\u003cffffffff816f094a\u003e] dump_stack+0x45/0x56\n[ 2372.462642]  [\u003cffffffff810adf4c\u003e] print_unlock_imbalance_bug+0xec/0x100\n[ 2372.462677]  [\u003cffffffffa022cb10\u003e] ? btrfs_commit_transaction_async+0x1b0/0x2a0 [btrfs]\n[ 2372.462710]  [\u003cffffffff810b01ee\u003e] lock_release+0x18e/0x210\n[ 2372.462742]  [\u003cffffffffa022cb36\u003e] btrfs_commit_transaction_async+0x1d6/0x2a0 [btrfs]\n[ 2372.462783]  [\u003cffffffffa025a7ce\u003e] btrfs_ioctl_start_sync+0x3e/0xc0 [btrfs]\n[ 2372.462822]  [\u003cffffffffa025f1d3\u003e] btrfs_ioctl+0x4c3/0x1f70 [btrfs]\n[ 2372.462849]  [\u003cffffffff812c0321\u003e] ? avc_has_perm+0x121/0x1b0\n[ 2372.462873]  [\u003cffffffff812c0224\u003e] ? avc_has_perm+0x24/0x1b0\n[ 2372.462897]  [\u003cffffffff8107ecc8\u003e] ? sched_clock_cpu+0xa8/0x100\n[ 2372.462922]  [\u003cffffffff8117b145\u003e] do_vfs_ioctl+0x2e5/0x4e0\n[ 2372.462946]  [\u003cffffffff812c19e6\u003e] ? file_has_perm+0x86/0xa0\n[ 2372.462969]  [\u003cffffffff8117b3c1\u003e] SyS_ioctl+0x81/0xa0\n[ 2372.462991]  [\u003cffffffff817045a4\u003e] tracesys+0xdd/0xe2\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nIt\u0027s because that we don\u0027t do the right thing when checking if it\u0027s ok to\ntell lockdep that we\u0027re trying to release the rwsem.\n\nIf the trans handle\u0027s type is TRANS_ATTACH, we won\u0027t acquire the freeze rwsem, but\nas TRANS_ATTACH fits the check (trans \u003c TRANS_JOIN_NOLOCK), we\u0027ll release the freeze\nrwsem, which makes lockdep complains a lot.\n\nReported-by: Ma Jianpeng \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: Liu Bo \u003cbo.li.liu@oracle.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "d52c1bcc647ca41ee563bc38d8231e5f3816112c",
      "tree": "2698bcd9e7271f268834108e20ecbc985d188805",
      "parents": [
        "ba69994a40b242bef26ab2683ea84aa29e2e429f"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "bo.li.liu@oracle.com",
        "time": "Tue Nov 05 11:45:53 2013 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:42:16 2013 -0500"
      },
      "message": "Btrfs: avoid heavy operations in btrfs_commit_super\n\nThe \u0027git blame\u0027 history shows that, the old transaction commit code has to do\ntwice to ensure roots are updated and we have to flush metadata and super block\nmanually, however, right now all of these can be handled well inside\nthe transaction commit code without extra efforts.\n\nAnd the error handling part remains same with the current code, -- \u0027return to\ncaller once we get error\u0027.\n\nThis saves us a transaction commit and a flush of super block, which are both\nheavy operations according to ftrace output analysis.\n\nSigned-off-by: Liu Bo \u003cbo.li.liu@oracle.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "ba69994a40b242bef26ab2683ea84aa29e2e429f",
      "tree": "9a2b0597ce5668821472606355f41cee8fd10f05",
      "parents": [
        "908960c6c0fb3b3ce3971dc0ca47b581d256b968"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Sun Nov 03 19:06:40 2013 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:42:11 2013 -0500"
      },
      "message": "Btrfs: fix __btrfs_start_workers retval\n\n__btrfs_start_workers returns 0 in case it raced with\nbtrfs_stop_workers and lost the race.  This is wrong because worker in\nthis case is not allowed to start and is in fact destroyed.  Return\n-EINVAL instead.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "908960c6c0fb3b3ce3971dc0ca47b581d256b968",
      "tree": "442d6f6c9dd6e5f10225a09a5b6bfadf07ec4729",
      "parents": [
        "33ef30add16905f99bbe799ee5ccea15ba497803"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Sun Nov 03 19:06:39 2013 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:42:05 2013 -0500"
      },
      "message": "Btrfs: disable online raid-repair on ro mounts\n\nThis disables the \"if needed, write the good copy back before the read\nis completed\" part of the read sequence for read-only mounts.\n\nCc: Jan Schmidt \u003clist.btrfs@jan-o-sch.net\u003e\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "33ef30add16905f99bbe799ee5ccea15ba497803",
      "tree": "8340a2d3838b999c63e68a92b7efa28b9403fc5b",
      "parents": [
        "d006a04816a306995cd9d394079652a7462f81f8"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Sun Nov 03 19:06:38 2013 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:41:38 2013 -0500"
      },
      "message": "Btrfs: do not inc uncorrectable_errors counter on ro scrubs\n\nCurrently if we discover an error when scrubbing in ro mode we a)\nblindly increment the uncorrectable_errors counter, and b) spam the\ndmesg with the \u0027unable to fixup (regular) error at ...\u0027 message, even\nthough a) we haven\u0027t tried to determine if the error is correctable or\nnot, and b) we haven\u0027t tried to fixup anything.  Fix this.\n\nCc: Stefan Behrens \u003csbehrens@giantdisaster.de\u003e\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "d006a04816a306995cd9d394079652a7462f81f8",
      "tree": "dadb038189ee9e2e2ea582bf6014f1a48c19239c",
      "parents": [
        "6cfab851f42edcfa72763b3cb8dc26b8fd74e203"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@fusionio.com",
        "time": "Tue Nov 12 20:54:09 2013 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:41:32 2013 -0500"
      },
      "message": "Btrfs: only drop modified extents if we logged the whole inode\n\nIf we fsync, seek and write, rename and then fsync again we will lose the\nmodified hole extent because the rename will drop all of the modified extents\nsince we didn\u0027t do the fast search.  We need to only drop the modified extents\nif we didn\u0027t do the fast search and we were logging the entire inode as we don\u0027t\nneed them anymore, otherwise this is being premature.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "6cfab851f42edcfa72763b3cb8dc26b8fd74e203",
      "tree": "e3566395bc5ae3d0812c491ec80ca1d484c0d7a0",
      "parents": [
        "4724b106b9b8e8b802ca6f6d8a2f74feb8a3c375"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@fusionio.com",
        "time": "Tue Nov 12 16:25:58 2013 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:41:24 2013 -0500"
      },
      "message": "Btrfs: make sure to copy everything if we rename\n\nIf we rename a file that is already in the log and we fsync again we will lose\nthe new name.  This is because we just log the inode update and not the new ref.\nTo fix this we just need to check if we are logging the new name of the inode\nand copy all the metadata instead of just updating the inode itself.  With this\npatch my testcase now passes.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "4724b106b9b8e8b802ca6f6d8a2f74feb8a3c375",
      "tree": "9c96c1bb9e62c5511a6df7f8b3bda18e6cded054",
      "parents": [
        "54563d41a58be77e9bd9ef7af1ea4026cf0e7e07"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@fusionio.com",
        "time": "Tue Nov 05 11:11:40 2013 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Wed Nov 20 20:41:16 2013 -0500"
      },
      "message": "Btrfs: don\u0027t BUG_ON() if we get an error walking backrefs\n\nWe can just return false for this so we stop doing the snapshot aware defrag\nstuff.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "af2e2f328052082f58f041d574ed50c7f21c598f",
      "tree": "aad7fdd9fe6f3016596b1be8098eaaaa7e0a85f7",
      "parents": [
        "8b2e9b712f6139df9c754af0d67fecc4bbc88545",
        "ed4f381ec15e5f11724cdbc68cffd2c22d1eaebd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:51:37 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:51:37 2013 -0800"
      },
      "message": "Merge tag \u0027squashfs-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-next\n\nPull squashfs updates from Phillip Lougher:\n \"These patches optionally improve the multi-threading peformance of\n  Squashfs by adding parallel decompression, and direct decompression\n  into the page cache, eliminating an intermediate buffer (removing\n  memcpy overhead and lock contention)\"\n\n* tag \u0027squashfs-updates\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-next:\n  Squashfs: Check stream is not NULL in decompressor_multi.c\n  Squashfs: Directly decompress into the page cache for file data\n  Squashfs: Restructure squashfs_readpage()\n  Squashfs: Generalise paging handling in the decompressors\n  Squashfs: add multi-threaded decompression using percpu variable\n  squashfs: Enhance parallel I/O\n  Squashfs: Refactor decompressor interface and code\n"
    },
    {
      "commit": "b5898cd057001336888b6aff601385b5f5e79b01",
      "tree": "80f456b6b879c84800f7006e98b29e9c6bdd3831",
      "parents": [
        "2a46eed54a28c1e3de701ca4237ce4f8bebf14c6",
        "31dec1327e377b6d91a8a6c92b5cd8513939a233"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:25:39 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 14:25:39 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs bits and pieces from Al Viro:\n \"Assorted bits that got missed in the first pull request + fixes for a\n  couple of coredump regressions\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fold try_to_ascend() into the sole remaining caller\n  dcache.c: get rid of pointless macros\n  take read_seqbegin_or_lock() and friends to seqlock.h\n  consolidate simple -\u003ed_delete() instances\n  gfs2: endianness misannotations\n  dump_emit(): use __kernel_write(), not vfs_write()\n  dump_align(): fix the dumb braino\n"
    },
    {
      "commit": "5a1efc6e68a095917277459091fafba6a6baef17",
      "tree": "9f3d9b14893689cee1b7918e51b15ca135f6563a",
      "parents": [
        "6d6e352c80f22c446d933ca8103e02bac1f09129",
        "01b983c9fcfeea5774ca2df2e167b68c3c299278"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:06:20 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 20 13:06:20 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block IO fixes from Jens Axboe:\n \"Normally I\u0027d defer my initial for-linus pull request until after the\n  merge window, but a race was uncovered in the virtio-blk conversion to\n  blk-mq that could cause hangs.  So here\u0027s a small collection of fixes\n  for you to pull:\n\n   - The fix for the virtio-blk IO hang reported by Dave Chinner, from\n     Shaohua and myself.\n\n   - Add the Insert blktrace event for blk-mq.  This makes \u0027btt\u0027 happy\n     when it is doing it\u0027s state transition analysis.\n\n   - Ensure that blk-mq has disk/partition stats enabled by default,\n     instead of making it opt-in.\n\n   - A fix for __bio_add_page() and large sector counts\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  blk-mq: add blktrace insert event trace\n  virtio-blk: virtqueue_kick() must be ordered with other virtqueue operations\n  blk-mq: ensure that we set REQ_IO_STAT so diskstats work\n  bio: fix argument of __bio_add_page() for max_sectors \u003e 0xffff\n"
    },
    {
      "commit": "ff1c038addc4f205d5f1ede449426c7d316c0eed",
      "tree": "6beb176bfee8d237bc06586474493f73702f0959",
      "parents": [
        "7d3fb24bce87a240ee5a5f99cdd72b1f336d5c3b"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Nov 19 23:44:46 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Nov 19 23:52:54 2013 -0600"
      },
      "message": "Check SMB3 dialects against downgrade attacks\n\nWhen we are running SMB3 or SMB3.02 connections which are signed\nwe need to validate the protocol negotiation information,\nto ensure that the negotiate protocol response was not tampered with.\n\nAdd the missing FSCTL which is sent at mount time (immediately after\nthe SMB3 Tree Connect) to validate that the capabilities match\nwhat we think the server sent.\n\n\"Secure dialect negotiation is introduced in SMB3 to protect against\nman-in-the-middle attempt to downgrade dialect negotiation.\nThe idea is to prevent an eavesdropper from downgrading the initially\nnegotiated dialect and capabilities between the client and the server.\"\n\nFor more explanation see 2.2.31.4 of MS-SMB2 or\nhttp://blogs.msdn.com/b/openspecification/archive/2012/06/28/smb3-secure-dialect-negotiation.aspx\n\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "ed4f381ec15e5f11724cdbc68cffd2c22d1eaebd",
      "tree": "164317dc8f4526510179bab62e3c53f0f89080b1",
      "parents": [
        "0d455c12c6428647547bacccaaced3cae0f35570"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Sun Nov 10 00:02:29 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:20 2013 +0000"
      },
      "message": "Squashfs: Check stream is not NULL in decompressor_multi.c\n\nFix static checker complaint that stream is not checked in\nsquashfs_decompressor_destroy().\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "0d455c12c6428647547bacccaaced3cae0f35570",
      "tree": "a0c47256d66de9d70942b0d7f9422c8d7d5c5a41",
      "parents": [
        "5f55dbc0c5c466a9cdfa4da7ac1bfe351c7fc52a"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 13 02:04:19 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:13 2013 +0000"
      },
      "message": "Squashfs: Directly decompress into the page cache for file data\n\nThis introduces an implementation of squashfs_readpage_block()\nthat directly decompresses into the page cache.\n\nThis uses the previously added page handler abstraction to push\ndown the necessary kmap_atomic/kunmap_atomic operations on the\npage cache buffers into the decompressors.  This enables\ndirect copying into the page cache without using the slow\nkmap/kunmap calls.\n\nThe code detects when multiple threads are racing in\nsquashfs_readpage() to decompress the same block, and avoids\nthis regression by falling back to using an intermediate\nbuffer.\n\nThis patch enhances the performance of Squashfs significantly\nwhen multiple processes are accessing the filesystem simultaneously\nbecause it not only reduces memcopying, but it more importantly\neliminates the lock contention on the intermediate buffer.\n\nUsing single-thread decompression.\n\n        dd if\u003dfile1 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile2 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile3 of\u003d/dev/null bs\u003d4096 \u0026\n        dd if\u003dfile4 of\u003d/dev/null bs\u003d4096\n\nBefore:\n\n629145600 bytes (629 MB) copied, 45.8046 s, 13.7 MB/s\n\nAfter:\n\n629145600 bytes (629 MB) copied, 9.29414 s, 67.7 MB/s\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "5f55dbc0c5c466a9cdfa4da7ac1bfe351c7fc52a",
      "tree": "dccfe66c090bfd05c75f5d6a1cc31bf138bd76b1",
      "parents": [
        "846b730e99518a1c9945afcb2afbe4d08a02ed80"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Thu Oct 31 19:24:27 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:07 2013 +0000"
      },
      "message": "Squashfs: Restructure squashfs_readpage()\n\nRestructure squashfs_readpage() splitting it into separate\nfunctions for datablocks, fragments and sparse blocks.\n\nMove the memcpying (from squashfs cache entry) implementation of\nsquashfs_readpage_block into file_cache.c\n\nThis allows different implementations to be supported.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "846b730e99518a1c9945afcb2afbe4d08a02ed80",
      "tree": "c70eb16cbec15e5bfa1db80c5f18e062673331a9",
      "parents": [
        "d208383d640727b70cd6689bc17e67e9b5ebf4ff"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Mon Nov 18 02:59:12 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:59:01 2013 +0000"
      },
      "message": "Squashfs: Generalise paging handling in the decompressors\n\nFurther generalise the decompressors by adding a page handler\nabstraction.  This adds helpers to allow the decompressors\nto access and process the output buffers in an implementation\nindependant manner.\n\nThis allows different types of output buffer to be passed\nto the decompressors, with the implementation specific\naspects handled at decompression time, but without the\nknowledge being held in the decompressor wrapper code.\n\nThis will allow the decompressors to handle Squashfs\ncache buffers, and page cache pages.\n\nThis patch adds the abstraction and an implementation for\nthe caches.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "d208383d640727b70cd6689bc17e67e9b5ebf4ff",
      "tree": "03a6146c22473beb13e2ebda605d6a332ddb758b",
      "parents": [
        "cd59c2ec5f37a2bc1315c9324aab6c21d43ffa1a"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Mon Nov 18 02:31:36 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:58:03 2013 +0000"
      },
      "message": "Squashfs: add multi-threaded decompression using percpu variable\n\nAdd a multi-threaded decompression implementation which uses\npercpu variables.\n\nUsing percpu variables has advantages and disadvantages over\nimplementations which do not use percpu variables.\n\nAdvantages:\n  * the nature of percpu variables ensures decompression is\n    load-balanced across the multiple cores.\n  * simplicity.\n\nDisadvantages: it limits decompression to one thread per core.\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\n"
    },
    {
      "commit": "cd59c2ec5f37a2bc1315c9324aab6c21d43ffa1a",
      "tree": "10c3dca3e50bdc1f58f025f02cd85a2bfd8d3420",
      "parents": [
        "9508c6b90b3f57ecea4e7a896cf8325400fc0c6e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan@kernel.org",
        "time": "Mon Oct 28 14:26:30 2013 +0900"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:35:18 2013 +0000"
      },
      "message": "squashfs: Enhance parallel I/O\n\nNow squashfs have used for only one stream buffer for decompression\nso it hurts parallel read performance so this patch supports\nmultiple decompressor to enhance performance parallel I/O.\n\nFour 1G file dd read on KVM machine which has 2 CPU and 4G memory.\n\ndd if\u003dtest/test1.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test2.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test3.dat of\u003d/dev/null \u0026\ndd if\u003dtest/test4.dat of\u003d/dev/null \u0026\n\nold : 1m39s -\u003e new : 9s\n\n* From v1\n  * Change comp_strm with decomp_strm - Phillip\n  * Change/add comments - Phillip\n\nSigned-off-by: Minchan Kim \u003cminchan@kernel.org\u003e\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\n"
    },
    {
      "commit": "9508c6b90b3f57ecea4e7a896cf8325400fc0c6e",
      "tree": "a31589009d7d85d722b52c0ef21838ca6d2888da",
      "parents": [
        "959f58544b7f20c92d5eb43d1232c96c15c01bfb"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 13 02:56:26 2013 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@squashfs.org.uk",
        "time": "Wed Nov 20 03:35:18 2013 +0000"
      },
      "message": "Squashfs: Refactor decompressor interface and code\n\nThe decompressor interface and code was written from\nthe point of view of single-threaded operation.  In doing\nso it mixed a lot of single-threaded implementation specific\naspects into the decompressor code and elsewhere which makes it\ndifficult to seamlessly support multiple different decompressor\nimplementations.\n\nThis patch does the following:\n\n1.  It removes compressor_options parsing from the decompressor\n    init() function.  This allows the decompressor init() function\n    to be dynamically called to instantiate multiple decompressors,\n    without the compressor options needing to be read and parsed each\n    time.\n\n2.  It moves threading and all sleeping operations out of the\n    decompressors.  In doing so, it makes the decompressors\n    non-blocking wrappers which only deal with interfacing with\n    the decompressor implementation.\n\n3. It splits decompressor.[ch] into decompressor generic functions\n   in decompressor.[ch], and moves the single threaded\n   decompressor implementation into decompressor_single.c.\n\nThe result of this patch is Squashfs should now be able to\nsupport multiple decompressors by adding new decompressor_xxx.c\nfiles with specialised implementations of the functions in\ndecompressor_single.c\n\nSigned-off-by: Phillip Lougher \u003cphillip@squashfs.org.uk\u003e\nReviewed-by: Minchan Kim \u003cminchan@kernel.org\u003e\n"
    },
    {
      "commit": "1ee2dcc2245340cf4ac94b99c4d00efbeba61824",
      "tree": "5339e55add987379525177011dde6e3756b1430c",
      "parents": [
        "4457e6f6c9f6052cd5f44a79037108b5ddeb0ce7",
        "091e0662ee2c37867ad918ce7b6ddd17f0e090e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:47 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 19 15:50:47 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n \"Mostly these are fixes for fallout due to merge window changes, as\n  well as cures for problems that have been with us for a much longer\n  period of time\"\n\n 1) Johannes Berg noticed two major deficiencies in our genetlink\n    registration.  Some genetlink protocols we passing in constant\n    counts for their ops array rather than something like\n    ARRAY_SIZE(ops) or similar.  Also, some genetlink protocols were\n    using fixed IDs for their multicast groups.\n\n    We have to retain these fixed IDs to keep existing userland tools\n    working, but reserve them so that other multicast groups used by\n    other protocols can not possibly conflict.\n\n    In dealing with these two problems, we actually now use less state\n    management for genetlink operations and multicast groups.\n\n 2) When configuring interface hardware timestamping, fix several\n    drivers that simply do not validate that the hwtstamp_config value\n    is one the driver actually supports.  From Ben Hutchings.\n\n 3) Invalid memory references in mwifiex driver, from Amitkumar Karwar.\n\n 4) In dev_forward_skb(), set the skb-\u003eprotocol in the right order\n    relative to skb_scrub_packet().  From Alexei Starovoitov.\n\n 5) Bridge erroneously fails to use the proper wrapper functions to make\n    calls to netdev_ops-\u003endo_vlan_rx_{add,kill}_vid.  Fix from Toshiaki\n    Makita.\n\n 6) When detaching a bridge port, make sure to flush all VLAN IDs to\n    prevent them from leaking, also from Toshiaki Makita.\n\n 7) Put in a compromise for TCP Small Queues so that deep queued devices\n    that delay TX reclaim non-trivially don\u0027t have such a performance\n    decrease.  One particularly problematic area is 802.11 AMPDU in\n    wireless.  From Eric Dumazet.\n\n 8) Fix crashes in tcp_fastopen_cache_get(), we can see NULL socket dsts\n    here.  Fix from Eric Dumzaet, reported by Dave Jones.\n\n 9) Fix use after free in ipv6 SIT driver, from Willem de Bruijn.\n\n10) When computing mergeable buffer sizes, virtio-net fails to take the\n    virtio-net header into account.  From Michael Dalton.\n\n11) Fix seqlock deadlock in ip4_datagram_connect() wrt.  statistic\n    bumping, this one has been with us for a while.  From Eric Dumazet.\n\n12) Fix NULL deref in the new TIPC fragmentation handling, from Erik\n    Hugne.\n\n13) 6lowpan bit used for traffic classification was wrong, from Jukka\n    Rissanen.\n\n14) macvlan has the same issue as normal vlans did wrt.  propagating LRO\n    disabling down to the real device, fix it the same way.  From Michal\n    Kubecek.\n\n15) CPSW driver needs to soft reset all slaves during suspend, from\n    Daniel Mack.\n\n16) Fix small frame pacing in FQ packet scheduler, from Eric Dumazet.\n\n17) The xen-netfront RX buffer refill timer isn\u0027t properly scheduled on\n    partial RX allocation success, from Ma JieYue.\n\n18) When ipv6 ping protocol support was added, the AF_INET6 protocol\n    initialization cleanup path on failure was borked a little.  Fix\n    from Vlad Yasevich.\n\n19) If a socket disconnects during a read/recvmsg/recvfrom/etc that\n    blocks we can do the wrong thing with the msg_name we write back to\n    userspace.  From Hannes Frederic Sowa.  There is another fix in the\n    works from Hannes which will prevent future problems of this nature.\n\n20) Fix route leak in VTI tunnel transmit, from Fan Du.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (106 commits)\n  genetlink: make multicast groups const, prevent abuse\n  genetlink: pass family to functions using groups\n  genetlink: add and use genl_set_err()\n  genetlink: remove family pointer from genl_multicast_group\n  genetlink: remove genl_unregister_mc_group()\n  hsr: don\u0027t call genl_unregister_mc_group()\n  quota/genetlink: use proper genetlink multicast APIs\n  drop_monitor/genetlink: use proper genetlink multicast APIs\n  genetlink: only pass array to genl_register_family_with_ops()\n  tcp: don\u0027t update snd_nxt, when a socket is switched from repair mode\n  atm: idt77252: fix dev refcnt leak\n  xfrm: Release dst if this dst is improper for vti tunnel\n  netlink: fix documentation typo in netlink_set_err()\n  be2net: Delete secondary unicast MAC addresses during be_close\n  be2net: Fix unconditional enabling of Rx interface options\n  net, virtio_net: replace the magic value\n  ping: prevent NULL pointer dereference on write to msg_name\n  bnx2x: Prevent \"timeout waiting for state X\"\n  bnx2x: prevent CFC attention\n  bnx2x: Prevent panic during DMAE timeout\n  ...\n"
    },
    {
      "commit": "365da4adebb1c012febf81019ad3dc5bb52e2a13",
      "tree": "f538139477c4104f66321c0446e57332fed6289c",
      "parents": [
        "987da4791052fa298b7cfcde4dea9f6f2bbc786b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 19 17:32:43 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 19 18:06:54 2013 -0500"
      },
      "message": "nfsd4: fix xdr decoding of large non-write compounds\n\nThis fixes a regression from 247500820ebd02ad87525db5d9b199e5b66f6636\n\"nfsd4: fix decoding of compounds across page boundaries\".  The previous\ncode was correct: argp-\u003epagelist is initialized in\nnfs4svc_deocde_compoundargs to rqstp-\u003erq_arg.pages, and is therefore a\npointer to the page *after* the page we are currently decoding.\n\nThe reason that patch nevertheless fixed a problem with decoding\ncompounds containing write was a bug in the write decoding introduced by\n5a80a54d21c96590d013378d8c5f65f879451ab4 \"nfsd4: reorganize write\ndecoding\", after which write decoding no longer adhered to the rule that\nargp-\u003epagelist point to the next page.\n\nCc: stable@vger.kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ddb8c45ba15149ebd41d7586261c05f7ca37f9a1",
      "tree": "2dace4cd25760745f94767308f8f846a702f828b",
      "parents": [
        "d558023207e008a4476a3b7bb8706b2a2bf5d84f"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Tue Nov 19 17:33:03 2013 -0500"
      },
      "committer": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Nov 19 17:40:48 2013 -0500"
      },
      "message": "aio: nullify aio-\u003ering_pages after freeing it\n\nAfter freeing ring_pages we leave it as is causing a dangling pointer. This\nhas already caused an issue so to help catching any issues in the future\nNULL it out.\n\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\n"
    },
    {
      "commit": "d558023207e008a4476a3b7bb8706b2a2bf5d84f",
      "tree": "3099defaf443113295568a51fe6bbab72b34542c",
      "parents": [
        "13fd8a5dc3cfaf0699262a3b5ad4898752fe64da"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Tue Nov 19 17:33:02 2013 -0500"
      },
      "committer": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Nov 19 17:40:48 2013 -0500"
      },
      "message": "aio: prevent double free in ioctx_alloc\n\nioctx_alloc() calls aio_setup_ring() to allocate a ring. If aio_setup_ring()\nfails to do so it would call aio_free_ring() before returning, but\nioctx_alloc() would call aio_free_ring() again causing a double free of\nthe ring.\n\nThis is easily reproducible from userspace.\n\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\n"
    },
    {
      "commit": "2a94fe48f32ccf7321450a2cc07f2b724a444e5b",
      "tree": "e5a066d8f83d8822d448421019a4503f361295f9",
      "parents": [
        "68eb55031da7c967d954e5f9415cd05f4abdb692"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:39 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: make multicast groups const, prevent abuse\n\nRegister generic netlink multicast groups as an array with\nthe family and give them contiguous group IDs. Then instead\nof passing the global group ID to the various functions that\nsend messages, pass the ID relative to the family - for most\nfamilies that\u0027s just 0 because the only have one group.\n\nThis avoids the list_head and ID in each group, adding a new\nfield for the mcast group ID offset to the family.\n\nAt the same time, this allows us to prevent abusing groups\nagain like the quota and dropmon code did, since we can now\ncheck that a family only uses a group it owns.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68eb55031da7c967d954e5f9415cd05f4abdb692",
      "tree": "75751944b0c808ba191bcc6a752389593c41e805",
      "parents": [
        "62b68e99faa802352e9cb2ae91adecd8dfddf1b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:38 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:06 2013 -0500"
      },
      "message": "genetlink: pass family to functions using groups\n\nThis doesn\u0027t really change anything, but prepares for the\nnext patch that will change the APIs to pass the group ID\nwithin the family, rather than the global group ID.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ecf7536b2787580616d23b6507005d930975ca0",
      "tree": "050b07aaf96d86a83ed42c34511a3f28e1c0d1d4",
      "parents": [
        "e5dcecba015f9774a402ba559b80b16999747e3b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:33 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:05 2013 -0500"
      },
      "message": "quota/genetlink: use proper genetlink multicast APIs\n\nThe quota code is abusing the genetlink API and is using\nits family ID as the multicast group ID, which is invalid\nand may belong to somebody else (and likely will.)\n\nMake the quota code use the correct API, but since this\nis already used as-is by userspace, reserve a family ID\nfor this code and also reserve that group ID to not break\nuserspace assumptions.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c53ed7423619b4e8108914a9f31b426dd58ad591",
      "tree": "03a469a7f00d99ff73bf947b5306369bfaff18f5",
      "parents": [
        "dbde497966804e63a38fdedc1e3815e77097efc2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Nov 19 15:19:31 2013 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 19 16:39:05 2013 -0500"
      },
      "message": "genetlink: only pass array to genl_register_family_with_ops()\n\nAs suggested by David Miller, make genl_register_family_with_ops()\na macro and pass only the array, evaluating ARRAY_SIZE() in the\nmacro, this is a little safer.\n\nThe openvswitch has some indirection, assing ops/n_ops directly in\nthat code. This might ultimately just assign the pointers in the\nfamily initializations, saving the struct genl_family_and_ops and\ncode (once mcast groups are handled differently.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "801a76050bcf8d4e500eb8d048ff6265f37a61c8",
      "tree": "261258d2a4f61f07f238c18ea1087fca6eea9947",
      "parents": [
        "27b5c3f3cc9c5ce0702db1cca718c827e8b689e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Tue Nov 19 01:20:43 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 18 19:07:53 2013 -0800"
      },
      "message": "seq_file: always clear m-\u003ecount when we free m-\u003ebuf\n\nOnce we\u0027d freed m-\u003ebuf, m-\u003ecount should become zero - we have no valid\ncontents reachable via m-\u003ebuf.\n\nReported-by: Charley (Hao Chuan) Chu \u003ccharley.chu@broadcom.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d3fb24bce87a240ee5a5f99cdd72b1f336d5c3b",
      "tree": "07a67270e46fe74cee51e8f3aedab53dabc10637",
      "parents": [
        "9bf0c9cd431440a831e60c0a0fd0bc4f0e083e7f"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Nov 18 09:56:28 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Nov 18 17:24:24 2013 -0600"
      },
      "message": "Removed duplicated (and unneeded) goto\n\nRemove an unneeded goto (and also was duplicated goto target name).\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "9bf0c9cd431440a831e60c0a0fd0bc4f0e083e7f",
      "tree": "833a8a13c0b53c23ebbab98825e42f7f9d692fc4",
      "parents": [
        "2d3c627502f2a9b0a7de06a5a2df2365542a72c9"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Sat Nov 16 18:05:28 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Nov 18 17:24:14 2013 -0600"
      },
      "message": "CIFS: Fix SMB2/SMB3 Copy offload support (refcopy) for large files\n\nThis third version of the patch, incorparating feedback from David Disseldorp\nextends the ability of copychunk (refcopy) over smb2/smb3 mounts to\nhandle servers with smaller than usual maximum chunk sizes\nand also fixes it to handle files bigger than the maximum chunk sizes\n\nIn the future this can be extended further to handle sending\nmultiple chunk requests in on SMB2 ioctl request which will\nfurther improve performance, but even with one 1MB chunk per\nrequest the speedup on cp is quite large.\n\nReviewed-by: David Disseldorp \u003cddiss@samba.org\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "34f2fd8dfe6185b0eaaf7d661281713a6170b077",
      "tree": "c33d3575e41db4350bce9e6f30d684ce735bebaf",
      "parents": [
        "2d3c627502f2a9b0a7de06a5a2df2365542a72c9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Nov 18 22:11:42 2013 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Nov 18 12:31:27 2013 -0700"
      },
      "message": "bio: fix argument of __bio_add_page() for max_sectors \u003e 0xffff\n\nThe data type of max_sectors and max_hw_sectors in queue settings are\nunsigned int.  But these values are passed to __bio_add_page() as an\nargument whose data type is unsigned short.  In the worst case such as\nmax_sectors is 0x10000, bio_add_page() can\u0027t add a page and IOs can\u0027t\nproceed.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "987da4791052fa298b7cfcde4dea9f6f2bbc786b",
      "tree": "8a469919f3990db2f496db44cb6a3d36d32569c4",
      "parents": [
        "818e5a22e907fbae75e9c1fd78233baec9fa64b6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 18 05:07:47 2013 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Nov 18 12:06:48 2013 -0500"
      },
      "message": "nfsd: make sure to balance get/put_write_access\n\nUse a straight goto error label style in nfsd_setattr to make sure\nwe always do the put_write_access call after we got it earlier.\n\nNote that the we have been failing to do that in the case\nnfsd_break_lease() returns an error, a bug introduced into 2.6.38 with\n6a76bebefe15d9a08864f824d7f8d5beaf37c997 \"nfsd4: break lease on nfsd\nsetattr\".\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "818e5a22e907fbae75e9c1fd78233baec9fa64b6",
      "tree": "ef16a881deb91089522a7dba9d658bed01524226",
      "parents": [
        "2d3c627502f2a9b0a7de06a5a2df2365542a72c9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Nov 18 05:07:30 2013 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Nov 18 12:06:47 2013 -0500"
      },
      "message": "nfsd: split up nfsd_setattr\n\nSplit out two helpers to make the code more readable and easier to verify\nfor correctness.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2fe8c1c08b3fbd87dd2641c8f032ff6e965d5803",
      "tree": "6770197965f678c93bbbdbe77914bf7d3268266d",
      "parents": [
        "8f80587bacb6eb893df0ee4e35fefa0dfcfdf9f4"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Nov 01 15:27:17 2013 +1100"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Mon Nov 18 09:42:08 2013 -0600"
      },
      "message": "xfs: open code inc_inode_iversion when logging an inode\n\nMichael L Semon reported that generic/069 runtime increased on v5\nsuperblocks by 100% compared to v4 superblocks. his perf-based\nanalysis pointed directly at the timestamp updates being done by the\nwrite path in this workload. The append writers are doing 4-byte\nwrites, so there are lots of timestamp updates occurring.\n\nThe thing is, they aren\u0027t being triggered by timestamp changes -\nthey are being triggered by the inode change counter needing to be\nupdated. That is, every write(2) system call needs to bump the inode\nversion count, and it does that through the timestamp update\nmechanism. Hence for v5 filesystems, test generic/069 is running 3\norders of magnitude more timestmap update transactions on v5\nfilesystems due to the fact it does a huge number of *4 byte*\nwrite(2) calls.\n\nThis isn\u0027t a real world scenario we really need to address - anyone\ndoing such sequential IO should be using fwrite(3), not write(2).\ni.e. fwrite(3) buffers the writes in userspace to minimise the\nnumber of write(2) syscalls, and the problem goes away.\n\nHowever, there is a small change we can make to improve the\nsituation - removing the expensive lock operation on the change\ncounter update.  All inode version counter changes in XFS occur\nunder the ip-\u003ei_ilock during a transaction, and therefore we\ndon\u0027t actually need the spin lock that provides exclusive access to\nit through inc_inode_iversion().\n\nHence avoid the lock and just open code the increment ourselves when\nlogging the inode.\n\nReported-by: Michael L. Semon \u003cmlsemon35@gmail.com\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "8f80587bacb6eb893df0ee4e35fefa0dfcfdf9f4",
      "tree": "0b1eb078933bbf6f76a240dd21aedc90b967fb21",
      "parents": [
        "9e3908e342eba6684621e616529669c17e271e7e"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Nov 01 15:27:20 2013 +1100"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Mon Nov 18 09:29:36 2013 -0600"
      },
      "message": "xfs: increase inode cluster size for v5 filesystems\n\nv5 filesystems use 512 byte inodes as a minimum, so read inodes in\nclusters that are effectively half the size of a v4 filesystem with\n256 byte inodes. For v5 fielsystems, scale the inode cluster size\nwith the size of the inode so that we keep a constant 32 inodes per\ncluster ratio for all inode IO.\n\nThis only works if mkfs.xfs sets the inode alignment appropriately\nfor larger inode clusters, so this functionality is made conditional\non mkfs doing the right thing. xfs_repair needs to know about\nthe inode alignment changes, too.\n\nWall time:\n\tcreate\tbulkstat\tfind+stat\tls -R\tunlink\nv4\t237s\t161s\t\t173s\t\t201s\t299s\nv5\t235s\t163s\t\t205s\t\t 31s\t356s\npatched\t234s\t160s\t\t182s\t\t 29s\t317s\n\nSystem time:\n\tcreate\tbulkstat\tfind+stat\tls -R\tunlink\nv4\t2601s\t2490s\t\t1653s\t\t1656s\t2960s\nv5\t2637s\t2497s\t\t1681s\t\t  20s\t3216s\npatched\t2613s\t2451s\t\t1658s\t\t  20s\t3007s\n\nSo, wall time same or down across the board, system time same or\ndown across the board, and cache hit rates all improve except for\nthe ls -R case which is a pure cold cache directory read workload\non v5 filesystems...\n\nSo, this patch removes most of the performance and CPU usage\ndifferential between v4 and v5 filesystems on traversal related\nworkloads.\n\nNote: while this patch is currently for v5 filesystems only, there\nis no reason it can\u0027t be ported back to v4 filesystems.  This hasn\u0027t\nbeen done here because bringing the code back to v4 requires\nforwards and backwards kernel compatibility testing.  i.e. to\ndeterine if older kernels(*) do the right thing with larger inode\nalignments but still only using 8k inode cluster sizes. None of this\ntesting and validation on v4 filesystems has been done, so for the\nmoment larger inode clusters is limited to v5 superblocks.\n\n(*) a current default config v4 filesystem should mount just fine on\n2.6.23 (when lazy-count support was introduced), and so if we change\nthe alignment emitted by mkfs without a feature bit then we have to\nmake sure it works properly on all kernels since 2.6.23. And if we\nallow it to be changed when the lazy-count bit is not set, then it\u0027s\nall kernels since v2 logs were introduced that need to be tested for\ncompatibility...\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "9e3908e342eba6684621e616529669c17e271e7e",
      "tree": "1538ff2599edc1523535e6032e91a1146a25bb42",
      "parents": [
        "ec715cacd53f63b21da3a9bc96a9bb4c527e25b1"
      ],
      "author": {
        "name": "Mark Tinguely",
        "email": "tinguely@sgi.com",
        "time": "Thu Nov 07 15:43:28 2013 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Mon Nov 18 09:12:54 2013 -0600"
      },
      "message": "xfs: fix unlock in xfs_bmap_add_attrfork\n\nxfs_trans_ijoin() activates the inode in a transaction and\nalso can specify which lock to free when the transaction is\ncommitted or canceled.\n\nxfs_bmap_add_attrfork call locks and adds the lock to the\ntransaction but also manually removes the lock. Change the\nroutine to not add the lock to the transaction and manually\nremove lock on completion.\n\nWhile here, clean up the xfs_trans_cancel flags and goto names.\n\nSigned-off-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "1213959d4ad2f523290d0d7c94f712edef63852c",
      "tree": "530a5f546b52a5b6e459b8f42d823a3570eb390f",
      "parents": [
        "673fdfe3f0630b03f3854d0361b1232f2e5ef7fb",
        "0cbaa53cdd33080c1e2d67ad9295b83c7954f2b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 16:19:31 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 16:19:31 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull CIFS fixes from Steve French:\n \"A set of cifs fixes most important of which is Pavel\u0027s fix for some\n  problems with handling Windows reparse points and also the security\n  fix for setfacl over a cifs mount to Samba removing part of the ACL.\n  Both of these fixes are for stable as well.\n\n  Also added most of copychunk (copy offload) support to cifs although I\n  expect a final patch in that series (to fix handling of larger files)\n  in a few days (had to hold off on that in order to incorporate some\n  additional code review feedback).\n\n  Also added support for O_DIRECT on forcedirectio mounts (needed in\n  order to run some of the server benchmarks over cifs and smb2/smb3\n  mounts)\"\n\n* \u0027for-linus\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  [CIFS] Warn if SMB3 encryption required by server\n  setfacl removes part of ACL when setting POSIX ACLs to Samba\n  [CIFS] Set copychunk defaults\n  CIFS: SMB2/SMB3 Copy offload support (refcopy) phase 1\n  cifs: Use data structures to compute NTLMv2 response offsets\n  [CIFS] O_DIRECT opens should work on directio mounts\n  cifs: don\u0027t spam the logs on unexpected lookup errors\n  cifs: change ERRnomem error mapping from ENOMEM to EREMOTEIO\n  CIFS: Fix symbolic links usage\n"
    },
    {
      "commit": "673fdfe3f0630b03f3854d0361b1232f2e5ef7fb",
      "tree": "5f1c1374f786c9a9d47bde36387dea8757725238",
      "parents": [
        "73d75ba99e3bdd627275afd3fe48cc933723084b",
        "8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 13:14:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 13:14:56 2013 -0800"
      },
      "message": "Merge tag \u0027nfs-for-3.13-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes:\n - Stable fix for data corruption when retransmitting O_DIRECT writes\n - Stable fix for a deep recursion/stack overflow bug in rpc_release_client\n - Stable fix for infinite looping when mounting a NFSv4.x volume\n - Fix a typo in the nfs mount option parser\n - Allow pNFS layouts to be compiled into the kernel when NFSv4.1 is\n\n* tag \u0027nfs-for-3.13-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  nfs: fix pnfs Kconfig defaults\n  NFS: correctly report misuse of \"migration\" mount option.\n  nfs: don\u0027t retry detect_trunking with RPC_AUTH_UNIX more than once\n  SUNRPC: Avoid deep recursion in rpc_release_client\n  SUNRPC: Fix a data corruption issue when retransmitting RPC calls\n"
    },
    {
      "commit": "449bf8d03c5b94f00cc014ff601c2fe2eebb5a6e",
      "tree": "8f17959c0a20d9ca3061d28036855813c775c783",
      "parents": [
        "ffd3c0260aeeb1fd4d36378d2e06e6410661dd0f",
        "aea240f4162d50e0f2d8bd5ea3ba11b5f072add8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 12:04:02 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 12:04:02 2013 -0800"
      },
      "message": "Merge branch \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n \"This includes miscellaneous bugfixes and cleanup and a performance fix\n  for write-heavy NFSv4 workloads.\n\n  (The most significant nfsd-relevant change this time is actually in\n  the delegation patches that went through Viro, fixing a long-standing\n  bug that can cause NFSv4 clients to miss updates made by non-nfs users\n  of the filesystem.  Those enable some followup nfsd patches which I\n  have queued locally, but those can wait till 3.14)\"\n\n* \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux: (24 commits)\n  nfsd: export proper maximum file size to the client\n  nfsd4: improve write performance with better sendspace reservations\n  svcrpc: remove an unnecessary assignment\n  sunrpc: comment typo fix\n  Revert \"nfsd: remove_stid can be incorporated into nfs4_put_delegation\"\n  nfsd4: fix discarded security labels on setattr\n  NFSD: Add support for NFS v4.2 operation checking\n  nfsd4: nfsd_shutdown_net needs state lock\n  NFSD: Combine decode operations for v4 and v4.1\n  nfsd: -EINVAL on invalid anonuid/gid instead of silent failure\n  nfsd: return better errors to exportfs\n  nfsd: fh_update should error out in unexpected cases\n  nfsd4: need to destroy revoked delegations in destroy_client\n  nfsd: no need to unhash_stid before free\n  nfsd: remove_stid can be incorporated into nfs4_put_delegation\n  nfsd: nfs4_open_delegation needs to remove_stid rather than unhash_stid\n  nfsd: nfs4_free_stid\n  nfsd: fix Kconfig syntax\n  sunrpc: trim off EC bytes in GSSAPI v2 unwrap\n  gss_krb5: document that we ignore sequence number\n  ...\n"
    },
    {
      "commit": "ffd3c0260aeeb1fd4d36378d2e06e6410661dd0f",
      "tree": "b9503b99442b9701fab49a83295e60256827cdd2",
      "parents": [
        "0891ad829d2a0501053703df66029e843e3b8365",
        "54563d41a58be77e9bd9ef7af1ea4026cf0e7e07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 11:57:05 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 16 11:57:05 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs fixes from Chris Mason:\n \"This pull fixes the empty_zero_page bug that Heiko reported, and\n  includes one more cleanup from Al Viro\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  btrfs: get rid of fdentry()\n  btrfs: fix empty_zero_page misusage\n"
    },
    {
      "commit": "0cbaa53cdd33080c1e2d67ad9295b83c7954f2b3",
      "tree": "2980f4a149b80f384ed3de6defabcd2f4974a76e",
      "parents": [
        "b1d93356427be6f050dc55c86eb019d173700af6"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 23:50:24 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 23:50:24 2013 -0600"
      },
      "message": "[CIFS] Warn if SMB3 encryption required by server\n\nWe do not support SMB3 encryption yet, warn if server responds\nthat SMB3 encryption is mandatory.\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "31dec1327e377b6d91a8a6c92b5cd8513939a233",
      "tree": "575b1aa7e37ab0fd8b00c9b756d107232e5aca7e",
      "parents": [
        "482db9066199813d6b999b65a3171afdbec040b6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 25 17:04:27 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:17 2013 -0500"
      },
      "message": "fold try_to_ascend() into the sole remaining caller\n\nThere used to be a bunch of tree-walkers in dcache.c, all alike.\ntry_to_ascend() had been introduced to abstract a piece of logics\nduplicated in all of them.  These days all these tree-walkers are\nimplemented via the same iterator (d_walk()), which is the only\nremaining caller of try_to_ascend(), so let\u0027s fold it back...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "482db9066199813d6b999b65a3171afdbec040b6",
      "tree": "f25a69b86374e500adb7d031f0af00ddb55da632",
      "parents": [
        "2bc74feba12fbf052ec97aee8624c9f13593a9ac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 25 16:41:01 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:17 2013 -0500"
      },
      "message": "dcache.c: get rid of pointless macros\n\nD_HASH{MASK,BITS} are used once each, both in the same function (d_hash()).\nAt this point they are actively misguiding - they imply that values are\ncompiler constants, which is no longer true.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2bc74feba12fbf052ec97aee8624c9f13593a9ac",
      "tree": "411129cf4fe962f1afc2c9bca127d9db0924fbfd",
      "parents": [
        "b26d4cd385fc51e8844e2cdf9ba2051f5bba11a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 25 16:39:14 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:17 2013 -0500"
      },
      "message": "take read_seqbegin_or_lock() and friends to seqlock.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b26d4cd385fc51e8844e2cdf9ba2051f5bba11a5",
      "tree": "fcfa7a889b494945abf5705562c0384f88924f78",
      "parents": [
        "951b4bd553e35a291e6b5732ab0124619e81da05"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 25 18:47:37 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:17 2013 -0500"
      },
      "message": "consolidate simple -\u003ed_delete() instances\n\nRename simple_delete_dentry() to always_delete_dentry() and export it.\nExport simple_dentry_operations, while we are at it, and get rid of\ntheir duplicates\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "951b4bd553e35a291e6b5732ab0124619e81da05",
      "tree": "5c7fbfdae113bdaa5fad571ff365dbceec85627d",
      "parents": [
        "52da40ae67f6192a3bf70a98cb560e1423554953"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 02 19:53:40 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:16 2013 -0500"
      },
      "message": "gfs2: endianness misannotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "52da40ae67f6192a3bf70a98cb560e1423554953",
      "tree": "4a6bcf6b80153bf47b346d921f0502174e170368",
      "parents": [
        "db51242d89b3059a46a3cf2f3339f8cd975cb954"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 21:58:33 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:09 2013 -0500"
      },
      "message": "dump_emit(): use __kernel_write(), not vfs_write()\n\nthe caller has already done file_start_write()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db51242d89b3059a46a3cf2f3339f8cd975cb954",
      "tree": "d687e082dae5df046ece9cc37e72094ace69f9a1",
      "parents": [
        "049ffa8ab33a63b3bff672d1a0ee6a35ad253fe8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 21:55:52 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 15 22:04:09 2013 -0500"
      },
      "message": "dump_align(): fix the dumb braino\n\nMea culpa - original variant used 64-by-32-bit division,\nwhich got caught very late.  Getting rid of that wasn\u0027t\nhard, but I\u0027d managed to botch the calling conventions\nin process ;-/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b1d93356427be6f050dc55c86eb019d173700af6",
      "tree": "70adc3282f8f5fc535aa440f24d5ca695cdc178f",
      "parents": [
        "de9f68df675e9d8b0b6a533818a79dca6546a7ba"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 20:41:32 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 20:50:58 2013 -0600"
      },
      "message": "setfacl removes part of ACL when setting POSIX ACLs to Samba\n\nsetfacl over cifs mounts can remove the default ACL when setting the\n(non-default part of) the ACL and vice versa (we were leaving at 0\nrather than setting to -1 the count field for the unaffected\nhalf of the ACL.  For example notice the setfacl removed\nthe default ACL in this sequence:\n\nsteven@steven-GA-970A-DS3:~/cifs-2.6$ getfacl /mnt/test-dir ; setfacl\n-m default:user:test:rwx,user:test:rwx /mnt/test-dir\ngetfacl: Removing leading \u0027/\u0027 from absolute path names\nuser::rwx\ngroup::r-x\nother::r-x\ndefault:user::rwx\ndefault:user:test:rwx\ndefault:group::r-x\ndefault:mask::rwx\ndefault:other::r-x\n\nsteven@steven-GA-970A-DS3:~/cifs-2.6$ getfacl /mnt/test-dir\ngetfacl: Removing leading \u0027/\u0027 from absolute path names\nuser::rwx\nuser:test:rwx\ngroup::r-x\nmask::rwx\nother::r-x\n\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nAcked-by: Jeremy Allison \u003cjra@samba.org\u003e\n"
    },
    {
      "commit": "9073e1a804c3096eda84ee7cbf11d1f174236c75",
      "tree": "2f1b488b606bc03f8c5ce133f9158196fef07cd2",
      "parents": [
        "4937e2a6f939a41bf811378e80d71f68aa0950c6",
        "2bb9936beac2eed0c1ed907f83694bc752e159d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 16:47:22 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 16:47:22 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree updates from Jiri Kosina:\n \"Usual earth-shaking, news-breaking, rocket science pile from\n  trivial.git\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)\n  doc: usb: Fix typo in Documentation/usb/gadget_configs.txt\n  doc: add missing files to timers/00-INDEX\n  timekeeping: Fix some trivial typos in comments\n  mm: Fix some trivial typos in comments\n  irq: Fix some trivial typos in comments\n  NUMA: fix typos in Kconfig help text\n  mm: update 00-INDEX\n  doc: Documentation/DMA-attributes.txt fix typo\n  DRM: comment: `halve\u0027 -\u003e `half\u0027\n  Docs: Kconfig: `devlopers\u0027 -\u003e `developers\u0027\n  doc: typo on word accounting in kprobes.c in mutliple architectures\n  treewide: fix \"usefull\" typo\n  treewide: fix \"distingush\" typo\n  mm/Kconfig: Grammar s/an/a/\n  kexec: Typo s/the/then/\n  Documentation/kvm: Update cpuid documentation for steal time and pv eoi\n  treewide: Fix common typo in \"identify\"\n  __page_to_pfn: Fix typo in comment\n  Correct some typos for word frequency\n  clk: fixed-factor: Fix a trivial typo\n  ...\n"
    },
    {
      "commit": "de9f68df675e9d8b0b6a533818a79dca6546a7ba",
      "tree": "e9e17a68a2b2c47d357f4945432adfa83634d707",
      "parents": [
        "41c1358e9181ab1ebd773905b3fa8039b61aa0e9"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 11:26:24 2013 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Nov 15 15:27:22 2013 -0600"
      },
      "message": "[CIFS] Set copychunk defaults\n\nPatch 2 of the copy chunk series (the final patch will\nuse these to handle copies of files larger than the chunk size.\n\nWe set the same defaults that Windows and Samba expect for\nCopyChunk.\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nReviewed-by: David Disseldorp \u003cddiss@samba.org\u003e\n"
    },
    {
      "commit": "8c2fabc6542d9d0f8b16bd1045c2eda59bdcde13",
      "tree": "1d2cc1b59c73db8059fc69488f67cc1391bc4222",
      "parents": [
        "9e08ef1afb109c2059e7c1e4755fcafd9be37260"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 13 08:50:33 2013 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 15 13:41:43 2013 -0500"
      },
      "message": "nfs: fix pnfs Kconfig defaults\n\nDefaulting to m seem to prevent building the pnfs layout modules into the\nkernel.  Default to the value of CONFIG_NFS_V4 make sure they are\nbuilt in for built-in NFSv4 support and modular for a modular NFSv4.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e08ef1afb109c2059e7c1e4755fcafd9be37260",
      "tree": "5830ab17b4adba9246dc3de557730e585675966b",
      "parents": [
        "6d769f1e1420179d1f83cf1a9cdc585b46c28545"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Nov 14 13:00:17 2013 +1100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 15 13:41:43 2013 -0500"
      },
      "message": "NFS: correctly report misuse of \"migration\" mount option.\n\nThe current test on valid use of the \"migration\" mount option can never\nreport an error as it will only do so if\n    mnt-\u003eversion !\u003d4 \u0026\u0026 mnt-\u003eminor_version !\u003d 0\n(and some other condition), but if that test would succeed, then the previous\ntest has already gone-to  out_minorversion_mismatch.\n\nSo change the \u0026\u0026 to an || to get correct semantics.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "54563d41a58be77e9bd9ef7af1ea4026cf0e7e07",
      "tree": "5aedb277d3ed8e43f42af1077ebc72699f4d44b1",
      "parents": [
        "46e0f66a0cf9e1fe25bfdcf4a60c08aface85998"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Sep 01 15:57:51 2013 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Fri Nov 15 09:18:14 2013 -0500"
      },
      "message": "btrfs: get rid of fdentry()\n\n3 of 4 callers actually want file_inode()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "46e0f66a0cf9e1fe25bfdcf4a60c08aface85998",
      "tree": "9b454277530b50f41ac5fbbf5f6d0f64ec2ebc99",
      "parents": [
        "91aef86f3b8ab0685d930a5468254384513d1c97"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Fri Nov 15 12:14:55 2013 +0100"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@fusionio.com",
        "time": "Fri Nov 15 09:17:47 2013 -0500"
      },
      "message": "btrfs: fix empty_zero_page misusage\n\nHeiko Carstens noticed that btrfs was using empty_zero_page\nincorrectly.  He explained:\n\n\tThe definition of empty_zero_page is architecture specific.  It\n\tis (currently) either a character array, an unsigned long\n\tcontaining the address of the empty_zero_page, or even worse\n\tonly the address of the struct page belonging to the\n\tempty_zero_page.\n\nThis commit changes btrfs to use a for-loop instead.  On x86\nthe resulting .ko is smaller, and we\u0027re no longer worrying about\nhow each arch builds its zeros.\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@fusionio.com\u003e\n"
    },
    {
      "commit": "d8fe4acc88da8fbbe360b6592c9d0abbb85117dc",
      "tree": "e3d5edc0ad3541a1daf37b60c5fe67b6fe347d22",
      "parents": [
        "3aeb58ab6216d864821e8dafb248e8d77403f3e9",
        "8d3ef556aba2b5b7d8b7144f7be1814d75ea3cc6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:31 2013 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:31 2013 +0900"
      },
      "message": "Merge branch \u0027akpm\u0027 (patch-bomb from Andrew Morton)\n\nMerge patches from Andrew Morton:\n - memstick fixes\n\n - the rest of MM\n\n - various misc bits that were awaiting merges from linux-next into\n   mainline: seq_file, printk, rtc, completions, w1, softirqs, llist,\n   kfifo, hfsplus\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (72 commits)\n  cmdline-parser: fix build\n  hfsplus: Fix undefined __divdi3 in hfsplus_init_header_node()\n  kfifo API type safety\n  kfifo: kfifo_copy_{to,from}_user: fix copied bytes calculation\n  sound/core/memalloc.c: use gen_pool_dma_alloc() to allocate iram buffer\n  llists-move-llist_reverse_order-from-raid5-to-llistc-fix\n  llists: move llist_reverse_order from raid5 to llist.c\n  kernel: fix generic_exec_single indentation\n  kernel-provide-a-__smp_call_function_single-stub-for-config_smp-fix\n  kernel: provide a __smp_call_function_single stub for !CONFIG_SMP\n  kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS\n  revert \"softirq: Add support for triggering softirq work on softirqs\"\n  drivers/w1/masters/w1-gpio.c: use dev_get_platdata()\n  sched: remove INIT_COMPLETION\n  tree-wide: use reinit_completion instead of INIT_COMPLETION\n  sched: replace INIT_COMPLETION with reinit_completion\n  drivers/rtc/rtc-hid-sensor-time.c: enable HID input processing early\n  drivers/rtc/rtc-hid-sensor-time.c: use dev_get_platdata()\n  vsprintf: ignore %n again\n  seq_file: remove \"%n\" usage from seq_file users\n  ...\n"
    },
    {
      "commit": "a99b7069aab8fc3fb4f26d15795dc280b52e38b1",
      "tree": "aa9d2dde6d72e7c5dc1e8ba58cc7da9561f83b55",
      "parents": [
        "498d319bb512992ef0784c278fa03679f2f5649d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 14 14:32:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:23 2013 +0900"
      },
      "message": "hfsplus: Fix undefined __divdi3 in hfsplus_init_header_node()\n\nERROR: \"__divdi3\" [fs/hfsplus/hfsplus.ko] undefined!\n\nIntroduced by commit 099e9245e04d (\"hfsplus: implement attributes file\u0027s\nheader node initialization code\").\n\ni_size_read() returns loff_t, which is long long, i.e.  64-bit.  node_size\nis size_t, which is either 32-bit or 64-bit.  Hence\n\"i_size_read(attr_file) / node_size\" is a 64-by-32 or 64-by-64 division,\ncausing (some versions of) gcc to emit a call to __divdi3().\n\nFortunately node_size is actually 16-bit, as the sole caller of\nhfsplus_init_header_node() passes a u16.  Hence change its type from\nsize_t to u16, and use do_div() to perform a 64-by-32 division.\n\nNot seen in m68k/allmodconfig in -next, so it really depends on the\nverion of gcc.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16735d022f72b20ddbb2274b8e109f69575e9b2b",
      "tree": "f567c7dfff06ae18899feab7cd8a79a7a0f7be40",
      "parents": [
        "c32f74ab2872994bc8336ed367313da3139350ca"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "wsa@the-dreams.de",
        "time": "Thu Nov 14 14:32:02 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:21 2013 +0900"
      },
      "message": "tree-wide: use reinit_completion instead of INIT_COMPLETION\n\nUse this new function to make code more comprehensible, since we are\nreinitialzing the completion, not initializing.\n\n[akpm@linux-foundation.org: linux-next resyncs]\nSigned-off-by: Wolfram Sang \u003cwsa@the-dreams.de\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e (personally at LCE13)\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "652586df95e5d76b37d07a11839126dcfede1621",
      "tree": "e3a668265cade256302830ea3ff8b3699ab2977e",
      "parents": [
        "839cc2a94cc3665bafe32203c2f095f4dd470a80"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Nov 14 14:31:57 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:20 2013 +0900"
      },
      "message": "seq_file: remove \"%n\" usage from seq_file users\n\nAll seq_printf() users are using \"%n\" for calculating padding size,\nconvert them to use seq_setwidth() / seq_pad() pair.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "839cc2a94cc3665bafe32203c2f095f4dd470a80",
      "tree": "c48aa0e5bcd3f09ad5b7354396a50928c9211155",
      "parents": [
        "57f4257eae33e036125973858934730250d464e3"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Nov 14 14:31:56 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:20 2013 +0900"
      },
      "message": "seq_file: introduce seq_setwidth() and seq_pad()\n\nThere are several users who want to know bytes written by seq_*() for\nalignment purpose.  Currently they are using %n format for knowing it\nbecause seq_*() returns 0 on success.\n\nThis patch introduces seq_setwidth() and seq_pad() for allowing them to\nalign without using %n format.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb900f41215447433cbc456d1c4294e858a84d7c",
      "tree": "1f3704d9a023a20baa2872d6639a58387ef2d7c2",
      "parents": [
        "c389a250ab4cfa4a3775d9f2c45271618af6d5b2"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Thu Nov 14 14:31:02 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:14 2013 +0900"
      },
      "message": "mm, hugetlb: convert hugetlbfs to use split pmd lock\n\nHugetlb supports multiple page sizes. We use split lock only for PMD\nlevel, but not for PUD.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nTested-by: Alex Thorlton \u003cathorlton@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"Eric W . Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E . McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Robin Holt \u003crobinmholt@gmail.com\u003e\nCc: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf929152e9f6c49b66fad4ebf08cc95b02ce48f5",
      "tree": "21b54239e0ad98f12a44039047ed96d775e6c67d",
      "parents": [
        "9a86cb7bdc4ccbe3f99a1ca275b90a322a90f9ce"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Thu Nov 14 14:30:54 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:14 2013 +0900"
      },
      "message": "mm, thp: change pmd_trans_huge_lock() to return taken lock\n\nWith split ptlock it\u0027s important to know which lock\npmd_trans_huge_lock() took.  This patch adds one more parameter to the\nfunction to return the lock.\n\nIn most places migration to new api is trivial.  Exception is\nmove_huge_pmd(): we need to take two locks if pmd tables are different.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nTested-by: Alex Thorlton \u003cathorlton@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"Eric W . Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E . McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Robin Holt \u003crobinmholt@gmail.com\u003e\nCc: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f56c89b040134add93f686931cc266541d239a",
      "tree": "36efea76d1803cca3e2a7716850d872db70afd8f",
      "parents": [
        "57c1ffcefb5acb3c8b5f8436c325a6bdbd8e9c78"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "kirill.shutemov@linux.intel.com",
        "time": "Thu Nov 14 14:30:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 09:32:14 2013 +0900"
      },
      "message": "mm: convert mm-\u003enr_ptes to atomic_long_t\n\nWith split page table lock for PMD level we can\u0027t hold mm-\u003epage_table_lock\nwhile updating nr_ptes.\n\nLet\u0027s convert it to atomic_long_t to avoid races.\n\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nTested-by: Alex Thorlton \u003cathorlton@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: \"Eric W . Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E . McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Dave Hansen \u003cdave.hansen@intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Robin Holt \u003crobinmholt@gmail.com\u003e\nCc: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3aeb58ab6216d864821e8dafb248e8d77403f3e9",
      "tree": "88afc8b7594ed4648c4a098cdd60678b66f28b31",
      "parents": [
        "4fbf888accb39af423f271111d44e8186f053723",
        "91aef86f3b8ab0685d930a5468254384513d1c97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 08:45:16 2013 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 15 08:45:16 2013 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\nPull btrfs update frm Chris Mason:\n \"This is our usual merge window set of bug fixes, performance\n  improvements and cleanups.  Miao Xie has some really nice\n  optimizations for writeback.\n\n  Josef also expanded our sanity checks quite a bit; these make up a big\n  chunk of the new lines\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (98 commits)\n  Btrfs: rename btrfs_start_all_delalloc_inodes\n  Btrfs: don\u0027t wait for the completion of all the ordered extents\n  Btrfs: don\u0027t wait for all the async delalloc when shrinking delalloc\n  Btrfs: fix the confusion between delalloc bytes and metadata bytes\n  Btrfs: pick up the code for the item number calculation in flush_space()\n  Btrfs: wait for the ordered extent only when we want\n  Btrfs: remove unnecessary initialization and memory barrior in shrink_delalloc()\n  Btrfs: avoid unnecessary scrub workers allocation\n  Btrfs: check file extent type before anything else\n  btrfs: Remove useless variable in write_ctree_super()\n  btrfs: Fix checkpatch.pl warning of spacing issues\n  btrfs: Replace kmalloc with kmalloc_array\n  btrfs: Enclose macros with complex values within parenthesis\n  btrfs: Use WARN_ON()\u0027s return value in place of WARN_ON(1)\n  btrfs: Remove redundant local zero structure\n  btrfs: Pack struct btrfs_device\n  btrfs: Replace multiple atomic_inc() with atomic_add()\n  btrfs: Add helper function for free_root_pointers()\n  Btrfs: fix a crash when running balance and defrag concurrently\n  Btrfs: do not run snapshot-aware defragment on error\n  ...\n"
    },
    {
      "commit": "aea240f4162d50e0f2d8bd5ea3ba11b5f072add8",
      "tree": "214ecab9cbcc13116fa1a5a05c45b604ce851cdf",
      "parents": [
        "6ff40decff0ef35a5d755ec60182d7f803356dfb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Nov 14 05:50:10 2013 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Nov 14 15:18:47 2013 -0500"
      },
      "message": "nfsd: export proper maximum file size to the client\n\nI noticed that we export a way to high value for the maxfilesize\nattribute when debugging a client issue.  The issue didn\u0027t turn\nout to be related to it, but I think we should export it, so that\nclients can limit what write sizes they accept before hitting\nthe server.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    }
  ],
  "next": "2000f5beabc9c6baf084de5f7879975408e3652c"
}
