)]}'
{
  "log": [
    {
      "commit": "b86db4744230c94e480de56f1b7f31117edbf193",
      "tree": "e94240a428f525c11c8758ebdd50398cec95e7be",
      "parents": [
        "76db8ac45fc738f7d7664fe9b56d15c594a45228",
        "e681c047e47c0abe67bf95857f23814372793cb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 19:46:45 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 19:46:45 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard\n  fs: Do not dispatch FITRIM through separate super_operation\n  ext4: ext4_fill_super shouldn\u0027t return 0 on corruption\n  jbd2: fix /proc/fs/jbd2/\u003cdev\u003e when using an external journal\n  ext4: missing unlock in ext4_clear_request_list()\n  ext4: fix setting random pages PageUptodate\n"
    },
    {
      "commit": "e681c047e47c0abe67bf95857f23814372793cb0",
      "tree": "b82d1e75d2b7774c05e0c224464286c570d5d624",
      "parents": [
        "93bb41f4f8b89ac8b4d0a734bc59634cb0a29a89"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Nov 19 21:47:07 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 21:47:07 2010 -0500"
      },
      "message": "ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard\n\nFilesystem independent ioctl was rejected as not common enough to be in\ncore vfs ioctl. Since we still need to access to this functionality this\ncommit adds ext4 specific ioctl EXT4_IOC_TRIM to dispatch\next4_trim_fs().\n\nIt takes fstrim_range structure as an argument. fstrim_range is definec in\nthe include/linux/fs.h and its definition is as follows.\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n}\n\nstart\t- first Byte to trim\nlen\t- number of Bytes to trim from start\nminlen\t- minimum extent length to trim, free extents shorter than this\n  number of Bytes will be ignored. This will be rounded up to fs\n  block size.\n\nAfter the FITRIM is done, the number of actually discarded Bytes is stored\nin fstrim_range.len to give the user better insight on how much storage\nspace has been really released for wear-leveling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "93bb41f4f8b89ac8b4d0a734bc59634cb0a29a89",
      "tree": "16ed3163dbbdb5b46ed0f3a12d059b4c2c467e95",
      "parents": [
        "5a9ae68a349aa076bc8557ee2fcf865574459282"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Nov 19 21:18:35 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 21:18:35 2010 -0500"
      },
      "message": "fs: Do not dispatch FITRIM through separate super_operation\n\nThere was concern that FITRIM ioctl is not common enough to be included\nin core vfs ioctl, as Christoph Hellwig pointed out there\u0027s no real point\nin dispatching this out to a separate vector instead of just through\n-\u003eioctl.\n\nSo this commit removes ioctl_fstrim() from vfs ioctl and trim_fs\nfrom super_operation structure.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "76db8ac45fc738f7d7664fe9b56d15c594a45228",
      "tree": "eca23feab074d505b375e27714473f4ad337bd85",
      "parents": [
        "caf8394524fdc039b090cd3af99157e9e76f4f06",
        "3105c19c450ac7c18ab28c19d364b588767261b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 15:32:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 15:32:22 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix readdir EOVERFLOW on 32-bit archs\n  ceph: fix frag offset for non-leftmost frags\n  ceph: fix dangling pointer\n  ceph: explicitly specify page alignment in network messages\n  ceph: make page alignment explicit in osd interface\n  ceph: fix comment, remove extraneous args\n  ceph: fix update of ctime from MDS\n  ceph: fix version check on racing inode updates\n  ceph: fix uid/gid on resent mds requests\n  ceph: fix rdcache_gen usage and invalidate\n  ceph: re-request max_size if cap auth changes\n  ceph: only let auth caps update max_size\n  ceph: fix open for write on clustered mds\n  ceph: fix bad pointer dereference in ceph_fill_trace\n  ceph: fix small seq message skipping\n  Revert \"ceph: update issue_seq on cap grant\"\n"
    },
    {
      "commit": "5a9ae68a349aa076bc8557ee2fcf865574459282",
      "tree": "484c26f74f13a0c5962ac634c90462d98dea8e1a",
      "parents": [
        "0587aa3d11f9769a301b21bff2c3ed8365606b8d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Nov 19 09:56:44 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 09:56:44 2010 -0500"
      },
      "message": "ext4: ext4_fill_super shouldn\u0027t return 0 on corruption\n\nAt the start of ext4_fill_super, ret is set to -EINVAL, and any failure path\nout of that function returns ret.  However, the generic_check_addressable\nclause sets ret \u003d 0 (if it passes), which means that a subsequent failure (e.g.\na group checksum error) returns 0 even though the mount should fail.  This\ncauses vfs_kern_mount in turn to think that the mount succeeded, leading to an\noops.\n\nA simple fix is to avoid using ret for the generic_check_addressable check,\nwhich was last changed in commit 30ca22c70e3ef0a96ff84de69cd7e8561b416cb2.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3105c19c450ac7c18ab28c19d364b588767261b3",
      "tree": "2b306fb3b8536f5f92f085993bbd966d9eb3929a",
      "parents": [
        "7b88dadc13e0004947de52df128dbd5b0754ed0a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 18 09:15:07 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 18 09:15:07 2010 -0800"
      },
      "message": "ceph: fix readdir EOVERFLOW on 32-bit archs\n\nOne of the readdir filldir_t callers was passing the raw ceph 64-bit ino\ninstead of the hashed 32-bit one, producing an EOVERFLOW in the filler\ncallback.  Fix this by calling the ceph_vino_to_ino() helper to do the\nconversion.\n\nReported-by: Jan Smets \u003cjan.smets@alcatel-lucent.com\u003e\nTested-by: Jan Smets \u003cjan.smets@alcatel-lucent.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0587aa3d11f9769a301b21bff2c3ed8365606b8d",
      "tree": "c02512f57fc11b37da4764c10a5e2ef42cc5ecbe",
      "parents": [
        "f4c8cc652d9f70680dd91be60a7a455040d0a282"
      ],
      "author": {
        "name": "yangsheng",
        "email": "sheng.yang@oracle.com",
        "time": "Wed Nov 17 21:46:26 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:26 2010 -0500"
      },
      "message": "jbd2: fix /proc/fs/jbd2/\u003cdev\u003e when using an external journal\n\nIn jbd2_journal_init_dev(), we need make sure the journal structure is\nfully initialzied before calling jbd2_stats_proc_init().\n\nReviewed-by: Andreas Dilger \u003candreas.dilger@oracle.com\u003e\nSigned-off-by: yangsheng \u003csheng.yang@oracle.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f4c8cc652d9f70680dd91be60a7a455040d0a282",
      "tree": "15464ab1cfa63b2e7b7c83006aa09e605aa7099a",
      "parents": [
        "08da1193d2c8c7a25d0cef7f85d0b9f1ad7c583a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Nov 17 21:46:25 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:25 2010 -0500"
      },
      "message": "ext4: missing unlock in ext4_clear_request_list()\n\nIf the the li_request_list was empty then it returned with the lock\nheld.  Instead of adding a \"goto unlock\" I just removed that special\ncase and let it go past the empty list_for_each_safe().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "08da1193d2c8c7a25d0cef7f85d0b9f1ad7c583a",
      "tree": "5a288945b73bc0ea79ca26e556f8061b51a85c1d",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Wed Nov 17 21:46:06 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:06 2010 -0500"
      },
      "message": "ext4: fix setting random pages PageUptodate\n\next4_end_bio calls put_page and kmem_cache_free before calling\nSetPageUpdate(). This can result in setting the PageUptodate bit on\nrandom pages and causes the following BUG:\n\n BUG: Bad page state in process rm  pfn:52e54\n page:ffffea0001222260 count:0 mapcount:0 mapping:          (null) index:0x0\n arch kernel: page flags: 0x4000000000000008(uptodate)\n\nFix the problem by moving put_io_page() after the SetPageUpdate() call.\n\nThanks to Hugh Dickins for analyzing this problem.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nTested-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "460781b54253e3ed10a0a2a433bdc548ec952269",
      "tree": "8dc676887724ecebead6f0c2cb67b530017c0b2e",
      "parents": [
        "451a3c24b0135bce54542009b5fde43846c7cf67"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:56 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove references to lock_kernel from comments\n\nLock_kernel is gone from the code, so the comments should be updated,\ntoo.  nfsd now uses lock_flocks instead of lock_kernel to protect\nagainst posix file locks.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04e4bd1c67f941d81bff78a3b6b94194f081b7df",
      "tree": "7f6cd633219bc19d7a716a0c2af4eaae2b5170ba",
      "parents": [
        "94f58df8e545657f0b2d16eca1ac7a4ec39ed6be"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Nov 11 12:53:47 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 16 12:03:14 2010 -0500"
      },
      "message": "nfs: Ignore kmemleak false positive in nfs_readdir_make_qstr\n\nStrings allocated via kmemdup() in nfs_readdir_make_qstr() are\nreferenced from the nfs_cache_array which is stored in a page cache\npage. Kmemleak does not scan such pages and it reports several false\npositives. This patch annotates the string-\u003ename pointer so that\nkmemleak does not consider it a real leak.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac39612824e1fad8baf82c2841e42b2142af3445",
      "tree": "12a841ca751a50f324dc97963579002943d0c3c9",
      "parents": [
        "8cd51a0ccd1beda4482507769887c0be9d70f8c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:26:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:29 2010 -0500"
      },
      "message": "NFS: readdir shouldn\u0027t read beyond the reply returned by the server\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8cd51a0ccd1beda4482507769887c0be9d70f8c1",
      "tree": "3fe5c05dcc6e532641d1be4e797ab869c71c36ad",
      "parents": [
        "23ebbd9acf5756b6eb783df84403e3ab668a6bce"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:26:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:28 2010 -0500"
      },
      "message": "NFS: Fix a couple of regressions in readdir.\n\nFix up the issue that array-\u003eeof_index needs to be able to be set\neven if array-\u003esize \u003d\u003d 0.\n\nEnsure that we catch all important memory allocation error conditions\nand/or kmap() failures.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ebbd9acf5756b6eb783df84403e3ab668a6bce",
      "tree": "11f632c35ccd0569b70811ad7b78c14831697041",
      "parents": [
        "1e657bd51f313d87fbbb22d1edf625dba87ef353"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 03 10:24:16 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:27 2010 -0500"
      },
      "message": "Revert \"NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\"\n\nThis reverts commit 80e60639f1b7c121a7fea53920c5a4b94009361a.\n\nThis change requires further fixes to ensure that the open doesn\u0027t\nsucceed if the lookup later results in a regular file being created.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e657bd51f313d87fbbb22d1edf625dba87ef353",
      "tree": "e693b41296e5da158971ae7df9d73dc6e69cd4be",
      "parents": [
        "8e35f8e7c61c88f9a979a4e6f7f4ffd4c158a88a"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "paulius.zaleckas@gmail.com",
        "time": "Sun Oct 31 18:21:05 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:27 2010 -0500"
      },
      "message": "Regression: fix mounting NFS when NFSv3 support is not compiled\n\nTrying to mount NFS (root partition in my case) fails if CONFIG_NFS_V3\nis not selected. nfs_validate_mount_data() returns EPROTONOSUPPORT,\nbecause of this check:\n\n#ifndef CONFIG_NFS_V3\n\tif (args-\u003eversion \u003d\u003d 3)\n\t\tgoto out_v3_not_compiled;\n#endif /* !CONFIG_NFS_V3 */\n\nand args-\u003eversion was always initialized to 3.\n\nIt was working in 2.6.36\n\nSigned-off-by: Paulius Zaleckas \u003cpaulius.zaleckas@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e35f8e7c61c88f9a979a4e6f7f4ffd4c158a88a",
      "tree": "1da21fa631fe471f6eae604dcbd3a416220de25a",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 02 09:11:55 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:26 2010 -0500"
      },
      "message": "NLM: Fix a regression in lockd\n\nNick Bowler reports:\nThere are no unusual messages on the client... but I just logged into\nthe server and I see lots of messages of the following form:\n\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n\nBisected to commit 9247685088398cf21bcb513bd2832b4cd42516c4 (SUNRPC:\nProperly initialize sock_xprt.srcaddr in all cases)\n\nApparently, removing the \u0027transport-\u003esrcaddr.ss_family \u003d family\u0027 from\nxs_create_sock() triggers this due to nlmclnt_lookup_host() incorrectly\ninitialising the srcaddr family to AF_UNSPEC.\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "620751a25964582595c6e7935777af954b24cb96",
      "tree": "3dc0192da57b1490665ce69cae21d73da29f4170",
      "parents": [
        "f187a4514f54382ab017e8630d7d1f51732dabd8",
        "044b9414c7caf9a26192c73a5b88fa1a8a32a1c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 08:43:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 08:43:29 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix inode deallocation race\n"
    },
    {
      "commit": "044b9414c7caf9a26192c73a5b88fa1a8a32a1c1",
      "tree": "9596bb669a68b04eebc40864c3b3fd71d3d1e273",
      "parents": [
        "0143832cc96d0bf78486297aad5c8fb2c2ead02a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 03 20:01:07 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 15 12:44:42 2010 +0000"
      },
      "message": "GFS2: Fix inode deallocation race\n\nThis area of the code has always been a bit delicate due to the\nsubtleties of lock ordering. The problem is that for \"normal\"\nalloc/dealloc, we always grab the inode locks first and the rgrp lock\nlater.\n\nIn order to ensure no races in looking up the unlinked, but still\nallocated inodes, we need to hold the rgrp lock when we do the lookup,\nwhich means that we can\u0027t take the inode glock.\n\nThe solution is to borrow the technique already used by NFS to solve\nwhat is essentially the same problem (given an inode number, look up\nthe inode carefully, checking that it really is in the expected\nstate).\n\nWe cannot do that directly from the allocation code (lock ordering\nagain) so we give the job to the pre-existing delete workqueue and\ncarry on with the allocation as normal.\n\nIf we find there is no space, we do a journal flush (required anyway\nif space from a deallocation is to be released) which should block\nagainst the pending deallocations, so we should always get the space\nback.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1ca7318cacdac5262492149cf46abc06c95693fa",
      "tree": "c8532b1cd52ab4858a7550b8e2dd0cb1f5a1eb03",
      "parents": [
        "0143832cc96d0bf78486297aad5c8fb2c2ead02a",
        "1c66b360fe26204e2aa14e45086b4a6b8890b1a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 14 13:04:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 14 13:04:53 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Change some lock status member in ocfs2_lock_res to char.\n"
    },
    {
      "commit": "1c66b360fe26204e2aa14e45086b4a6b8890b1a2",
      "tree": "d2608809e0985e4aff7bdc9f5673a8c39d7eb916",
      "parents": [
        "2d3b07c07b39c4b7d9b6641052a02d996cd5d87c"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Sat Nov 13 16:22:02 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Sat Nov 13 03:15:08 2010 -0800"
      },
      "message": "ocfs2: Change some lock status member in ocfs2_lock_res to char.\n\nCommit 83fd9c7 changes l_level, l_requested and l_blocking of\nocfs2_lock_res from int to unsigned char. But actually it is\ninitially as -1(ocfs2_lock_res_init_common) which\ncorrespoding to 255 for unsigned char. So the whole dlm lock\nmechanism doesn\u0027t work now which means a disaster to ocfs2.\n\nCc: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "8a9f772c14f85e2a580baadc50c194835da2d4e5",
      "tree": "4ac04e465fa8295944f997fb517dc9904bb8e4f3",
      "parents": [
        "25a34554d600b799cbf5159bef372b02d3b4e1c6",
        "cedb4a7d9f6aedb0dce94d6285b69dcb3c10fa05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (27 commits)\n  block: remove unused copy_io_context()\n  Documentation: remove anticipatory scheduler info\n  block: remove REQ_HARDBARRIER\n  ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n  ioprio: fix RCU locking around task dereference\n  block: ioctl: fix information leak to userland\n  block: read i_size with i_size_read()\n  cciss: fix proc warning on attempt to remove non-existant directory\n  bio: take care not overflow page count when mapping/copying user data\n  block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n  block: take care not to overflow when calculating total iov length\n  block: check for proper length of iov entries in blk_rq_map_user_iov()\n  cciss: remove controllers supported by hpsa\n  cciss: use usleep_range not msleep for small sleeps\n  cciss: limit commands allocated on reset_devices\n  cciss: Use kernel provided PCI state save and restore functions\n  cciss: fix board status waiting code\n  drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs\n  drbd: REQ_HARDBARRIER -\u003e REQ_FUA transition for meta data accesses\n  drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code\n  ...\n"
    },
    {
      "commit": "fb1cb7b27bba3446bed377c173dbdd2d288e3992",
      "tree": "914c2211472ab86696319e729290a1ad786621be",
      "parents": [
        "fe7e96f66b2622d8492ee9dd7fc08b811086caca",
        "ece413f59f257682de4a2e2e42af33b016af53f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: remove incorrect assert in xfs_vm_writepage\n  xfs: use hlist_add_fake\n  xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n  xfs: tell lockdep about parent iolock usage in filestreams\n  xfs: move delayed write buffer trace\n  xfs: fix per-ag reference counting in inode reclaim tree walking\n  xfs: xfs_ioctl: fix information leak to userland\n  xfs: remove experimental tag from the delaylog option\n"
    },
    {
      "commit": "0f90933c477c061df6daf42d814ff2012aea43cc",
      "tree": "10c1e1ec16a1874416f9aa18e44a31a6d3087952",
      "parents": [
        "e2b348354112df63a9c2ea4219a6867c6c7ea100",
        "8896b93f42459b18b145c69d399b62870df48061"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: remove dead lease error-handling code\n  locks: fix leak on merging leases\n  nfsd4: fix 4.1 connection registration race\n"
    },
    {
      "commit": "52ca0e84b05595cf74f1ff772b3f9807256b1b27",
      "tree": "365c7118481f79b12b31939e897dc85c4b27e8f6",
      "parents": [
        "27d20fddc8af539464fc3ba499d6a830054c3bd6"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Nov 11 14:05:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "hugetlbfs: lessen the impact of a deprecation warning\n\nWARN_ONCE is a bit strong for a deprecation warning, given that it spews a\nhuge backtrace.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b88dadc13e0004947de52df128dbd5b0754ed0a",
      "tree": "9a2fd203b382b5922dfd1be5cb3adf055ff50c2d",
      "parents": [
        "a1629c3b24f26ec1b0f534874af674a6b4c1540b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 16:48:59 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 16:48:59 2010 -0800"
      },
      "message": "ceph: fix frag offset for non-leftmost frags\n\nWe start at offset 2 for the leftmost frag, and 0 for subsequent frags.\nWhen we reach the end (rightmost), we go back to 2.  This fixes readdir on\nfragmented (large) directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a1629c3b24f26ec1b0f534874af674a6b4c1540b",
      "tree": "7b40b54486f68189cde9753aca31d8e3d8af61a2",
      "parents": [
        "c5c6b19d4b8f5431fca05f28ae9e141045022149"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 15:24:06 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 15:24:06 2010 -0800"
      },
      "message": "ceph: fix dangling pointer\n\nClear fi-\u003elast_name when it\u0027s freed.  The only caller is rewinddir() (or\nequivalent lseek).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ece413f59f257682de4a2e2e42af33b016af53f3",
      "tree": "fe26d60458a4bfbd39e7e319e41c0ceca011914d",
      "parents": [
        "c6f6cd0608b1826ee1797cf57a808416e4bdb806"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 10 21:39:11 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 15:51:10 2010 -0600"
      },
      "message": "xfs: remove incorrect assert in xfs_vm_writepage\n\nIn commit 20cb52ebd1b5ca6fa8a5d9b6b1392292f5ca8a45, titled\n\"xfs: simplify xfs_vm_writepage\" I added an assert that any !mapped and\nuptodate buffers are not dirty.  That asserts turns out to trigger a lot\nwhen running fsx on filesystems with small block sizes.  The reason for\nthat is that the assert is simply incorrect.  !mapped and uptodate\njust mean this buffer covers a hole, and whenever we do a set_page_dirty\nwe mark all blocks in the page dirty, no matter if they have data or\nnot.  So remove the assert, and update the comment above the condition\nto match reality.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8896b93f42459b18b145c69d399b62870df48061",
      "tree": "661b82f867391d16345c75b693f29b24c062d478",
      "parents": [
        "3df057ac9afe83c4af84016df3baf3a0eb1d3d33"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 18:09:18 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:29 2010 -0500"
      },
      "message": "locks: remove dead lease error-handling code\n\nA minor oversight from f7347ce4ee7c65415f84be915c018473e7076f31,\n\"fasync: re-organize fasync entry insertion to allow it under a\nspinlock\": this cleanup-on-error was only needed to handle -ENOMEM.  Now\nthat we\u0027re preallocating it\u0027s unneeded.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3df057ac9afe83c4af84016df3baf3a0eb1d3d33",
      "tree": "ae1d30a596abef618d2913cbead649253fa7acfc",
      "parents": [
        "21b75b019983dfa5c2dda588f4b60b4ca69844a4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 16:49:44 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:23 2010 -0500"
      },
      "message": "locks: fix leak on merging leases\n\nWe must also free the passed-in lease in the case it wasn\u0027t used because\nan existing lease was upgrade/downgraded or already existed.\n\nNote the nfsd caller doesn\u0027t care because it\u0027s fl_change callback\nreturns an error in those cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c6f6cd0608b1826ee1797cf57a808416e4bdb806",
      "tree": "4c82ec811ef359f71c83f2a68c46498f0b59618b",
      "parents": [
        "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:43:08 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: use hlist_add_fake\n\nXFS does not need it\u0027s inodes to actuall be hashed in the VFS inode\ncache, but we require the inode to be marked hashed for the\nwriteback code to work.\n\nInsted of using insert_inode_hash, which requires a second\ninode_lock roundtrip after the partial merge of the inode\nscalability patches in 2.6.37-rc simply use the new hlist_add_fake\nhelper to mark it hashed without requiring a lock or touching a\nglobal cache line.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d",
      "tree": "fc46c4d8f0504fd64504a30e4590267d1bfed9fe",
      "parents": [
        "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:56 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n\nAndi Kleen reported that gcc-4.5 gives lots of warnings for him\ninside the XFS code.  It turned out most of them are due to the\nquota stubs beeing macros, and gcc now complaining about macros\nevaluating to 0 that are not assigned to variables.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03",
      "tree": "8b56f215db003db8984465697cebf2ce9aa119c9",
      "parents": [
        "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:44 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: tell lockdep about parent iolock usage in filestreams\n\nThe filestreams code may take the iolock on the parent inode while\nholding it on a child.  This is the only place in XFS where we take\nboth the child and parent iolock, so just telling lockdep about it\nis enough.  The lock flag required for that was already added as\npart of the ilock lockdep annotations and unused so far.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d",
      "tree": "d012589ede1f1d7e571d7dc75868f445531cccf8",
      "parents": [
        "f83282a8ef799c0bdcb0c32971487087da1bc216"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:05 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: move delayed write buffer trace\n\nThe delayed write buffer split trace currently issues a trace for\nevery buffer it scans. These buffers are not necessarily queued for\ndelayed write. Indeed, when buffers are pinned, there can be\nthousands of traces of buffers that aren\u0027t actually queued for\ndelayed write and the ones that are are lost in the noise. Move the\ntrace point to record only buffers that are split out for IO to be\nissued on.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f83282a8ef799c0bdcb0c32971487087da1bc216",
      "tree": "953c706c4c96a85348cc6e1404436411919b6d80",
      "parents": [
        "6762b938eac878a30a90e770ac655874c36bc642"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:04 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix per-ag reference counting in inode reclaim tree walking\n\nThe walk fails to decrement the per-ag reference count when the\nnon-blocking walk fails to obtain the per-ag reclaim lock, leading\nto an assert failure on debug kernels when unmounting a filesystem.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "6762b938eac878a30a90e770ac655874c36bc642",
      "tree": "424b9893aa5494104b8d93de2b9c52fbdce37b75",
      "parents": [
        "5d0af85cd0964bb845b63d5059bb20e8f7731e65"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Sat Oct 30 14:26:17 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: xfs_ioctl: fix information leak to userland\n\nal_hreq is copied from userland.  If al_hreq.buflen is not properly aligned\nthen xfs_attr_list will ignore the last bytes of kbuf.  These bytes are\nunitialized.  It leads to leaking of contents of kernel stack memory.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d0af85cd0964bb845b63d5059bb20e8f7731e65",
      "tree": "8c3bb47546b361be20e972cf6069ccd29f38ba41",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 28 21:37:10 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: remove experimental tag from the delaylog option\n\nWe promised to do this for 2.6.37, and the code looks stable enough to\nkeep that promise.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f85acd81aa623e3dcf268c90e5cd8ecf36830984",
      "tree": "cb6baded85812573ad2f42bfe47b9d185b61918b",
      "parents": [
        "1447399b3e34af016c368b4178db7ef0e04e15b0"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue Nov 09 21:26:56 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n\nCommit 4221a9918e38b7494cee341dda7b7b4bb8c04bde \"Add RCU check for\nfind_task_by_vpid()\" introduced rcu_lockdep_assert to find_task_by_pid_ns\u003d\n\nAssertion failed in sys_ioprio_get. The patch is fixing assertion\nfailure in ioprio_set as well.\n\n kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\n stack backtrace:\n Pid: 4254, comm: iotop Not tainted\n Call Trace:\n [\u003cffffffff810656f2\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffff81053c67\u003e] find_task_by_pid_ns+0x4f/0x68\n [\u003cffffffff81053c9d\u003e] find_task_by_vpid+0x1d/0x1f\n [\u003cffffffff811104e2\u003e] sys_ioprio_get+0x50/0x2da\n [\u003cffffffff81002182\u003e] system_call_fastpath+0x16/0x1b\n\nV2: rcu critical section expanded according to comment by Paul E. McKenney\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1447399b3e34af016c368b4178db7ef0e04e15b0",
      "tree": "e5de50c5520b2c20359c2afbf903e052b88bb995",
      "parents": [
        "a014741c0adfb8fb79952939ca087cf03d272bb9"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Nov 09 21:33:02 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: fix RCU locking around task dereference\n\nWith 2.6.37-rc1, I observe sys_ioprio_set not taking the RCU lock [1]\nacross access to the task credentials.\n\nInspecting the code in fs/ioprio.c, the tasklist_lock is held for read\nacross the __task_cred call, which is presumably sufficient to prevent\nthe task credentials becoming stale.\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\n\n[ INFO: suspicious rcu_dereference_check() usage. ]\n\n---------------------------------------------------\n\nkernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 1\n\n1 lock held by start-stop-daem/2246:\n\n #0:  (tasklist_lock){.?.?..}, at: [\u003cffffffff811a2dfa\u003e]\nsys_ioprio_set+0x8a/0x400\n\nstack backtrace:\n\nPid: 2246, comm: start-stop-daem Not tainted 2.6.37-rc1-330cd+ #2\n\nCall Trace:\n\n [\u003cffffffff8109f5f4\u003e] lockdep_rcu_dereference+0xa4/0xc0\n\n [\u003cffffffff81085651\u003e] find_task_by_pid_ns+0x81/0x90\n\n [\u003cffffffff8108567d\u003e] find_task_by_vpid+0x1d/0x20\n\n [\u003cffffffff811a3160\u003e] sys_ioprio_set+0x3f0/0x400\n\n [\u003cffffffff816efa79\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\n [\u003cffffffff81003482\u003e] system_call_fastpath+0x16/0x1b\n\nTake the RCU lock for read across acquiring the pointer to the task\ncredentials and dereferencing it.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\n\nFixed up by Jens to fix missing rcu_read_unlock() on mismatches.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cb4644cac4a2797afc847e6c92736664d4b0ea34",
      "tree": "14170d74d5040be49af14b484f252d888141a99f",
      "parents": [
        "f3f63c1c28bc861a931fac283b5bc3585efb8967"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:36:25 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:43 2010 +0100"
      },
      "message": "bio: take care not overflow page count when mapping/copying user data\n\nIf the iovec is being set up in a way that causes uaddr + PAGE_SIZE\nto overflow, we could end up attempting to map a huge number of\npages. Check for this invalid input type.\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f3f63c1c28bc861a931fac283b5bc3585efb8967",
      "tree": "79c05b76488d9595bbb365b8185842357f8b3eec",
      "parents": [
        "9f864c80913467312c7b8690e41fb5ebd1b50e92"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Oct 29 11:46:56 2010 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:42 2010 +0100"
      },
      "message": "block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "b7495fc2ff941db6a118a93ab8d61149e3f4cef8",
      "tree": "231c339d74760e2fa13e5e6f41c10bc28cea51b3",
      "parents": [
        "e98b6fed84d0f0155d7b398e0dfeac74c792f2d0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "message": "ceph: make page alignment explicit in osd interface\n\nWe used to infer alignment of IOs within a page based on the file offset,\nwhich assumed they matched.  This broke with direct IO that was not aligned\nto pages (e.g., 512-byte aligned IO).  We were also trusting the alignment\nspecified in the OSD reply, which could have been adjusted by the server.\n\nExplicitly specify the page alignment when setting up OSD IO requests.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e98b6fed84d0f0155d7b398e0dfeac74c792f2d0",
      "tree": "0762cba398c39329dc5f056ddfccebf6768d2555",
      "parents": [
        "d8672d64b88cdb7aa8139fb6d218f40b8cbf60af"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:24:53 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:24:53 2010 -0800"
      },
      "message": "ceph: fix comment, remove extraneous args\n\nThe offset/length arguments aren\u0027t used.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f6614b7bb405a9b35dd28baea989a749492c46b2",
      "tree": "3a6bc580d98fb191ff44a374b61a3a55641f94ac",
      "parents": [
        "63bfd7384b119409685a17d5c58f0b56e5dc03da",
        "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix a memleak in cifs_setattr_nounix()\n  cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n"
    },
    {
      "commit": "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae",
      "tree": "76e5a4468175b5ca45e674abf5bd87d4fc6ec704",
      "parents": [
        "618763958b2291a09057dbfa553da6ded93dcfad"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Nov 09 12:27:41 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 09 15:17:53 2010 +0000"
      },
      "message": "cifs: fix a memleak in cifs_setattr_nounix()\n\nAndrew Hendry reported a kmemleak warning in 2.6.37-rc1 while editing a\ntext file with gedit over cifs.\n\nunreferenced object 0xffff88022ee08b40 (size 32):\n  comm \"gedit\", pid 2524, jiffies 4300160388 (age 2633.655s)\n  hex dump (first 32 bytes):\n    5c 2e 67 6f 75 74 70 75 74 73 74 72 65 61 6d 2d  \\.goutputstream-\n    35 42 41 53 4c 56 00 de 09 00 00 00 2c 26 78 ee  5BASLV......,\u0026x.\n  backtrace:\n    [\u003cffffffff81504a4d\u003e] kmemleak_alloc+0x2d/0x60\n    [\u003cffffffff81136e13\u003e] __kmalloc+0xe3/0x1d0\n    [\u003cffffffffa0313db0\u003e] build_path_from_dentry+0xf0/0x230 [cifs]\n    [\u003cffffffffa031ae1e\u003e] cifs_setattr+0x9e/0x770 [cifs]\n    [\u003cffffffff8115fe90\u003e] notify_change+0x170/0x2e0\n    [\u003cffffffff81145ceb\u003e] sys_fchmod+0x10b/0x140\n    [\u003cffffffff8100c172\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nThe commit 1025774c that removed inode_setattr() seems to have introduced this\nmemleak by returning early without freeing \u0027full_path\u0027.\n\nReported-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0e15482566b752718e7225168380904f1d0cdfa3",
      "tree": "5f7f6b774b0d6d35606dd5ef755f8f9ef6b3738a",
      "parents": [
        "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac"
      ],
      "author": {
        "name": "Meelis Roos",
        "email": "mroos@linux.ee",
        "time": "Mon Nov 08 13:38:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 14:29:39 2010 -0800"
      },
      "message": "sparc: fix openpromfs compile\n\nFix openpromfs compilation by adding a missing semicolon in\nfs/openpromfs/inode.c openprom_mount().\n\nSigned-off-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac",
      "tree": "e24ae9d2c35508f68016b8cde848b7608e737b32",
      "parents": [
        "5398a64c63a69a0ac33dbae458ea4aab0dc23f14",
        "7ff9c073dd4d7200399076554f7ab9b876f196f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Add new ext4 inode tracepoints\n  ext4: Don\u0027t call sb_issue_discard() in ext4_free_blocks()\n  ext4: do not try to grab the s_umount semaphore in ext4_quota_off\n  ext4: fix potential race when freeing ext4_io_page structures\n  ext4: handle writeback of inodes which are being freed\n  ext4: initialize the percpu counters before replaying the journal\n  ext4: \"ret\" may be used uninitialized in ext4_lazyinit_thread()\n  ext4: fix lazyinit hang after removing request\n"
    },
    {
      "commit": "618763958b2291a09057dbfa553da6ded93dcfad",
      "tree": "985c2e8eba7e0b63f0c9ac314fa1bf6c311aee73",
      "parents": [
        "151f52f09c5728ecfdd0c289da1a4b30bb416f2c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Nov 08 07:28:32 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 08 18:56:36 2010 +0000"
      },
      "message": "cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n\nCommit 13cfb7334e made cifs_ioctl use the tlink attached to the\ncifsFileInfo for a filp. This ignores the case of an open directory\nhowever, which in CIFS can have a NULL private_data until a readdir\nis done on it.\n\nThis patch re-adds the NULL pointer checks that were removed in commit\n50ae28f01 and moves the setting of tcon and \"caps\" variables lower.\n\nLong term, a better fix would be to establish a f_op-\u003eopen routine for\ndirectories that populates that field at open time, but that requires\nsome other changes to how readdir calls are handled.\n\nReported-by: Kjell Rune Skaaraas \u003ckjella79@yahoo.no\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7ff9c073dd4d7200399076554f7ab9b876f196f6",
      "tree": "6ca4eb4ca9b2f6f7b11e8197bd8a9417d7307b00",
      "parents": [
        "b56ff9d397cecdaad6c98c9d57cc6fea475e1f50"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:51:33 2010 -0500"
      },
      "message": "ext4: Add new ext4 inode tracepoints\n\nAdd ext4_evict_inode, ext4_drop_inode, ext4_mark_inode_dirty, and\next4_begin_ordered_truncate()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b56ff9d397cecdaad6c98c9d57cc6fea475e1f50",
      "tree": "659c007ed6a4d4e389b164d0b63f8f4ba8be0b08",
      "parents": [
        "87009d86dc045d228e21242467a67a5f99347553"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:49:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:49:33 2010 -0500"
      },
      "message": "ext4: Don\u0027t call sb_issue_discard() in ext4_free_blocks()\n\nCommit 5c521830cf (ext4: Support discard requests when running in\nno-journal mode) attempts to add sb_issue_discard() for data blocks\n(in data\u003dwriteback mode) and in no-journal mode.  Unfortunately, this\nno longer works, because in commit dd3932eddf (block: remove\nBLKDEV_IFL_WAIT), sb_issue_discard() only presents a synchronous\ninterface, and there are times when we call ext4_free_blocks() when we\nare are holding a spinlock, or are otherwise in an atomic context.\n\nFor now, I\u0027ve removed the call to sb_issue_discard() to prevent a\ndeadlock or (if spinlock debugging is enabled) failures like this:\n\nBUG: scheduling while atomic: rc.sysinit/1376/0x00000002\nPid: 1376, comm: rc.sysinit Not tainted 2.6.36-ARCH #1\nCall Trace:\n[\u003cffffffff810397ce\u003e] __schedule_bug+0x5e/0x70\n[\u003cffffffff81403110\u003e] schedule+0x950/0xa70\n[\u003cffffffff81060bad\u003e] ? insert_work+0x7d/0x90\n[\u003cffffffff81060fbd\u003e] ? queue_work_on+0x1d/0x30\n[\u003cffffffff81061127\u003e] ? queue_work+0x37/0x60\n[\u003cffffffff8140377d\u003e] schedule_timeout+0x21d/0x360\n[\u003cffffffff812031c3\u003e] ? generic_make_request+0x2c3/0x540\n[\u003cffffffff81402680\u003e] wait_for_common+0xc0/0x150\n[\u003cffffffff81041490\u003e] ? default_wake_function+0x0/0x10\n[\u003cffffffff812034bc\u003e] ? submit_bio+0x7c/0x100\n[\u003cffffffff810680a0\u003e] ? wake_bit_function+0x0/0x40\n[\u003cffffffff814027b8\u003e] wait_for_completion+0x18/0x20\n[\u003cffffffff8120a969\u003e] blkdev_issue_discard+0x1b9/0x210\n[\u003cffffffff811ba03e\u003e] ext4_free_blocks+0x68e/0xb60\n[\u003cffffffff811b1650\u003e] ? __ext4_handle_dirty_metadata+0x110/0x120\n[\u003cffffffff811b098c\u003e] ext4_ext_truncate+0x8cc/0xa70\n[\u003cffffffff810d713e\u003e] ? pagevec_lookup+0x1e/0x30\n[\u003cffffffff81191618\u003e] ext4_truncate+0x178/0x5d0\n[\u003cffffffff810eacbb\u003e] ? unmap_mapping_range+0xab/0x280\n[\u003cffffffff810d8976\u003e] vmtruncate+0x56/0x70\n[\u003cffffffff811925cb\u003e] ext4_setattr+0x14b/0x460\n[\u003cffffffff811319e4\u003e] notify_change+0x194/0x380\n[\u003cffffffff81117f80\u003e] do_truncate+0x60/0x90\n[\u003cffffffff811e08fa\u003e] ? security_inode_permission+0x1a/0x20\n[\u003cffffffff811eaec1\u003e] ? tomoyo_path_truncate+0x11/0x20\n[\u003cffffffff81127539\u003e] do_last+0x5d9/0x770\n[\u003cffffffff811278bd\u003e] do_filp_open+0x1ed/0x680\n[\u003cffffffff8140644f\u003e] ? page_fault+0x1f/0x30\n[\u003cffffffff81132bfc\u003e] ? alloc_fd+0xec/0x140\n[\u003cffffffff81118db1\u003e] do_sys_open+0x61/0x120\n[\u003cffffffff81118e8b\u003e] sys_open+0x1b/0x20\n[\u003cffffffff81002e6b\u003e] system_call_fastpath+0x16/0x1b\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d22302\n\nReported-by: Mathias Burén \u003cmathias.buren@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: jiayingz@google.com\n"
    },
    {
      "commit": "87009d86dc045d228e21242467a67a5f99347553",
      "tree": "2c24052844da18e7a736680b5af9ea97581cebd0",
      "parents": [
        "83668e7141c7a0aa4035bde94344b81f9cf966ab"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Nov 08 13:47:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:47:33 2010 -0500"
      },
      "message": "ext4: do not try to grab the s_umount semaphore in ext4_quota_off\n\nIt\u0027s not needed to sync the filesystem, and it fixes a lock_dep complaint.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\n\n"
    },
    {
      "commit": "83668e7141c7a0aa4035bde94344b81f9cf966ab",
      "tree": "34d9fd52470b475d6e9d88ece8ca1ba80bf85a42",
      "parents": [
        "f7ad6d2e9201a6e1c9ee6530a291452eb695feb8"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:45:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:45:33 2010 -0500"
      },
      "message": "ext4: fix potential race when freeing ext4_io_page structures\n\nUse an atomic_t and make sure we don\u0027t free the structure while we\nmight still be submitting I/O for that page.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f7ad6d2e9201a6e1c9ee6530a291452eb695feb8",
      "tree": "006cdcfd487404fb61986e3030d96cb33866755d",
      "parents": [
        "ce7e010aef63dc6b37a2354f7c9f5f4aedb37978"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:43:33 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 08 13:43:33 2010 -0500"
      },
      "message": "ext4: handle writeback of inodes which are being freed\n\nThe following BUG can occur when an inode which is getting freed when\nit still has dirty pages outstanding, and it gets deleted (in this\nbecause it was the target of a rename).  In ordered mode, we need to\nmake sure the data pages are written just in case we crash before the\nrename (or unlink) is committed.  If the inode is being freed then\nwhen we try to igrab the inode, we end up tripping the BUG_ON at\nfs/ext4/page-io.c:146.\n\nTo solve this problem, we need to keep track of the number of io\ncallbacks which are pending, and avoid destroying the inode until they\nhave all been completed.  That way we don\u0027t have to bump the inode\ncount to keep the inode from being destroyed; an approach which\ndoesn\u0027t work because the count could have already been dropped down to\nzero before the inode writeback has started (at which point we\u0027re not\nallowed to bump the count back up to 1, since it\u0027s already started\ngetting freed).\n\nThanks to Dave Chinner for suggesting this approach, which is also\nused by XFS.\n\n  kernel BUG at /scratch_space/linux-2.6/fs/ext4/page-io.c:146!\n  Call Trace:\n   [\u003cffffffff811075b1\u003e] ext4_bio_write_page+0x172/0x307\n   [\u003cffffffff811033a7\u003e] mpage_da_submit_io+0x2f9/0x37b\n   [\u003cffffffff811068d7\u003e] mpage_da_map_and_submit+0x2cc/0x2e2\n   [\u003cffffffff811069b3\u003e] mpage_add_bh_to_extent+0xc6/0xd5\n   [\u003cffffffff81106c66\u003e] write_cache_pages_da+0x2a4/0x3ac\n   [\u003cffffffff81107044\u003e] ext4_da_writepages+0x2d6/0x44d\n   [\u003cffffffff81087910\u003e] do_writepages+0x1c/0x25\n   [\u003cffffffff810810a4\u003e] __filemap_fdatawrite_range+0x4b/0x4d\n   [\u003cffffffff810815f5\u003e] filemap_fdatawrite_range+0xe/0x10\n   [\u003cffffffff81122a2e\u003e] jbd2_journal_begin_ordered_truncate+0x7b/0xa2\n   [\u003cffffffff8110615d\u003e] ext4_evict_inode+0x57/0x24c\n   [\u003cffffffff810c14a3\u003e] evict+0x22/0x92\n   [\u003cffffffff810c1a3d\u003e] iput+0x212/0x249\n   [\u003cffffffff810bdf16\u003e] dentry_iput+0xa1/0xb9\n   [\u003cffffffff810bdf6b\u003e] d_kill+0x3d/0x5d\n   [\u003cffffffff810be613\u003e] dput+0x13a/0x147\n   [\u003cffffffff810b990d\u003e] sys_renameat+0x1b5/0x258\n   [\u003cffffffff81145f71\u003e] ? _atomic_dec_and_lock+0x2d/0x4c\n   [\u003cffffffff810b2950\u003e] ? cp_new_stat+0xde/0xea\n   [\u003cffffffff810b29c1\u003e] ? sys_newlstat+0x2d/0x38\n   [\u003cffffffff810b99c6\u003e] sys_rename+0x16/0x18\n   [\u003cffffffff81002a2b\u003e] system_call_fastpath+0x16/0x1b\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nTested-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\n"
    },
    {
      "commit": "d8672d64b88cdb7aa8139fb6d218f40b8cbf60af",
      "tree": "71d955bc89b33df3f838f8e1e8c0cbcd3f2bfc62",
      "parents": [
        "8bd59e0188c04f6540f00e13f633f22e4804ce06"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 09:24:34 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 09:24:34 2010 -0800"
      },
      "message": "ceph: fix update of ctime from MDS\n\nThe client can have a newer ctime than the MDS due to AUTH_EXCL and\nXATTR_EXCL caps as well; update the check in ceph_fill_file_time\nappropriately.\n\nThis fixes cases where ctime/mtime goes backward under the right sequence\nof local updates (e.g. chmod) and mds replies (e.g. subsequent stat that\ngoes to the MDS).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8bd59e0188c04f6540f00e13f633f22e4804ce06",
      "tree": "7f311b4fc75dea4fcd71aedbfa85ce7b6cfd712d",
      "parents": [
        "cb4276cca4695670916a82e359f2e3776f0a9138"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 09:23:12 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 09:23:12 2010 -0800"
      },
      "message": "ceph: fix version check on racing inode updates\n\nWe may get updates on the same inode from multiple MDSs; generally we only\npay attention if the update is newer than what we already have.  The\nexception is when an MDS sense unstable information, in which case we\nalways update.\n\nThe old \u003e check got this wrong when our version was odd (e.g. 3) and the\nreply version was even (e.g. 2): the older stale (v2) info would be\napplied.  Fixed and clarified the comment.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cb4276cca4695670916a82e359f2e3776f0a9138",
      "tree": "09695ba622771c933e045bafe63c1da1139266f3",
      "parents": [
        "cd045cb42a266882ac24bc21a3a8d03683c72954"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 07:28:52 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 07:29:05 2010 -0800"
      },
      "message": "ceph: fix uid/gid on resent mds requests\n\nMDS requests can be rebuilt and resent in non-process context, but were\nfilling in uid/gid from current_fsuid/gid.  Put that information in the\nrequest struct on request setup.\n\nThis fixes incorrect (and root) uid/gid getting set for requests that\nare forwarded between MDSs, usually due to metadata migrations.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cd045cb42a266882ac24bc21a3a8d03683c72954",
      "tree": "2938560e8362804e829cc9feb23ef746d354140b",
      "parents": [
        "feb4cc9bb433bf1491ac5ffbba133f3258dacf06"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 04 11:05:05 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 08 07:29:05 2010 -0800"
      },
      "message": "ceph: fix rdcache_gen usage and invalidate\n\nWe used to use rdcache_gen to indicate whether we \"might\" have cached\npages.  Now we just look at the mapping to determine that.  However, some\nold behavior remains from that transition.\n\nFirst, rdcache_gen \u003d\u003d 0 no longer means we have no pages.  That can happen\nat any time (presumably when we carry FILE_CACHE).  We should not reset it\nto zero, and we should not check that it is zero.\n\nThat means that the only purpose for rdcache_revoking is to resolve races\nbetween new issues of FILE_CACHE and an async invalidate.  If they are\nequal, we should invalidate.  On success, we decrement rdcache_revoking,\nso that it is no longer equal to rdcache_gen.  Similarly, if we success\nin doing a sync invalidate, set revoking \u003d gen - 1.  (This is a small\noptimization to avoid doing unnecessary invalidate work and does not\naffect correctness.)\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "feb4cc9bb433bf1491ac5ffbba133f3258dacf06",
      "tree": "6339043d3fd867683459d9dc33f146b2f7e37d75",
      "parents": [
        "912a9b0319a8eb9e0834b19a25e01013ab2d6a9f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:39:00 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:39:23 2010 -0800"
      },
      "message": "ceph: re-request max_size if cap auth changes\n\nIf the auth cap migrates to another MDS, clear requested_max_size so that\nwe resend any pending max_size increase requests.  This fixes potential\nhangs on writes that extend a file and race with an cap migration between\nMDSs.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "912a9b0319a8eb9e0834b19a25e01013ab2d6a9f",
      "tree": "7b04fca1669f006c1a1f35da8d986ca8ad11161c",
      "parents": [
        "7421ab8041d98363edfb85955fa3b9849ffae366"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:37:25 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:39:21 2010 -0800"
      },
      "message": "ceph: only let auth caps update max_size\n\nOnly the auth MDS has a meaningful max_size value for us, so only update it\nin fill_inode if we\u0027re being issued an auth cap.  Otherwise, a random\nstat result from a non-auth MDS can clobber a meaningful max_size, get\nthe client\u003c-\u003emds cap state out of sync, and make writes hang.\n\nSpecifically, even if the client re-requests a larger max_size (which it\nwill), the MDS won\u0027t respond because as far as it knows we already have a\nsufficiently large value.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7421ab8041d98363edfb85955fa3b9849ffae366",
      "tree": "d1ae0dbaf56ed8f56849f4199626a303ec86b03d",
      "parents": [
        "d8b16b3d1c9d8d9124d647d05797383d35e2d645"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:07:15 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 09:07:15 2010 -0800"
      },
      "message": "ceph: fix open for write on clustered mds\n\nNormally when we open a file we already have a cap, and simply update the\nwanted set.  However, if we open a file for write, but don\u0027t have an auth\ncap, that doesn\u0027t work; we need to open a new cap with the auth MDS.  Only\nreuse existing caps if we are opening for read or the existing cap is auth.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d8b16b3d1c9d8d9124d647d05797383d35e2d645",
      "tree": "29bd57396f016572b5535c17a198b24062e2c79d",
      "parents": [
        "df9f86faf3ee610527ed02031fe7dd3c8b752e44"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 06 12:41:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun Nov 07 08:40:43 2010 -0800"
      },
      "message": "ceph: fix bad pointer dereference in ceph_fill_trace\n\nWe dereference *in a few lines down, but only set it on rename.  It is\napparently pretty rare for this to trigger, but I have been hitting it\nwith a clustered MDSs.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2e5c36722d4c9c86281f25a1e963a6078c7fce6a",
      "tree": "373e6d3f2858d69feb9828835e4856bec294d98e",
      "parents": [
        "e0a70217107e6f9844628120412cb27bb4cea194",
        "c67236281c5d749741f5414103903a7c1b9c4636"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:17:01 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer\n  cifs: dereferencing first then checking\n  cifs: trivial comment fix: tlink_tree is now a rbtree\n  [CIFS] Cleanup unused variable build warning\n  cifs: convert tlink_tree to a rbtree\n  cifs: store pointer to master tlink in superblock (try #2)\n  cifs: trivial doc fix: note setlease implemented\n  CIFS: Add cifs_set_oplock_level\n  FS: cifs, remove unneeded NULL tests\n"
    },
    {
      "commit": "c67236281c5d749741f5414103903a7c1b9c4636",
      "tree": "ddc93fd5fcf47db18ce067309475a12a32b4c00c",
      "parents": [
        "d38922949d377da7d47473c7868334408ae3b373"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Nov 03 10:58:57 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 05 17:39:01 2010 +0000"
      },
      "message": "cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer\n\nAll the callers already have a pointer to struct cifsInodeInfo. Use it.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d38922949d377da7d47473c7868334408ae3b373",
      "tree": "322cf984f274c45da08d57acc74d29bb5c5e5048",
      "parents": [
        "6ef933a38ade555a175ecab9d803e6bb73399763"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Nov 02 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 04 19:39:07 2010 +0000"
      },
      "message": "cifs: dereferencing first then checking\n\nThis patch is based on Dan\u0027s original patch. His original description is\nbelow:\n\nSmatch complained about a couple checking for NULL after dereferencing\nbugs.  I\u0027m not super familiar with the code so I did the conservative\nthing and move the dereferences after the checks.\n\nThe dereferences in cifs_lock() and cifs_fsync() were added in\nba00ba64cf0 \"cifs: make various routines use the cifsFileInfo-\u003etcon\npointer\".  The dereference in find_writable_file() was added in\n6508d904e6f \"cifs: have find_readable/writable_file filter by fsuid\".\nThe comments there say it\u0027s possible to trigger the NULL dereference\nunder stress.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ef933a38ade555a175ecab9d803e6bb73399763",
      "tree": "4def2e603604ce790709748e7729688bee3f2a3a",
      "parents": [
        "54eeafe1e4fb7b11da17adacacb1fbe279e0cf6e"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 03 10:53:49 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 04 19:35:30 2010 +0000"
      },
      "message": "cifs: trivial comment fix: tlink_tree is now a rbtree\n\nNoticed while reviewing (late) the rbtree conversion patchset (which has been merged\nalready).\n\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ce7e010aef63dc6b37a2354f7c9f5f4aedb37978",
      "tree": "458ee0c4887e989522e62701350edf9571dfce48",
      "parents": [
        "b2c78cd09b6ef78c8f20190f0b3e6df1d3651b70"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 03 12:03:21 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 03 12:03:21 2010 -0400"
      },
      "message": "ext4: initialize the percpu counters before replaying the journal\n\nWe now initialize the percpu counters before replaying the journal,\nbut after the journal, we recalculate the global counters, to deal\nwith the possibility of the per-blockgroup counts getting updated by\nthe journal replay.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "21b75b019983dfa5c2dda588f4b60b4ca69844a4",
      "tree": "c1e0a8c4e136a0de35fc996a7ed6c5db1e6bb9cc",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 26 10:07:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 02 17:13:52 2010 -0400"
      },
      "message": "nfsd4: fix 4.1 connection registration race\n\nIf a connection is closed just after a sequence or create_session\nis sent over it, we could end up trying to register a callback that will\nnever get called since the xprt is already marked dead.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "54eeafe1e4fb7b11da17adacacb1fbe279e0cf6e",
      "tree": "834e7946a6518745ce168dfb6cbd7ffc6c21739c",
      "parents": [
        "b647c35f77af9c07d336247b23014596e9f0a593"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "message": "[CIFS] Cleanup unused variable build warning\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b647c35f77af9c07d336247b23014596e9f0a593",
      "tree": "653949250681fd1c23ad529b631da793f95778a6",
      "parents": [
        "413e661c136c52290de1ee19a1b049a4da9dbf51"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 28 11:16:44 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:20:23 2010 +0000"
      },
      "message": "cifs: convert tlink_tree to a rbtree\n\nRadix trees are ideal when you want to track a bunch of pointers and\ncan\u0027t embed a tracking structure within the target of those pointers.\nThe tradeoff is an increase in memory, particularly if the tree is\nsparse.\n\nIn CIFS, we use the tlink_tree to track tcon_link structs. A tcon_link\ncan never be in more than one tlink_tree, so there\u0027s no impediment to\nusing a rb_tree here instead of a radix tree.\n\nConvert the new multiuser mount code to use a rb_tree instead. This\nshould reduce the memory required to manage the tlink_tree.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "413e661c136c52290de1ee19a1b049a4da9dbf51",
      "tree": "cd875b7b3cab4c9df89b360734a2d55d220acd43",
      "parents": [
        "df098db12ada832c0232ee1f91eff21a8701889c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 28 13:33:38 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:15:09 2010 +0000"
      },
      "message": "cifs: store pointer to master tlink in superblock (try #2)\n\nThis is the second version of this patch, the only difference between\nit and the first one is that this explicitly makes cifs_sb_master_tlink\na static inline.\n\nInstead of keeping a tag on the master tlink in the tree, just keep a\npointer to the master in the superblock. That eliminates the need for\nusing the radix tree to look up a tagged entry.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "df098db12ada832c0232ee1f91eff21a8701889c",
      "tree": "272b78491e0c78e8173f5fe2aef3c371b375cf84",
      "parents": [
        "e66673e39ac9d4749bd9676dd1caf928095409f5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Sat Oct 30 17:06:21 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 18:48:14 2010 +0000"
      },
      "message": "cifs: trivial doc fix: note setlease implemented\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e66673e39ac9d4749bd9676dd1caf928095409f5",
      "tree": "f16191d689910a4f939992d8836e575195633116",
      "parents": [
        "ce2f6fb8bd8c1e85f288033020dfc31c9fc2be94"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Nov 02 12:00:42 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 18:40:54 2010 +0000"
      },
      "message": "CIFS: Add cifs_set_oplock_level\n\nSimplify many places when we need to set oplock level on an inode.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b2c78cd09b6ef78c8f20190f0b3e6df1d3651b70",
      "tree": "d137e42bb765f5ea2b9bf9692ab7f965422447ec",
      "parents": [
        "f4245bd4ebf903541ba758ad06c118626d8c6f18"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:19:30 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:19:30 2010 -0400"
      },
      "message": "ext4: \"ret\" may be used uninitialized in ext4_lazyinit_thread()\n\nNewer GCC\u0027s reported the following build warning:\n\n   fs/ext4/super.c: In function \u0027ext4_lazyinit_thread\u0027:\n   fs/ext4/super.c:2702: warning: \u0027ret\u0027 may be used uninitialized in this function\n\nFix it by removing the need for the ret variable in the first place.\n\nSigned-off-by: \"Lukas Czerner\" \u003clczerner@redhat.com\u003e\nReported-by: \"Stefan Richter\" \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f4245bd4ebf903541ba758ad06c118626d8c6f18",
      "tree": "a599839d8d3ed672d147036b885d4fec548adf65",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Tue Nov 02 14:07:17 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 14:07:17 2010 -0400"
      },
      "message": "ext4: fix lazyinit hang after removing request\n\nWhen the request has been removed from the list and no other request\nhas been issued, we will end up with next wakeup scheduled to\nMAX_JIFFY_OFFSET which is bad. So check for that.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "eb8abb927ae2fd1730e24ea94cd9527f3c086292",
      "tree": "e0ae72934040e8d840db503c311ac070d9850bc8",
      "parents": [
        "7fe19da4ca38fc20cdbc7020fcf2eca8fc756410"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 02 09:34:50 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 02 10:38:30 2010 -0400"
      },
      "message": "ext4: Remove useless spinlock in ext4_getattr()\n\nLinus noted, and complained to me, that doing while lots of \"git diff\"\u0027s\nof kernel sources, these spinlocks were responsible for 27% of the\nspinlock cost on his two-processor system as reported by perf.\n\nGit was doing lots of parallel stats, and this was putting a lot of\npressure on ext4_getattr().  A spinlock to protect a single\nmemory-to-memory copy is pointless, so remove it.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce2f6fb8bd8c1e85f288033020dfc31c9fc2be94",
      "tree": "4b6365efb0c3b6fc4d5989d7128cbbe815b4ee79",
      "parents": [
        "50ae28f0144a790fc63a5b89b9aca3ffa9f88522",
        "e99d11d19977c74b18411cdb59cdebb788237a6e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:48:02 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:48:02 2010 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "50ae28f0144a790fc63a5b89b9aca3ffa9f88522",
      "tree": "b0e77798ad82428f4f0026cf8f72cc0608ab3223",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Nov 01 16:08:55 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:47:21 2010 +0000"
      },
      "message": "FS: cifs, remove unneeded NULL tests\n\nStanse found that pSMBFile in cifs_ioctl and file-\u003ef_path.dentry in\ncifs_user_write are dereferenced prior their test to NULL.\n\nThe alternative is not to dereference them before the tests. The patch is\nto point out the problem, you have to decide.\n\nWhile at it we cache the inode in cifs_user_write to a local variable\nand use all over the function.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: linux-cifs@vger.kernel.org\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e99d11d19977c74b18411cdb59cdebb788237a6e",
      "tree": "6e38134e1d07e7d81236fa4bfb3747d835e14ce1",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Nov 02 05:29:21 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 01 16:34:56 2010 -0400"
      },
      "message": "fs: logfs: Fix up MTD\u003dy build.\n\nCommit 7d945a3aa760 (\"logfs get_sb, part 3\") broke the logfs build when\nCONFIG_MTD is set due to a mangled logfs_get_sb_mtd() definition.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82279e6bd7643da1b3fbda42555c3238c7b00d38",
      "tree": "e3f846e0a7daf6966375809ff4317f9eb57a9af9",
      "parents": [
        "bb8430a2c8fe2b726033017daadf73c69b0348ea",
        "4600d7c493f354a3e338a35bcf8a3bfbe815776a",
        "4882720b267b7b1d1b0ce08334b205f0329d4615"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "message": "Merge branches \u0027irq-core-for-linus\u0027 and \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix up irq_node() for irq_data changes.\n  genirq: Add single IRQ reservation helper\n  genirq: Warn if enable_irq is called before irq is set up\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  semaphore: Remove mutex emulation\n  staging: Final semaphore cleanup\n  jbd2: Convert jbd2_slab_create_sem to mutex\n  hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nFix up trivial change/delete conflicts with deleted \u0027dream\u0027 drivers\n(drivers/staging/dream/camera/{mt9d112.c,mt9p012_fox.c,mt9t013.c,s5k3e2fx.c})\n"
    },
    {
      "commit": "bb8430a2c8fe2b726033017daadf73c69b0348ea",
      "tree": "feb6063cab812816bc67bca4e509995b5ad9217d",
      "parents": [
        "51ee4b84f5c86935b438d6636f34b523edb415a8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 31 08:35:31 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 06:35:15 2010 -0700"
      },
      "message": "locks: remove fl_copy_lock lock_manager operation\n\nThis one was only used for a nasty hack in nfsd, which has recently\nbeen removed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51ee4b84f5c86935b438d6636f34b523edb415a8",
      "tree": "c60e0da8f8b6393477d79ef6d6ce321ee3b8ecaa",
      "parents": [
        "96f935934591b72f5b05fd6923bc8cdcae92f2e5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Oct 31 08:35:10 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 06:35:15 2010 -0700"
      },
      "message": "locks: let the caller free file_lock on -\u003esetlease failure\n\nThe caller allocated it, the caller should free it.\n\nThe only issue so far is that we could change the flp pointer even on an\nerror return if the fl_change callback failed.  But we can simply move\nthe flp assignment after the fl_change invocation, as the callers don\u0027t\ncare about the flp return value if the setlease call failed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcf744a96c66ca6ad7301a372034b771e57f30c4",
      "tree": "4d4094cb2e04b391bd11eedf1466245dc8403704",
      "parents": [
        "05fa3135fdc7b9b510b502a35b6b97d2b38c6f48"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:16 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "nfsd4: initialize delegation pointer to lease\n\nThe NFSv4 server was initializing the dp-\u003edl_flock pointer by the\nsomewhat ridiculous method of a locks_copy_lock callback.\n\nNow that setlease uses the passed-in lock instead of doing a copy,\ndl_flock no longer gets set, resulting in the lock leaking on delegation\nrelease, and later possible hangs (among other problems).\n\nSo, initialize dl_flock and get rid of the callback.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05fa3135fdc7b9b510b502a35b6b97d2b38c6f48",
      "tree": "d533e8112111202ae890b2061c0386669002d080",
      "parents": [
        "096657b65e1ac197e20be5ce7cff6b6ca2532787"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:15 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "locks: fix setlease methods to free passed-in lock\n\nWe modified setlease to require the caller to allocate the new lease in\nthe case of creating a new lease, but forgot to fix up the filesystem\nmethods.\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096657b65e1ac197e20be5ce7cff6b6ca2532787",
      "tree": "61265f8d8075aee437597ffe050f339b207356e7",
      "parents": [
        "0ceaf6c700f8245946a163e387add8675a0c302f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:14 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:15 2010 -0700"
      },
      "message": "locks: fix leaks on setlease errors\n\nWe\u0027re depending on setlease to free the passed-in lease on failure.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ceaf6c700f8245946a163e387add8675a0c302f",
      "tree": "8f1657caff93050e416503b418c11c6e6b62b781",
      "parents": [
        "0d07025effd3da8b9c74f18448823175f4c63a73"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 30 17:31:13 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 18:08:14 2010 -0700"
      },
      "message": "locks: prevent ENOMEM on lease unlock\n\nRemoving a lock shouldn\u0027t require any allocations; a failure due to\nENOMEM leaves the caller with a choice between retrying or giving up and\nleaking an unused lease.\n\nNext we should split the other lease calls into add and delete cases.\nI wanted to start with just the bugfix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1792f17b7210280a3d7ff29da9614ba779cfcedb",
      "tree": "e45797137b7fc4877dd60b289d6fb75c6bdcdcf0",
      "parents": [
        "f02a38d86a14b6e544e218d806ffb0442785f62b",
        "6bff7eccb0d9bdef4123aad5399e73cbc26683a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:50:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:50:37 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify: (22 commits)\n  Ensure FMODE_NONOTIFY is not set by userspace\n  make fanotify_read() restartable across signals\n  fsnotify: remove alignment padding from fsnotify_mark on 64 bit builds\n  fs/notify/fanotify/fanotify_user.c: fix warnings\n  fanotify: Fix FAN_CLOSE comments\n  fanotify: do not recalculate the mask if the ignored mask changed\n  fanotify: ignore events on directories unless specifically requested\n  fsnotify: rename FS_IN_ISDIR to FS_ISDIR\n  fanotify: do not send events for irregular files\n  fanotify: limit number of listeners per user\n  fanotify: allow userspace to override max marks\n  fanotify: limit the number of marks in a single fanotify group\n  fanotify: allow userspace to override max queue depth\n  fsnotify: implement a default maximum queue depth\n  fanotify: ignore fanotify ignore marks if open writers\n  fanotify: allow userspace to flush all marks\n  fsnotify: call fsnotify_parent in perm events\n  fsnotify: correctly handle return codes from listeners\n  fanotify: use __aligned_u64 in fanotify userspace metadata\n  fanotify: implement fanotify listener ordering\n  ...\n"
    },
    {
      "commit": "1a5cea7215f7c6bd3c960d7b44e864f3a73d1ad4",
      "tree": "d8bdd846e5ef83c1707eaf9e9040705d80869260",
      "parents": [
        "d8c0fca68da25ca3df534dfb12ce628675c828e4"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Fri Oct 29 12:06:42 2010 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sat Oct 30 14:07:35 2010 -0400"
      },
      "message": "make fanotify_read() restartable across signals\n\n    In fanotify_read() return -ERESTARTSYS instead of -EINTR to\n    make read() restartable across signals (BSD semantic).\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "925d169f5b86fe57e2f5264ea574cce9a89b719d",
      "tree": "241d3156b427c6398bd3fc5efa9108635d0e189b",
      "parents": [
        "cdf01dd5443d0befc8c6a32cb2e3d2f568fd2558",
        "6418c96107a2b399848bb8cfc6e29f11ca74fb94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 09:05:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 09:05:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (39 commits)\n  Btrfs: deal with errors from updating the tree log\n  Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowed\n  Btrfs: make SNAP_DESTROY async\n  Btrfs: add SNAP_CREATE_ASYNC ioctl\n  Btrfs: add START_SYNC, WAIT_SYNC ioctls\n  Btrfs: async transaction commit\n  Btrfs: fix deadlock in btrfs_commit_transaction\n  Btrfs: fix lockdep warning on clone ioctl\n  Btrfs: fix clone ioctl where range is adjacent to extent\n  Btrfs: fix delalloc checks in clone ioctl\n  Btrfs: drop unused variable in block_alloc_rsv\n  Btrfs: cleanup warnings from gcc 4.6 (nonbugs)\n  Btrfs: Fix variables set but not read (bugs found by gcc 4.6)\n  Btrfs: Use ERR_CAST helpers\n  Btrfs: use memdup_user helpers\n  Btrfs: fix raid code for removing missing drives\n  Btrfs: Switch the extent buffer rbtree into a radix tree\n  Btrfs: restructure try_release_extent_buffer()\n  Btrfs: use the flusher threads for delalloc throttling\n  Btrfs: tune the chunk allocation to 5% of the FS as metadata\n  ...\n\nFix up trivial conflicts in fs/btrfs/super.c and fs/fs-writeback.c, and\nremove use of INIT_RCU_HEAD in fs/btrfs/extent_io.c (that init macro was\nuseless and removed in commit 5e8067adfdba: \"rcu head remove init\")\n"
    },
    {
      "commit": "cdf01dd5443d0befc8c6a32cb2e3d2f568fd2558",
      "tree": "97ff92f14a00146ad20b168559bb13f11db7fafb",
      "parents": [
        "847f877600313e65c5659476b30d74a6f66e388e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:55:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:55:52 2010 -0700"
      },
      "message": "fs-writeback.c: unify some common code\n\nThe btrfs merge looks like hell, because it changes fs-writeback.c, and\nthe crazy code has this repeated \"estimate number of dirty pages\"\ncounting that involves three different helper functions.  And it\u0027s done\nin two different places.\n\nJust unify that whole calculation as a \"get_nr_dirty_pages()\" helper\nfunction, and the merge result will look half-way decent.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79346507ad48895f41b438fa562b1965721f36b9",
      "tree": "5c115ce87f1fbc0b530f30db56cecf824e9f6e05",
      "parents": [
        "706d4b12f8d7edd28d7e879a77235472da393edb",
        "40847437f15221b5822ba70550e8b9fcccfb9bb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:31:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:31:35 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (82 commits)\n  mtd: fix build error in m25p80.c\n  mtd: Remove redundant mutex from mtd_blkdevs.c\n  MTD: Fix wrong check register_blkdev return value\n  Revert \"mtd: cleanup Kconfig dependencies\"\n  mtd: cfi_cmdset_0002: make sector erase command variable\n  mtd: cfi_cmdset_0002: add CFI detection for SST 38VF640x chips\n  mtd: cfi_util: add support for switching SST 39VF640xB chips into QRY mode\n  mtd: cfi_cmdset_0001: use defined value of P_ID_INTEL_PERFORMANCE instead of hardcoded one\n  block2mtd: dubious assignment\n  P4080/mtd: Fix the freescale lbc issue with 36bit mode\n  P4080/eLBC: Make Freescale elbc interrupt common to elbc devices\n  mtd: phram: use KBUILD_MODNAME\n  mtd: OneNAND: S5PC110: Fix double call suspend \u0026 resume function\n  mtd: nand: fix MTD_MODE_RAW writes\n  jffs2: use kmemdup\n  mtd: sm_ftl: cosmetic, use bool when possible\n  mtd: r852: remove useless pci powerup/down from suspend/resume routines\n  mtd: blktrans: fix a race vs kthread_stop\n  mtd: blktrans: kill BKL\n  mtd: allow to unload the mtdtrans module if its block devices aren\u0027t open\n  ...\n\nFix up trivial whitespace-introduced conflict in drivers/mtd/mtdchar.c\n"
    },
    {
      "commit": "504b701bb1655747575095543c083267418e02ac",
      "tree": "2533953d8b2546ddb24cee560512d776c29e8815",
      "parents": [
        "2d10d8737ccdba752d60106abbc6ed4f37404923"
      ],
      "author": {
        "name": "wu zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Sat Oct 30 08:19:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 08:19:35 2010 -0700"
      },
      "message": "fs/compat.c: fix build on MIPS/s390\n\nThe definition of PAGE_CACHE_MASK in \u003clinux/pagemap.h\u003e is needed to use\nMAX_RW_COUNT, and on x86-64 that gets done indirectly through the\narchitecture header includes.  But on MIPS and s390 that doesn\u0027t happen,\nand we need to make sure that fs/compat.c includes pagemap.h explicitly.\n\nIntroduced in commit 435f49a518c7 (\"readv/writev: do the same\nMAX_RW_COUNT truncation that read/write does\").\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e (S390)\nReported-by: wu zhangjin \u003cwuzhangjin@gmail.com\u003e (MIPS)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67577927e8d7a1f4b09b4992df640eadc6aacb36",
      "tree": "2e9efe6b5745965faf0dcc084d4613d9356263f9",
      "parents": [
        "6fe4c590313133ebd5dadb769031489ff178ece1",
        "51f00a471ce8f359627dd99aeac322947a0e491b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Oct 30 12:35:11 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Oct 30 12:35:11 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\nConflicts:\n\tdrivers/mtd/mtd_blkdevs.c\n\nMerge Grant\u0027s device-tree bits so that we can apply the subsequent fixes.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6418c96107a2b399848bb8cfc6e29f11ca74fb94",
      "tree": "38064798bde148760a7a3b555c0eb097bfd29fb2",
      "parents": [
        "4260f7c7516f4c209cf0ca34fda99cc9a0847772"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Oct 30 07:34:24 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Oct 30 07:34:24 2010 -0400"
      },
      "message": "Btrfs: deal with errors from updating the tree log\n\nDuring unlink we remove any references to the inode from\nthe tree log.  It can return -ENOENT and other errors,\nand this changes the unlink code to deal with it.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "51dfacdef38b1dd6fc58b03dd1725d517516b115",
      "tree": "71db75044a42f316c5956bb807f9846c14d12b16",
      "parents": [
        "117bf5fbdbdc7a5394e5718b3354238961c83067"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 16 22:34:39 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 30 12:12:50 2010 +0200"
      },
      "message": "jbd2: Convert jbd2_slab_create_sem to mutex\n\njbd2_slab_create_sem is used as a mutex, so make it one.\n\n[ akpm muttered: We may as well make it local to\njbd2_journal_create_slab() also. ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1010162231480.2496@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "117bf5fbdbdc7a5394e5718b3354238961c83067",
      "tree": "06a063f3a3b92bd1896a87ff14bdb0f8900dbf6f",
      "parents": [
        "18cb657ca1bafe635f368346a1676fb04c512edf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 07 14:32:56 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 30 10:12:03 2010 +0200"
      },
      "message": "hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nsbi-\u003ehpfs_creation_de is used as mutex so make it a mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nLKML-Reference: \u003c20100907125056.228874895@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4260f7c7516f4c209cf0ca34fda99cc9a0847772",
      "tree": "7feb5ab81d074b17a7c5b12bcc019c2e1bb010e2",
      "parents": [
        "531cb13f1e417c060b54f979e1659ecd69bea650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:46:43 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:42:10 2010 -0400"
      },
      "message": "Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowed\n\nAdd a mount option user_subvol_rm_allowed that allows users to delete a\n(potentially non-empty!) subvol when they would otherwise we allowed to do\nan rmdir(2).  We duplicate the may_delete() checks from the core VFS code\nto implement identical security checks (minus the directory size check).\nWe additionally require that the user has write+exec permission on the\nsubvol root inode.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "531cb13f1e417c060b54f979e1659ecd69bea650",
      "tree": "6b421ac1ddf7cad271cd0c767f0c19e6c4f826df",
      "parents": [
        "72fd032e94240d001b1d22f2c1dfd2592b02e44e"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:42:10 2010 -0400"
      },
      "message": "Btrfs: make SNAP_DESTROY async\n\nThere is no reason to force an immediate commit when deleting a snapshot.\nUsers have some expectation that space from a deleted snapshot be freed\nimmediately, but even if we do commit the reclaim is a background process.\n\nIf users _do_ want the deletion to be durable, they can call \u0027sync\u0027.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "72fd032e94240d001b1d22f2c1dfd2592b02e44e",
      "tree": "7671ea5585f79a8cecc9708e869aa37e24eb74de",
      "parents": [
        "462045928bda777c86919a396a42991fcf235378"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 21:41:57 2010 -0400"
      },
      "message": "Btrfs: add SNAP_CREATE_ASYNC ioctl\n\nCreate a snap without waiting for it to commit to disk.  The ioctl is\nordered such that subsequent operations will not be contained by the\ncreated snapshot, and the commit is initiated, but the ioctl does not\nwait for the snapshot to commit to disk.\n\nWe return the specific transid to userspace so that an application can wait\nfor this specific snapshot creation to commit via the WAIT_SYNC ioctl.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "12462f2df4d10ea4f6d55b9d438ff788badec3f0",
      "tree": "7ef2335c9df9b9cb45aa64c9dfcf8819bdcdf06f",
      "parents": [
        "d2df40857fd57f02906e6ac1484d10cb7accbc86",
        "8747f954817212b4623f9067d4909cbde04b4d89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:15:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:15:12 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Print mount_auth_tok_only param in ecryptfs_show_options\n  ecryptfs: added ecryptfs_mount_auth_tok_only mount parameter\n  ecryptfs: checking return code of ecryptfs_find_auth_tok_for_sig()\n  ecryptfs: release keys loaded in ecryptfs_keyring_auth_tok_for_sig()\n  eCryptfs: Clear LOOKUP_OPEN flag when creating lower file\n  ecryptfs: call vfs_setxattr() in ecryptfs_setxattr()\n"
    },
    {
      "commit": "462045928bda777c86919a396a42991fcf235378",
      "tree": "c2b12ff8e9ef1951b5960b853034bd4165578f99",
      "parents": [
        "bb9c12c945cbd1b0eaa1589546dde772ccabeeba"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:41:32 2010 -0400"
      },
      "message": "Btrfs: add START_SYNC, WAIT_SYNC ioctls\n\nSTART_SYNC will start a sync/commit, but not wait for it to\ncomplete.  Any modification started after the ioctl returns is\nguaranteed not to be included in the commit.  If a non-NULL\npointer is passed, the transaction id will be returned to\nuserspace.\n\nWAIT_SYNC will wait for any in-progress commit to complete.  If a\ntransaction id is specified, the ioctl will block and then\nreturn (success) when the specified transaction has committed.\nIf it has already committed when we call the ioctl, it returns\nimmediately.  If the specified transaction doesn\u0027t exist, it\nreturns EINVAL.\n\nIf no transaction id is specified, WAIT_SYNC will wait for the\ncurrently committing transaction to finish it\u0027s commit to disk.\nIf there is no currently committing transaction, it returns\nsuccess.\n\nThese ioctls are useful for applications which want to impose an\nordering on when fs modifications reach disk, but do not want to\nwait for the full (slow) commit process to do so.\n\nPicky callers can take the transid returned by START_SYNC and\nfeed it to WAIT_SYNC, and be certain to wait only as long as\nnecessary for the transaction _they_ started to reach disk.\n\nSloppy callers can START_SYNC and WAIT_SYNC without a transid,\nand provided they didn\u0027t wait too long between the calls, they\nwill get the same result.  However, if a second commit starts\nbefore they call WAIT_SYNC, they may end up waiting longer for\nit to commit as well.  Even so, a START_SYNC+WAIT_SYNC still\nguarantees that any operation completed before the START_SYNC\nreaches disk.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ],
  "next": "bb9c12c945cbd1b0eaa1589546dde772ccabeeba"
}
