)]}'
{
  "log": [
    {
      "commit": "0b001b2edaead6fd906b1f87967ae05f082189c4",
      "tree": "2df377b4b08946af496941e9d18a48e9a100af6b",
      "parents": [
        "5dfcc87fd79dfb96ed155b524337dbd0da4f5993",
        "d525e8ab022cb000e6e31a515ba8c3cf0d9c6130"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 12 11:47:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 12 11:47:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://github.com/chrismason/linux\n\n* \u0027for-linus\u0027 of git://github.com/chrismason/linux:\n  Btrfs: add dummy extent if dst offset excceeds file end in\n  Btrfs: calc file extent num_bytes correctly in file clone\n  btrfs: xattr: fix attribute removal\n  Btrfs: fix wrong nbytes information of the inode\n  Btrfs: fix the file extent gap when doing direct IO\n  Btrfs: fix unclosed transaction handle in btrfs_cont_expand\n  Btrfs: fix misuse of trans block rsv\n  Btrfs: reset to appropriate block rsv after orphan operations\n  Btrfs: skip locking if searching the commit root in csum lookup\n  btrfs: fix warning in iput for bad-inode\n  Btrfs: fix an oops when deleting snapshots\n"
    },
    {
      "commit": "5dfcc87fd79dfb96ed155b524337dbd0da4f5993",
      "tree": "619808e5a371e3055ff6388c98eacddea88fb089",
      "parents": [
        "24114504c4d585ec4aae7a2b2acb81bf741f8c8a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Sep 12 09:38:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 12 11:47:10 2011 -0700"
      },
      "message": "fuse: fix memory leak\n\nkmemleak is reporting that 32 bytes are being leaked by FUSE:\n\n  unreferenced object 0xe373b270 (size 32):\n  comm \"fusermount\", pid 1207, jiffies 4294707026 (age 2675.187s)\n  hex dump (first 32 bytes):\n    01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cb05517d7\u003e] kmemleak_alloc+0x27/0x50\n    [\u003cb0196435\u003e] kmem_cache_alloc+0xc5/0x180\n    [\u003cb02455be\u003e] fuse_alloc_forget+0x1e/0x20\n    [\u003cb0245670\u003e] fuse_alloc_inode+0xb0/0xd0\n    [\u003cb01b1a8c\u003e] alloc_inode+0x1c/0x80\n    [\u003cb01b290f\u003e] iget5_locked+0x8f/0x1a0\n    [\u003cb0246022\u003e] fuse_iget+0x72/0x1a0\n    [\u003cb02461da\u003e] fuse_get_root_inode+0x8a/0x90\n    [\u003cb02465cf\u003e] fuse_fill_super+0x3ef/0x590\n    [\u003cb019e56f\u003e] mount_nodev+0x3f/0x90\n    [\u003cb0244e95\u003e] fuse_mount+0x15/0x20\n    [\u003cb019d1bc\u003e] mount_fs+0x1c/0xc0\n    [\u003cb01b5811\u003e] vfs_kern_mount+0x41/0x90\n    [\u003cb01b5af9\u003e] do_kern_mount+0x39/0xd0\n    [\u003cb01b7585\u003e] do_mount+0x2e5/0x660\n    [\u003cb01b7966\u003e] sys_mount+0x66/0xa0\n\nThis leak report is consistent and happens once per boot on\n3.1.0-rc5-dirty.\n\nThis happens if a FORGET request is queued after the fuse device was\nreleased.\n\nReported-by: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24114504c4d585ec4aae7a2b2acb81bf741f8c8a",
      "tree": "52b9668b53f7d12342984be55b96e5784383a4ae",
      "parents": [
        "87adf1c66cacbc4acd0e696c896755a5091a9d3d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Sep 12 09:31:49 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 12 11:47:10 2011 -0700"
      },
      "message": "fuse: fix flock breakage\n\nCommit 37fb3a30b4 (\"fuse: fix flock\") added in 3.1-rc4 caused flock() to\nfail with ENOSYS with the kernel ABI version 7.16 or earlier.\n\nFix by falling back to testing FUSE_POSIX_LOCKS for ABI versions 7.16\nand earlier.\n\nReported-by: Martin Ziegler \u003cziegler@email.mathematik.uni-freiburg.de\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Martin Ziegler \u003cziegler@email.mathematik.uni-freiburg.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d525e8ab022cb000e6e31a515ba8c3cf0d9c6130",
      "tree": "afaa93134ca050e1169ed8fe68442b4522d9112e",
      "parents": [
        "d72c0842ff0e71342857723bb65f35b71f57b264"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "message": "Btrfs: add dummy extent if dst offset excceeds file end in\n\nYou can see there\u0027s no file extent with range [0, 4096]. Check this by\nbtrfsck:\n\n # btrfsck /dev/sda7\n root 5 inode 258 errors 100\n ...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d72c0842ff0e71342857723bb65f35b71f57b264",
      "tree": "ab0e5037f19fd279fb57b3b653a53d5c92f32e73",
      "parents": [
        "4815053aba7f2304055745df820cd74a39fdaab2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "message": "Btrfs: calc file extent num_bytes correctly in file clone\n\nnum_bytes should be 4096 not 12288.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4815053aba7f2304055745df820cd74a39fdaab2",
      "tree": "30a936c6ebe75af2e8f9c92f7922989ad7b2e111",
      "parents": [
        "a39f75214358d715efa21e2bccf5a709d8649144"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "message": "btrfs: xattr: fix attribute removal\n\nAn attribute is not removed by \u0027setfattr -x attr file\u0027 and remains\nvisible in attr list. This makes xfstests/062 pass again.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a39f75214358d715efa21e2bccf5a709d8649144",
      "tree": "09123dcd9bc9eec46bf76fdd32c42105c299a78f",
      "parents": [
        "0c1a98c81413e00a6c379d898e06a09350d31926"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "message": "Btrfs: fix wrong nbytes information of the inode\n\nIf we write some data into the data hole of the file(no preallocation for this\nhole), Btrfs will allocate some disk space, and update nbytes of the inode, but\nthe other element--disk_i_size needn\u0027t be updated. At this condition, we must\nupdate inode metadata though disk_i_size is not changed(btrfs_ordered_update_i_size()\nreturn 1).\n\n # mkfs.btrfs /dev/sdb1\n # mount /dev/sdb1 /mnt\n # touch /mnt/a\n # truncate -s 856002 /mnt/a\n # dd if\u003d/dev/zero of\u003d/mnt/a bs\u003d4K count\u003d1 conv\u003dnocreat,notrunc\n # umount /mnt\n # btrfsck /dev/sdb1\n root 5 inode 257 errors 400\n found 32768 bytes used err is 1\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0c1a98c81413e00a6c379d898e06a09350d31926",
      "tree": "6f92bcd7954fc8131197ccca25b94a3a88dbb368",
      "parents": [
        "5b397377e97d436fc2ed872fc53f85395bb984e0"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: fix the file extent gap when doing direct IO\n\nWhen we write some data to the place that is beyond the end of the file\nin direct I/O mode, a data hole will be created. And Btrfs should insert\na file extent item that point to this hole into the fs tree. But unfortunately\nBtrfs forgets doing it.\n\nThe following is a simple way to reproduce it:\n # mkfs.btrfs /dev/sdc2\n # mount /dev/sdc2 /test4\n # touch /test4/a\n # dd if\u003d/dev/zero of\u003d/test4/a seek\u003d8 count\u003d1 bs\u003d4K oflag\u003ddirect conv\u003dnocreat,notrunc\n # umount /test4\n # btrfsck /dev/sdc2\n root 5 inode 257 errors 100\n\nReported-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nTested-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5b397377e97d436fc2ed872fc53f85395bb984e0",
      "tree": "ad51702bd7e7357cdf1f1f4fef3999e0127bb192",
      "parents": [
        "98c9942aca05fff198cd5ca629599cd193444809"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: fix unclosed transaction handle in btrfs_cont_expand\n\nThe function - btrfs_cont_expand() forgot to close the transaction handle before\nit jump out the while loop. Fix it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "98c9942aca05fff198cd5ca629599cd193444809",
      "tree": "4013ae687f6a2a6f2f96d9da739bd3bcf468ac79",
      "parents": [
        "65450aa645b1ef7ed74e41c34b28d53333744978"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: fix misuse of trans block rsv\n\nAt the beginning of create_pending_snapshot, trans-\u003eblock_rsv is set\nto pending-\u003eblock_rsv and is used for snapshot things, however, when\nit is done, we do not recover it as will.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "65450aa645b1ef7ed74e41c34b28d53333744978",
      "tree": "db3d56353021c83e5551f91855d56d3b27bf9214",
      "parents": [
        "ddf23b3fc6850bd4654d51ec9457fe7c77cde51e"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: reset to appropriate block rsv after orphan operations\n\nWhile truncating free space cache, we forget to change trans-\u003eblock_rsv\nback to the original one, but leave it with the orphan_block_rsv, and\nthen with option inode_cache enable, it leads to countless warnings of\nbtrfs_alloc_free_block and btrfs_orphan_commit_root:\n\nWARNING: at fs/btrfs/extent-tree.c:5711 btrfs_alloc_free_block+0x180/0x350 [btrfs]()\n...\nWARNING: at fs/btrfs/inode.c:2193 btrfs_orphan_commit_root+0xb0/0xc0 [btrfs]()\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ddf23b3fc6850bd4654d51ec9457fe7c77cde51e",
      "tree": "9f5fe8f71a2793b5f651ef6c535d9116b5094348",
      "parents": [
        "e0b6d65be57fb37ca67b04ce8964546a74d2125c"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: skip locking if searching the commit root in csum lookup\n\nIt\u0027s not enough to just search the commit root, since we could be cow\u0027ing the\nvery block we need to search through, which would mean that its locked and we\u0027ll\nstill deadlock.  So use path-\u003eskip_locking as well.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e0b6d65be57fb37ca67b04ce8964546a74d2125c",
      "tree": "9660c0424da2eaa5271e83533a9346b27389fab2",
      "parents": [
        "14c7cca780bd210564ae964f57a8bb807d0b3dbf"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyich@gmail.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "btrfs: fix warning in iput for bad-inode\n\niput() shouldn\u0027t be called for inodes in I_NEW state.\nWe need to mark inode as constructed first.\n\nWARNING: at fs/inode.c:1309 iput+0x20b/0x210()\nCall Trace:\n [\u003cffffffff8103e7ba\u003e] warn_slowpath_common+0x7a/0xb0\n [\u003cffffffff8103e805\u003e] warn_slowpath_null+0x15/0x20\n [\u003cffffffff810eaf0b\u003e] iput+0x20b/0x210\n [\u003cffffffff811b96fb\u003e] btrfs_iget+0x1eb/0x4a0\n [\u003cffffffff811c3ad6\u003e] btrfs_run_defrag_inodes+0x136/0x210\n [\u003cffffffff811ad55f\u003e] cleaner_kthread+0x17f/0x1a0\n [\u003cffffffff81035b7d\u003e] ? sub_preempt_count+0x9d/0xd0\n [\u003cffffffff811ad3e0\u003e] ? transaction_kthread+0x280/0x280\n [\u003cffffffff8105af86\u003e] kthread+0x96/0xa0\n [\u003cffffffff814336d4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff8105aef0\u003e] ? kthread_worker_fn+0x190/0x190\n [\u003cffffffff814336d0\u003e] ? gs_change+0xb/0xb\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@gentoo.org\u003e\nCC: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: David Sterba \u003cdsterba@suse.cz\u003e\nCC: Josef Bacik \u003cjosef@redhat.com\u003e\nCC: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "14c7cca780bd210564ae964f57a8bb807d0b3dbf",
      "tree": "2115405c81cc91db70cc3eb87f6a8524e87194a0",
      "parents": [
        "f1e490a7ebe41e06324abbbcd86005b0af02a375"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:24 2011 -0400"
      },
      "message": "Btrfs: fix an oops when deleting snapshots\n\nWe can reproduce this oops via the following steps:\n\n$ mkfs.btrfs /dev/sdb7\n$ mount /dev/sdb7 /mnt/btrfs\n$ for ((i\u003d0; i\u003c3; i++)); do btrfs sub snap /mnt/btrfs /mnt/btrfs/s_$i; done\n$ rm -fr /mnt/btrfs/*\n$ rm -fr /mnt/btrfs/*\n\nthen we\u0027ll get\n------------[ cut here ]------------\nkernel BUG at fs/btrfs/inode.c:2264!\n[...]\nCall Trace:\n [\u003cffffffffa05578c7\u003e] btrfs_rmdir+0xf7/0x1b0 [btrfs]\n [\u003cffffffff81150b95\u003e] vfs_rmdir+0xa5/0xf0\n [\u003cffffffff81153cc3\u003e] do_rmdir+0x123/0x140\n [\u003cffffffff81145ac7\u003e] ? fput+0x197/0x260\n [\u003cffffffff810aecff\u003e] ? audit_syscall_entry+0x1bf/0x1f0\n [\u003cffffffff81153d0d\u003e] sys_unlinkat+0x2d/0x40\n [\u003cffffffff8147896b\u003e] system_call_fastpath+0x16/0x1b\nRIP  [\u003cffffffffa054f7b9\u003e] btrfs_orphan_add+0x179/0x1a0 [btrfs]\n\nWhen it comes to btrfs_lookup_dentry, we may set a snapshot\u0027s inode-\u003ei_ino\nto BTRFS_EMPTY_SUBVOL_DIR_OBJECTID instead of BTRFS_FIRST_FREE_OBJECTID,\nwhile the snapshot\u0027s location.objectid remains unchanged.\n\nHowever, btrfs_ino() does not take this into account, and returns a wrong ino,\nand causes the oops.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "290a1cc4f725a53076e0fda804cd4fea84ee4564",
      "tree": "ca7c8f8d78dd7afda036ea1e7a1362093b1578e8",
      "parents": [
        "ed2888e906b56769b4ffabb9c577190438aa68b8",
        "27a7b260f71439c40546b43588448faac01adb93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 10 10:19:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 10 10:19:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: Fix handling for devices from 2TB to 4TB in 0.90 metadata.\n  md/raid1,10: Remove use-after-free bug in make_request.\n  md/raid10: unify handling of write completion.\n  Avoid dereferencing a \u0027request_queue\u0027 after last close.\n"
    },
    {
      "commit": "94007751bb02797ba87bac7aacee2731ac2039a3",
      "tree": "ac45ec9aef327e0a77f3ffd8c09eff9ef1609f95",
      "parents": [
        "43220aa0f22cd3ce5b30246d50ccd696d119edea"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Sep 10 17:20:21 2011 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Sep 10 17:20:21 2011 +1000"
      },
      "message": "Avoid dereferencing a \u0027request_queue\u0027 after last close.\n\nOn the last close of an \u0027md\u0027 device which as been stopped, the device\nis destroyed and in particular the request_queue is freed.  The free\nis done in a separate thread so it might happen a short time later.\n\n__blkdev_put calls bdev_inode_switch_bdi *after* -\u003erelease has been\ncalled.\n\nSince commit f758eeabeb96f878c860e8f110f94ec8820822a9\nbdev_inode_switch_bdi will dereference the \u0027old\u0027 bdi, which lives\ninside a request_queue, to get a spin lock.  This causes the last\nclose on an md device to sometime take a spin_lock which lives in\nfreed memory - which results in an oops.\n\nSo move the called to bdev_inode_switch_bdi before the call to\n-\u003erelease.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "0d20fbbe82dadc43f50a4ca5346e962de23cf950",
      "tree": "b3d63936aff013d6baa57c2cd9aaa3bade22d91c",
      "parents": [
        "0ec26fd0698285b31248e34bf1abb022c00f23d6",
        "aca420bc51f48b0701963ba3a6234442a0cabebd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 09 15:48:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 09 15:48:34 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://ceph.newdream.net/git/ceph-client\n\n* \u0027for-linus\u0027 of git://ceph.newdream.net/git/ceph-client:\n  libceph: fix leak of osd structs during shutdown\n  ceph: fix memory leak\n  ceph: fix encoding of ino only (not relative) paths\n  libceph: fix msgpool\n"
    },
    {
      "commit": "0ec26fd0698285b31248e34bf1abb022c00f23d6",
      "tree": "1d144b5b749a510e819ab0dfb624f3676e9991e9",
      "parents": [
        "e4e436e0bd480668834fe6849a52c5397b7be4fb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Sep 05 18:06:26 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 09 15:42:34 2011 -0700"
      },
      "message": "vfs: automount should ignore LOOKUP_FOLLOW\n\nPrior to 2.6.38 automount would not trigger on either stat(2) or\nlstat(2) on the automount point.\n\nAfter 2.6.38, with the introduction of the -\u003ed_automount()\ninfrastructure, stat(2) and others would start triggering automount\nwhile lstat(2), etc. still would not.  This is a regression and a\nuserspace ABI change.\n\nProblem originally reported here:\n\n  http://thread.gmane.org/gmane.linux.kernel.autofs/6098\n\nIt appears that there was an attempt at fixing various userspace tools\nto not trigger the automount.  But since the stat system call is\nrather common it is impossible to \"fix\" all userspace.\n\nThis patch reverts the original behavior, which is to not trigger on\nstat(2) and other symlink following syscalls.\n\n[ It\u0027s not really clear what the right behavior is.  Apparently Solaris\n  does the \"automount on stat, leave alone on lstat\".  And some programs\n  can get unhappy when \"stat+open+fstat\" ends up giving a different\n  result from the fstat than from the initial stat.\n\n  But the change in 2.6.38 resulted in problems for some people, so\n  we\u0027re going back to old behavior.  Maybe we can re-visit this\n  discussion at some future date  - Linus ]\n\nReported-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54d6d5374491387eafe7f6e05e065232071cc4f0",
      "tree": "3dbde7655ffe1cf95f3fa3592c342c9c77d2a013",
      "parents": [
        "4fc1d39e079e28a5daa2e6ffe6d27c064c7493ce",
        "016f1c54408b1e92e2e8087bfc05ca0a9c258513",
        "9efabc84768ee8e79b50ad6ad6cff94d66da01f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 09:51:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 09:51:43 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6 and git://git.infradead.org/ubi-2.6\n\n* branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: not build debug messages with CONFIG_UBIFS_FS_DEBUG disabled\n\n* branch \u0027linux-next\u0027 of git://git.infradead.org/ubi-2.6:\n  UBI: do not link debug messages when debugging is disabled\n"
    },
    {
      "commit": "51b8b4fb32271d39fbdd760397406177b2b0fd36",
      "tree": "be77b4fee13806914f81e0cde956928a0303d23a",
      "parents": [
        "73f507171cfa407b19f254aef95cbb058c8180cf"
      ],
      "author": {
        "name": "Jim Garlick",
        "email": "garlick.jim@gmail.com",
        "time": "Sun Aug 21 00:21:18 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Sep 06 08:17:16 2011 -0500"
      },
      "message": "fs/9p: Use protocol-defined value for lock/getlock \u0027type\u0027 field.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "73f507171cfa407b19f254aef95cbb058c8180cf",
      "tree": "18456029c1b723669232e1ed45895f9d65853927",
      "parents": [
        "f88657ce3f9713a0c62101dffb0e972a979e77b9"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 16 22:19:28 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Sep 06 08:17:15 2011 -0500"
      },
      "message": "fs/9p: Always ask new inode in lookup for cache mode disabled\n\nThis make sure we don\u0027t end up reusing the unlinked inode object.\nThe ideal way is to use inode i_generation. But i_generation is\nnot available in userspace always.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f88657ce3f9713a0c62101dffb0e972a979e77b9",
      "tree": "d5541a3d82c8c1d65e11e397582eb8a6c2d627e9",
      "parents": [
        "b49d8b5d7007a673796f3f99688b46931293873e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Aug 03 19:55:32 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Sep 06 08:17:15 2011 -0500"
      },
      "message": "fs/9p: Add OS dependent open flags in 9p protocol\n\nSome of the flags are OS/arch dependent we add a 9p\nprotocol value which maps to asm-generic/fcntl.h values in Linux\nBased on the original patch from Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "45089142b1497dab2327d60f6c71c40766fc3ea4",
      "tree": "8a553d984c355fb89d9937d1212dbb0b2cfcc414",
      "parents": [
        "5441ae5eb3614d3c28f77073370738a2820c88e4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jul 25 18:06:33 2011 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Sep 06 08:17:14 2011 -0500"
      },
      "message": "fs/9p: Don\u0027t update file type when updating file attributes\n\nWe should only update attributes that we can change on stat2inode.\nAlso do file type initialization in v9fs_init_inode.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "5441ae5eb3614d3c28f77073370738a2820c88e4",
      "tree": "eb61016b762edb343051e5724527eb1484555085",
      "parents": [
        "ddf28352b80c86754a6424e3a61e8bdf9213b3c7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jul 25 18:06:32 2011 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Sep 06 08:17:14 2011 -0500"
      },
      "message": "fs/9p: Add fid before dentry instantiation\n\nd_instantiate marks the dentry positive. So a parallel lookup and mkdir of\nthe directory can find dentry that doesn\u0027t have fid attached. This can result\nin both the code path doing v9fs_fid_add which results in v9fs_dentry leak.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4d7b5a116f9c08719d98f81e21c7d47f672bdb69",
      "tree": "f9decb477b1715514e059627c4f14eb4526f394d",
      "parents": [
        "b79c4f75e4d3fbfd225660c12f29a7fafcd8e6d9",
        "58d84c4ee0389ddeb86238d5d8359a982c9f7a5b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 02 08:25:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 02 08:25:23 2011 -0700"
      },
      "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: fix -\u003ewrite_inode return values\n  xfs: fix xfs_mark_inode_dirty during umount\n  xfs: deprecate the nodelaylog mount option\n"
    },
    {
      "commit": "58d84c4ee0389ddeb86238d5d8359a982c9f7a5b",
      "tree": "c43d68e71407f45b4ecde6c2602d979ca1d03c34",
      "parents": [
        "866e4ed77448a0c311e1b055eb72ea05423fd799"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Aug 27 05:57:55 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Sep 01 09:46:11 2011 -0500"
      },
      "message": "xfs: fix -\u003ewrite_inode return values\n\nCurrently we always redirty an inode that was attempted to be written out\nsynchronously but has been cleaned by an AIL pushed internall, which is\nrather bogus.  Fix that by doing the i_update_core check early on and\nreturn 0 for it.  Also include async calls for it, as doing any work for\nthose is just as pointless.  While we\u0027re at it also fix the sign for the\nEIO return in case of a filesystem shutdown, and fix the completely\nnon-sensical locking around xfs_log_inode.\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(cherry picked from commit 297db93bb74cf687510313eb235a7aec14d67e97)\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "866e4ed77448a0c311e1b055eb72ea05423fd799",
      "tree": "96180dbd62cc578f48404d639df87163a337135f",
      "parents": [
        "242d621964dd8641df53f7d51d4c6ead655cc5a6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Aug 27 05:57:44 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Aug 31 17:59:39 2011 -0500"
      },
      "message": "xfs: fix xfs_mark_inode_dirty during umount\n\nDuring umount we do not add a dirty inode to the lru and wait for it to\nbecome clean first, but force writeback of data and metadata with\nI_WILL_FREE set.  Currently there is no way for XFS to detect that the\ninode has been redirtied for metadata operations, as we skip the\nmark_inode_dirty call during teardown.  Fix this by setting i_update_core\nnanually in that case, so that the inode gets flushed during inode reclaim.\n\nAlternatively we could enable calling mark_inode_dirty for inodes in\nI_WILL_FREE state, and let the VFS dirty tracking handle this.  I decided\nagainst this as we will get better I/O patterns from reclaim compared to\nthe synchronous writeout in write_inode_now, and always marking the inode\ndirty in some way from xfs_mark_inode_dirty is a better safetly net in\neither case.\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(cherry picked from commit da6742a5a4cc844a9982fdd936ddb537c0747856)\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b79c4f75e4d3fbfd225660c12f29a7fafcd8e6d9",
      "tree": "225b9ee9ec351224f3e3afa4a18c293f3e03f877",
      "parents": [
        "fd53f7d8eea9cd43c5fb6d316ea1ed128c9b8e45",
        "8c0bec2151a47906bf779c6715a10ce04453ab77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 31 15:08:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 31 15:08:19 2011 -0700"
      },
      "message": "Merge tag \u0027for_linus-20110831\u0027 of git://github.com/tytso/ext4\n\n* tag \u0027for_linus-20110831\u0027 of git://github.com/tytso/ext4:\n  ext4: remove i_mutex lock in ext4_evict_inode to fix lockdep complaining\n"
    },
    {
      "commit": "8c0bec2151a47906bf779c6715a10ce04453ab77",
      "tree": "0165e80ba408b5db1e9e2adf9264bf4186b06768",
      "parents": [
        "fcb8ce5cfe30ca9ca5c9a79cdfe26d1993e65e0c"
      ],
      "author": {
        "name": "Jiaying Zhang",
        "email": "jiayingz@google.com",
        "time": "Wed Aug 31 11:50:51 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 31 11:50:51 2011 -0400"
      },
      "message": "ext4: remove i_mutex lock in ext4_evict_inode to fix lockdep complaining\n\nThe i_mutex lock and flush_completed_IO() added by commit 2581fdc810\nin ext4_evict_inode() causes lockdep complaining about potential\ndeadlock in several places.  In most/all of these LOCKDEP complaints\nit looks like it\u0027s a false positive, since many of the potential\ncircular locking cases can\u0027t take place by the time the\next4_evict_inode() is called; but since at the very least it may mask\nreal problems, we need to address this.\n\nThis change removes the flush_completed_IO() and i_mutex lock in\next4_evict_inode().  Instead, we take a different approach to resolve\nthe software lockup that commit 2581fdc810 intends to fix.  Rather\nthan having ext4-dio-unwritten thread wait for grabing the i_mutex\nlock of an inode, we use mutex_trylock() instead, and simply requeue\nthe work item if we fail to grab the inode\u0027s i_mutex lock.\n\nThis should speed up work queue processing in general and also\nprevents the following deadlock scenario: During page fault,\nshrink_icache_memory is called that in turn evicts another inode B.\nInode B has some pending io_end work so it calls ext4_ioend_wait()\nthat waits for inode B\u0027s i_ioend_count to become zero.  However, inode\nB\u0027s ioend work was queued behind some of inode A\u0027s ioend work on the\nsame cpu\u0027s ext4-dio-unwritten workqueue.  As the ext4-dio-unwritten\nthread on that cpu is processing inode A\u0027s ioend work, it tries to\ngrab inode A\u0027s i_mutex lock.  Since the i_mutex lock of inode A is\nstill hold before the page fault happened, we enter a deadlock.\n\nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f5b940997397229975ea073679b03967932a541b",
      "tree": "a477f440175d67b67928d6d11c845fe98f09eb72",
      "parents": [
        "b727d20269e8ef1de002bfea8099f5e9db9e9f23"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Aug 26 18:03:11 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 26 15:09:58 2011 -0700"
      },
      "message": "All Arch: remove linkage for sys_nfsservctl system call\n\nThe nfsservctl system call is now gone, so we should remove all\nlinkage for it.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e096d0c7e2e4e5893792db865dd065ac73cf1f00",
      "tree": "20e603f81a9f1a55d330cba670952b991d564e00",
      "parents": [
        "e33f2d238e2e53e264c758c0849423a9308eb63e"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Thu Aug 25 07:48:12 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 25 10:50:18 2011 -0700"
      },
      "message": "lockdep: Add helper function for dir vs file i_mutex annotation\n\nPurely in-memory filesystems do not use the inode hash as the dcache\ntells us if an entry already exists.  As a result, they do not call\nunlock_new_inode, and thus directory inodes do not get put into a\ndifferent lockdep class for i_sem.\n\nWe need the different lockdep classes, because the locking order for\ni_mutex is different for directory inodes and regular inodes.  Directory\ninodes can do \"readdir()\", which takes i_mutex *before* possibly taking\nmm-\u003emmap_sem (due to a page fault while copying the directory entry to\nuser space).\n\nIn contrast, regular inodes can be mmap\u0027ed, which takes mm-\u003emmap_sem\nbefore accessing i_mutex.\n\nThe two cases can never happen for the same inode, so no real deadlock\ncan occur, but without the different lockdep classes, lockdep cannot\nunderstand that.  As a result, if CONFIG_DEBUG_LOCK_ALLOC is set, this\ncan lead to false positives from lockdep like below:\n\n    find/645 is trying to acquire lock:\n     (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff81109514\u003e] might_fault+0x5c/0xac\n\n    but task is already holding lock:\n     (\u0026sb-\u003es_type-\u003ei_mutex_key#15){+.+.+.}, at: [\u003cffffffff81149f34\u003e]\n    vfs_readdir+0x5b/0xb4\n\n    which lock already depends on the new lock.\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #1 (\u0026sb-\u003es_type-\u003ei_mutex_key#15){+.+.+.}:\n          [\u003cffffffff8108ac26\u003e] lock_acquire+0xbf/0x103\n          [\u003cffffffff814db822\u003e] __mutex_lock_common+0x4c/0x361\n          [\u003cffffffff814dbc46\u003e] mutex_lock_nested+0x40/0x45\n          [\u003cffffffff811daa87\u003e] hugetlbfs_file_mmap+0x82/0x110\n          [\u003cffffffff81111557\u003e] mmap_region+0x258/0x432\n          [\u003cffffffff811119dd\u003e] do_mmap_pgoff+0x2ac/0x306\n          [\u003cffffffff81111b4f\u003e] sys_mmap_pgoff+0x118/0x16a\n          [\u003cffffffff8100c858\u003e] sys_mmap+0x22/0x24\n          [\u003cffffffff814e3ec2\u003e] system_call_fastpath+0x16/0x1b\n\n    -\u003e #0 (\u0026mm-\u003emmap_sem){++++++}:\n          [\u003cffffffff8108a4bc\u003e] __lock_acquire+0xa1a/0xcf7\n          [\u003cffffffff8108ac26\u003e] lock_acquire+0xbf/0x103\n          [\u003cffffffff81109541\u003e] might_fault+0x89/0xac\n          [\u003cffffffff81149cff\u003e] filldir+0x6f/0xc7\n          [\u003cffffffff811586ea\u003e] dcache_readdir+0x67/0x205\n          [\u003cffffffff81149f54\u003e] vfs_readdir+0x7b/0xb4\n          [\u003cffffffff8114a073\u003e] sys_getdents+0x7e/0xd1\n          [\u003cffffffff814e3ec2\u003e] system_call_fastpath+0x16/0x1b\n\nThis patch moves the directory vs file lockdep annotation into a helper\nfunction that can be called by in-memory filesystems and has hugetlbfs\ncall it.\n\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "242d621964dd8641df53f7d51d4c6ead655cc5a6",
      "tree": "50fa61892c54ddf7a46e35d7f76451da3f80a5bd",
      "parents": [
        "b6bede3b4cdfbd188557ab50fceec2e91d295edf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 24 05:57:51 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Aug 25 10:30:05 2011 -0500"
      },
      "message": "xfs: deprecate the nodelaylog mount option\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": "051732bcbe3cff3fea04dc9042266562fe8b0859",
      "tree": "1c709cd8a65747fde8363ce593b77e040c14e3e4",
      "parents": [
        "2983573e491d1e201e802eafa3553ba33d1fd50b",
        "c2183d1e9b3f313dd8ba2b1b0197c8d9fb86a7ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 24 09:14:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 24 09:14:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message\n  fuse: mark pages accessed when written to\n  fuse: delete dead .write_begin and .write_end aops\n  fuse: fix flock\n  fuse: fix non-ANSI void function notation\n"
    },
    {
      "commit": "c2183d1e9b3f313dd8ba2b1b0197c8d9fb86a7ae",
      "tree": "fd9e12ce069012b60e5bdcd15627ccf4912d9ef1",
      "parents": [
        "478e0841b3dce3edc2c67bf0fc51af30f582e9e2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 24 10:20:17 2011 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Aug 24 10:20:17 2011 +0200"
      },
      "message": "fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message\n\nFUSE_NOTIFY_INVAL_ENTRY didn\u0027t check the length of the write so the\nmessage processing could overrun and result in a \"kernel BUG at\nfs/fuse/dev.c:629!\"\n\nReported-by: Han-Wen Nienhuys \u003chanwenn@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "35a177a08d14f238d89d7f03918d3e0482af3240",
      "tree": "72a71fe4cec13e079e182633a62ea9219dbde656",
      "parents": [
        "a76ef86455fd8d199d482acc402675e4dcbe58fe",
        "b6bede3b4cdfbd188557ab50fceec2e91d295edf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 11:41:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 11:41:44 2011 -0700"
      },
      "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: fix tracing builds inside the source tree\n  xfs: remove subdirectories\n  xfs: don\u0027t expect xfs headers to be in subdirectories\n"
    },
    {
      "commit": "b6bede3b4cdfbd188557ab50fceec2e91d295edf",
      "tree": "9ebdeda9a0cac40a90d4b01c30380034b6f671d9",
      "parents": [
        "c59d87c460767bc35dafd490139d3cfe78fb8da4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Aug 14 17:13:00 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Aug 22 16:37:24 2011 -0500"
      },
      "message": "xfs: fix tracing builds inside the source tree\n\nThe code really requires the current source directory to be in the\nheader search path.  We already do this if building with an object\ntree separate from the source, but it needs to be added manually\nif building inside the source.  The cflags addition for it accidentally\ngot removed when collapsing the xfs directory structure.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "259a187ade45056fd44856654f78aa9e9f0f7c75",
      "tree": "9e402d904c854dc561526b80ad0f8977f42c5fbd",
      "parents": [
        "795858dbd253462a67e14272edeaae73c6074b17"
      ],
      "author": {
        "name": "Noah Watkins",
        "email": "noahwatkins@gmail.com",
        "time": "Mon Aug 22 13:49:41 2011 -0600"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 22 13:06:59 2011 -0700"
      },
      "message": "ceph: fix memory leak\n\nkfree does not clean up indirect allocations in\nceph_fs_client and ceph_options (e.g. snapdir_name).\n\nSigned-off-by: Noah Watkins \u003cnoahwatkins@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "6719db6a23d4b7f1e5052eedae394135e3aef9c1",
      "tree": "2faf96d69696df0edfc0ab4d8f0c980ee0b89986",
      "parents": [
        "c063d8a60fc912ae198f054608ad461a69dc9a19"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Aug 20 08:29:51 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 21 07:02:00 2011 -0700"
      },
      "message": "Btrfs: fix 64 bit divide problem\n\nThis fixes a regression introduced by commit cdcb725c05fe (\"Btrfs: check\nif there is enough space for balancing smarter\").  We can\u0027t do 64-bit\ndivides on 32-bit architectures.\n\nIn cases where we need to divide/multiply by 2 we should just left/right\nshift respectively, and in cases where theres N number of devices use\ndo_div.  Also make the counters u64 to match up with rw_devices.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nAcked-and-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c063d8a60fc912ae198f054608ad461a69dc9a19",
      "tree": "fb7804322f0fa7880b073a5b2a4f2bd1a01ee5c0",
      "parents": [
        "79058c4b9ed82415d0690ce6d520252741653486",
        "dccaf33fa37a1bc5d651baeb3bfeb6becb86597b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 21 06:59:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 21 06:59:41 2011 -0700"
      },
      "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: flush any pending end_io requests before DIO reads w/dioread_nolock\n  ext4: fix nomblk_io_submit option so it correctly converts uninit blocks\n  ext4: Resolve the hang of direct i/o read in handling EXT4_IO_END_UNWRITTEN.\n  ext4: call ext4_ioend_wait and ext4_flush_completed_IO in ext4_evict_inode\n  ext4: Fix ext4_should_writeback_data() for no-journal mode\n"
    },
    {
      "commit": "dccaf33fa37a1bc5d651baeb3bfeb6becb86597b",
      "tree": "ff41c9c0208589fded8176089380e316dd5c7965",
      "parents": [
        "9dd75f1f1a02d656a11a7b9b9e6c2759b9c1e946"
      ],
      "author": {
        "name": "Jiaying Zhang",
        "email": "jiayingz@google.com",
        "time": "Fri Aug 19 19:13:32 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 19 19:13:32 2011 -0400"
      },
      "message": "ext4: flush any pending end_io requests before DIO reads w/dioread_nolock\n\nThere is a race between ext4 buffer write and direct_IO read with\ndioread_nolock mount option enabled. The problem is that we clear\nPageWriteback flag during end_io time but will do\nuninitialized-to-initialized extent conversion later with dioread_nolock.\nIf an O_direct read request comes in during this period, ext4 will return\nzero instead of the recently written data.\n\nThis patch checks whether there are any pending uninitialized-to-initialized\nextent conversion requests before doing O_direct read to close the race.\nNote that this is just a bandaid fix. The fundamental issue is that we\nclear PageWriteback flag before we really complete an IO, which is\nproblem-prone. To fix the fundamental issue, we may need to implement an\nextent tree cache that we can use to look up pending to-be-converted extents.\n\nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "016f1c54408b1e92e2e8087bfc05ca0a9c258513",
      "tree": "7f306538332540e0357efbcae7b2b91a4503eda2",
      "parents": [
        "93ee7a9340d64f20295aacc3fb6a22b759323280"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Aug 11 12:29:46 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Fri Aug 19 18:58:58 2011 +0300"
      },
      "message": "UBIFS: not build debug messages with CONFIG_UBIFS_FS_DEBUG disabled\n\nWith\n  $ grep -e UBIFS_FS_DEBUG -e DYNAMIC_DEBUG .config\n  # CONFIG_UBIFS_FS_DEBUG is not set\n  CONFIG_DYNAMIC_DEBUG\u003dy\n\nDebug messages are kept in the object files due to the\ndynamic_pr_debug() macro, even if they are never going to be printed:\n  $ make fs/ubifs/super.o\n  $ strings fs/ubifs/super.o | grep \u0027compiled on\u0027\n  compiled on:         Aug 11 2011 at 12:21:38\n\nUse plain printk to fix this.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\n"
    },
    {
      "commit": "35a21b429917baf86d7595826e7314662ec09d0a",
      "tree": "b60e4451fe84fe113fbb98ef09733cd2071998bb",
      "parents": [
        "5c80c71b9a0ec518b4b58d2a61de01a04f4a4453",
        "910ac68a2b80c7de95bc8488734067b1bb15d583"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 22:47:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 22:47:13 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4.1: Return NFS4ERR_BADSESSION to callbacks during session resets\n  NFSv4.1: Fix the callback \u0027highest_used_slotid\u0027 behaviour\n  pnfs-obj: Fix the comp_index !\u003d 0 case\n  pnfs-obj: Bug when we are running out of bio\n  nfs: add missing prefetch.h include\n"
    },
    {
      "commit": "5c80c71b9a0ec518b4b58d2a61de01a04f4a4453",
      "tree": "57e575e546dfa3d17ddc0532715feedb87c82487",
      "parents": [
        "01fa4ba52c36224783107a40126f1c6354d4e965",
        "81d86e1b70961f4816f961875e0c706b0954acad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:20:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:20:00 2011 -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:\n  Btrfs: set i_size properly when fallocating and we already\n  btrfs: unlock on error in btrfs_file_llseek()\n  btrfs: btrfs_permission\u0027s RO check shouldn\u0027t apply to device nodes\n  Btrfs: truncate pages from clone ioctl target range\n  Btrfs: fix uninitialized sync_pending\n  Btrfs: fix wrong free space information\n  btrfs: memory leak in btrfs_add_inode_defrag()\n  Btrfs: use plain page_address() in header fields setget functions\n  Btrfs: forced readonly when btrfs_drop_snapshot() fails\n  Btrfs: check if there is enough space for balancing smarter\n  Btrfs: fix a bug of balance on full multi-disk partitions\n  Btrfs: fix an oops of log replay\n  Btrfs: detect wether a device supports discard\n  Btrfs: force unplugs when switching from high to regular priority bios\n"
    },
    {
      "commit": "01fa4ba52c36224783107a40126f1c6354d4e965",
      "tree": "f084372e990600fb7631a8e583b7ec287ae30a0c",
      "parents": [
        "fbad8991ef9d41d1fad587dff23fa6deff01af83",
        "04c05b4a68c0ab0d6bb41c710a646e56f62a70a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:19:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:19:36 2011 -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  update cifs version to 1.75\n  [CIFS] possible memory corruption on mount\n  cifs: demote cERROR in build_path_from_dentry to cFYI\n"
    },
    {
      "commit": "f6a975c50a1c5e68c376634b4331052990ca3dfd",
      "tree": "e3695841740c2f39aa42699fe019cfbba20f5187",
      "parents": [
        "d522a0d17963e9c2e556db2cbd60c96d40505b6c",
        "710d4403a45c4040a9aa86971d50958f5ae6ed40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:16:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:16:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: fat16 support maximum 4GB file/vol size as WinXP or 7.\n  fat: fix utf8 iocharset warning message\n  fat: fix build warning\n"
    },
    {
      "commit": "04c05b4a68c0ab0d6bb41c710a646e56f62a70a3",
      "tree": "aa948686033bbe8c4b17e000f29f1069dd4084da",
      "parents": [
        "13589c437daf4c8e429b3236c0b923de1c9420d8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 18 04:44:35 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 18 16:55:10 2011 +0000"
      },
      "message": "update cifs version to 1.75\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "13589c437daf4c8e429b3236c0b923de1c9420d8",
      "tree": "de72b74d9214b3ee04a6dcc7df934c29b3eed305",
      "parents": [
        "fa71f447065f676157ba6a2c121ba419818fc559"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 18 04:41:55 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 18 16:53:02 2011 +0000"
      },
      "message": "[CIFS] possible memory corruption on mount\n\nCIFS cleanup_volume_info_contents() looks like having a memory\ncorruption problem.\nWhen UNCip is set to \"\u0026vol-\u003eUNC[2]\" in cifs_parse_mount_options(), it\nshould not be kfree()-ed in cleanup_volume_info_contents().\n\nIntroduced in commit b946845a9dc523c759cae2b6a0f6827486c3221a\n\nSigned-off-by: J.R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "81d86e1b70961f4816f961875e0c706b0954acad",
      "tree": "ac69ce2e8d174260770d1a84d7d8fe910939c923",
      "parents": [
        "9a4327ca1f45f82edad7dc0a4e52ce9316e0950c",
        "f1e490a7ebe41e06324abbbcd86005b0af02a375"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Aug 18 10:38:03 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Aug 18 10:38:03 2011 -0400"
      },
      "message": "Merge branch \u0027btrfs-3.0\u0027 into for-linus\n"
    },
    {
      "commit": "f1e490a7ebe41e06324abbbcd86005b0af02a375",
      "tree": "c8ffa501d66399656377b7b4c633aaadd1604467",
      "parents": [
        "f81c9cdc567cd3160ff9e64868d9a1a7ee226480"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Aug 18 10:36:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Aug 18 10:36:39 2011 -0400"
      },
      "message": "Btrfs: set i_size properly when fallocating and we already\n\nxfstests exposed a problem with preallocate when it fallocates a range that\nalready has an extent.  We don\u0027t set the new i_size properly because we see that\nwe already have an extent.  This isn\u0027t right and we should update i_size if the\nspace already exists.  With this patch we now pass xfstests 075.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9a4327ca1f45f82edad7dc0a4e52ce9316e0950c",
      "tree": "322aa21ccdd9a9aaeac28ccdb08ae1e1b5baeb12",
      "parents": [
        "cb6db4e57632ba8589cc2f9fe1d0aa9116b87ab8"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Aug 18 10:16:05 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Aug 18 10:16:05 2011 -0400"
      },
      "message": "btrfs: unlock on error in btrfs_file_llseek()\n\nThere were some unlocks on error missing in a recent patch to\nbtrfs_file_llseek().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cb6db4e57632ba8589cc2f9fe1d0aa9116b87ab8",
      "tree": "6cfeb1989e0ffdd9b536f908eb97269d0ddcbe65",
      "parents": [
        "93ee7a9340d64f20295aacc3fb6a22b759323280"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.de",
        "time": "Mon Aug 15 17:27:21 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Aug 18 10:16:03 2011 -0400"
      },
      "message": "btrfs: btrfs_permission\u0027s RO check shouldn\u0027t apply to device nodes\n\nThis patch tightens the read-only access checks in btrfs_permission to\n match the constraints in inode_permission. Currently, even though the\n device node itself will be unmodified, read-write access to device nodes\n is denied to when the device node resides on a read-only subvolume or a\n is a file that has been marked read-only by the btrfs conversion utility.\n\n With this patch applied, the check only affects regular files,\n directories, and symlinks. It also restructures the code a bit so that\n we don\u0027t duplicate the MAY_WRITE check for both tests.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "338d0f0a6fbc82407864606f5b64b75aeb3c70f2",
      "tree": "b9804e38d570cce426010cee5aae475a1dfd9604",
      "parents": [
        "b4fd4ae6c6420c18e4bae2c294b7e06f5ff5210f"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Wed Aug 17 17:59:56 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 17 13:31:24 2011 -0700"
      },
      "message": "befs: Validate length of long symbolic links.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "710d4403a45c4040a9aa86971d50958f5ae6ed40",
      "tree": "5cbbfedf3357c057f8d0043964e45b2e7597f0f6",
      "parents": [
        "186b53701ca5a843b07ca44a8d954dc6043c70f4"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Wed Aug 17 19:10:09 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:35:00 2011 +0900"
      },
      "message": "fat: fat16 support maximum 4GB file/vol size as WinXP or 7.\n\nFAT16 support maximum 4GB vol/file size with 64KB cluster size.\n\nWin NT/XP/7 increased the maximum cluster size to 64KB, and file/vol\nsize increased 4GB also.  Although increasing, the file size of linux\nFAT is still limited at 2GB.\n\nI found that it is limited by sb-\u003emaxbytes(0x7fffffff) when partition\nis formatted by FAT16.  sb-\u003es_maxbytes in fill_super should be set to\n0xffffffff like fat32.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "186b53701ca5a843b07ca44a8d954dc6043c70f4",
      "tree": "308d83d28fb04527df232171ed1408c3a9c8d1a5",
      "parents": [
        "8c320c079cde0286d71368961231e426539868b4"
      ],
      "author": {
        "name": "Mihai Moldovan",
        "email": "ionic@ionic.de",
        "time": "Wed Aug 17 19:10:08 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:34:59 2011 +0900"
      },
      "message": "fat: fix utf8 iocharset warning message\n\nThe fat_msg function already formats the given message and appends\na newline to it - we don\u0027t need to do this in the passed message\nstring as well, or will end up with a blank line printed in the\nkernel log ring buffer.\n\nAlso change the loglevel from error to warning.\n\nSigned-off-by: Mihai Moldovan \u003cionic@ionic.de\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "8c320c079cde0286d71368961231e426539868b4",
      "tree": "b966c985aa64ee0a0cb2d619e92c3c43251e20f3",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Jonas Aberg",
        "email": "jonas.aberg@stericsson.com",
        "time": "Wed Aug 17 19:10:06 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:34:58 2011 +0900"
      },
      "message": "fat: fix build warning\n\nThis fixes a compile warning (unititialized variable) in\nthe fat filesystem code.\n\nSigned-off-by: Jonas Aberg \u003cjonas.aberg@stericsson.com\u003e\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "f81c9cdc567cd3160ff9e64868d9a1a7ee226480",
      "tree": "d4812f9328ea0f5945c42a6b694bdcdb7bdbd707",
      "parents": [
        "0e588859618be54ec100373f1b86296271ce5307"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Aug 10 18:04:04 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:31 2011 -0400"
      },
      "message": "Btrfs: truncate pages from clone ioctl target range\n\nWe need to truncate page cache pages for the clone ioctl target range or\nelse we\u0027ll confuse ourselves to no end.  If the old data was cached, we\nused to still see it (until remount).  If the page was partially updated\nwe used to get a mix of old and new data.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0e588859618be54ec100373f1b86296271ce5307",
      "tree": "2973fd20d872d30f9dfe6369b570239a4a1233fd",
      "parents": [
        "bb3ac5a4dfc8eeb881206c77d9f925e320d9c41a"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Aug 05 09:32:37 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:31 2011 -0400"
      },
      "message": "Btrfs: fix uninitialized sync_pending\n\nsync_pending is uninitialized before it be used, fix it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bb3ac5a4dfc8eeb881206c77d9f925e320d9c41a",
      "tree": "ae5cb912cdc3a36a0aa7d43a554658821e0a6161",
      "parents": [
        "f4ac904c411b55e58bb240f332f93db2455f0010"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Aug 05 09:32:35 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:31 2011 -0400"
      },
      "message": "Btrfs: fix wrong free space information\n\nBtrfs subtracted the size of the allocated space twice when it allocated\nthe space from the bitmap in the cluster, it broke the free space information\nand led to oops finally.\n\nAnd this patch also fixes the bug that ctl-\u003efree_space was subtracted\nwithout lock.\n\nReported-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f4ac904c411b55e58bb240f332f93db2455f0010",
      "tree": "410d865fa3f723e023970ece5637f4a21e6de0aa",
      "parents": [
        "c97c2916e25c56e878e3e94efd449e2d688fcb31"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Aug 05 14:19:00 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "btrfs: memory leak in btrfs_add_inode_defrag()\n\nWe don\u0027t use the defrag struct on this path.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c97c2916e25c56e878e3e94efd449e2d688fcb31",
      "tree": "a535a06a0717816007d1c9efcbddd7dfbc494a34",
      "parents": [
        "cb1b69f4508a1e8c1a7907379eafceb7ae0325ef"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Aug 03 08:11:41 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: use plain page_address() in header fields setget functions\n\nWe\u0027ve stopped using highmem for extent buffers.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cb1b69f4508a1e8c1a7907379eafceb7ae0325ef",
      "tree": "2ea242702f3ee814543c3101ddc86a9b97877cf5",
      "parents": [
        "cdcb725c05fe0cb71777c66ddc2445fedbbb3c59"
      ],
      "author": {
        "name": "Tsutomu Itoh",
        "email": "t-itoh@jp.fujitsu.com",
        "time": "Tue Aug 09 07:11:13 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: forced readonly when btrfs_drop_snapshot() fails\n\nThe filesystem turns readonly instead of returning the error to the\ncaller when detected error in btrfs_drop_snapshot().\nand, because the caller doesn\u0027t check the error, the function type is\nchanged to \u0027void\u0027.\n\nSigned-off-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cdcb725c05fe0cb71777c66ddc2445fedbbb3c59",
      "tree": "a2128e008636ad4dd4d6db2131363cc71d45ad73",
      "parents": [
        "38c01b9605923cfdff5413e0a12e58ee8d962257"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Wed Aug 03 10:15:25 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: check if there is enough space for balancing smarter\n\nWhen checking if there is enough space for balancing a block group,\nsince we do not take raid types into consideration, we do not account\ncorrent amounts of space that we needed.  This makes us do some extra\nwork before we get ENOSPC.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "38c01b9605923cfdff5413e0a12e58ee8d962257",
      "tree": "49f7197ee14581d800d927e5860de4d62b77f15b",
      "parents": [
        "34f3e4f23ca3d259fe078f62a128d97ca83508ef"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Tue Aug 02 02:39:03 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: fix a bug of balance on full multi-disk partitions\n\nWhen balancing, we\u0027ll first try to shrink devices for some space,\nbut if it is working on a full multi-disk partition with raid protection,\nwe may encounter a bug, that is, while shrinking, total_bytes may be less\nthan bytes_used, and btrfs may allocate a dev extent that accesses out of\ndevice\u0027s bounds.\n\nThen we will not be able to write or read the data which stores at the end\nof the device, and get the followings:\n\ndevice fsid 0939f071-7ea3-46c8-95df-f176d773bfb6 devid 1 transid 10 /dev/sdb5\nBtrfs detected SSD devices, enabling SSD mode\nbtrfs: relocating block group 476315648 flags 9\nbtrfs: found 4 extents\nattempt to access beyond end of device\nsdb5: rw\u003d145, want\u003d546176, limit\u003d546147\nattempt to access beyond end of device\nsdb5: rw\u003d145, want\u003d546304, limit\u003d546147\nattempt to access beyond end of device\nsdb5: rw\u003d145, want\u003d546432, limit\u003d546147\nattempt to access beyond end of device\nsdb5: rw\u003d145, want\u003d546560, limit\u003d546147\nattempt to access beyond end of device\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "34f3e4f23ca3d259fe078f62a128d97ca83508ef",
      "tree": "91e500624827a43c658268a41d195990db7159df",
      "parents": [
        "d5e2003c2bcda93a8f2e668eb4642d70c9c38301"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Sat Aug 06 08:35:23 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: fix an oops of log replay\n\nWhen btrfs recovers from a crash, it may hit the oops below:\n\n------------[ cut here ]------------\nkernel BUG at fs/btrfs/inode.c:4580!\n[...]\nRIP: 0010:[\u003cffffffffa03df251\u003e]  [\u003cffffffffa03df251\u003e] btrfs_add_link+0x161/0x1c0 [btrfs]\n[...]\nCall Trace:\n [\u003cffffffffa03e7b31\u003e] ? btrfs_inode_ref_index+0x31/0x80 [btrfs]\n [\u003cffffffffa04054e9\u003e] add_inode_ref+0x319/0x3f0 [btrfs]\n [\u003cffffffffa0407087\u003e] replay_one_buffer+0x2c7/0x390 [btrfs]\n [\u003cffffffffa040444a\u003e] walk_down_log_tree+0x32a/0x480 [btrfs]\n [\u003cffffffffa0404695\u003e] walk_log_tree+0xf5/0x240 [btrfs]\n [\u003cffffffffa0406cc0\u003e] btrfs_recover_log_trees+0x250/0x350 [btrfs]\n [\u003cffffffffa0406dc0\u003e] ? btrfs_recover_log_trees+0x350/0x350 [btrfs]\n [\u003cffffffffa03d18b2\u003e] open_ctree+0x1442/0x17d0 [btrfs]\n[...]\n\nThis comes from that while replaying an inode ref item, we forget to\ncheck those old conflicting DIR_ITEM and DIR_INDEX items in fs/file tree,\nthen we will come to conflict corners which lead to BUG_ON().\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nTested-by: Andy Lutomirski \u003cluto@mit.edu\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d5e2003c2bcda93a8f2e668eb4642d70c9c38301",
      "tree": "336234b9d9a144f180bc51738f55fef7f743b725",
      "parents": [
        "2ab1ba68aeaecd41c4b34f0eaf1d70a37367fb1a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Aug 04 14:52:27 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Aug 16 21:09:15 2011 -0400"
      },
      "message": "Btrfs: detect wether a device supports discard\n\nWe have a problem where if a user specifies discard but doesn\u0027t actually support\nit we will return EOPNOTSUPP from btrfs_discard_extent.  This is a problem\nbecause this gets called (in a fashion) from the tree log recovery code, which\nhas a nice little BUG_ON(ret) after it, which causes us to fail the tree log\nreplay.  So instead detect wether our devices support discard when we\u0027re adding\nthem and then don\u0027t issue discards if we know that the device doesn\u0027t support\nit.  And just for good measure set ret \u003d 0 in btrfs_issue_discard just in case\nwe still get EOPNOTSUPP so we don\u0027t screw anybody up like this again.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fa71f447065f676157ba6a2c121ba419818fc559",
      "tree": "ede7c3786c1f2f5fbdd9c546b20af5e4b4a42b5d",
      "parents": [
        "b5ddbf465f3675b19c8f5528b4064cbf278a5c6f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 08 11:50:24 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 16 13:07:24 2011 +0000"
      },
      "message": "cifs: demote cERROR in build_path_from_dentry to cFYI\n\nRunning the cthon tests on a recent kernel caused this message to pop\noccasionally:\n\n    CIFS VFS: did not end path lookup where expected namelen is 0\n\nSome added debugging showed that namelen and dfsplen were both 0 when\nthis occurred. That means that the read_seqretry returned true.\n\nAssuming that the comment inside the if statement is true, this should\nbe harmless and just means that we raced with a rename. If that is the\ncase, then there\u0027s no need for alarm and we can demote this to cFYI.\n\nWhile we\u0027re at it, print the dfsplen too so that we can see what\nhappened here if the message pops during debugging.\n\nCc: stable@kernel.org\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "795858dbd253462a67e14272edeaae73c6074b17",
      "tree": "a9fb8a08682e6387d7d6c745633a6b7e2aec2679",
      "parents": [
        "5185352c163a72cf969b2fbbfb89801b398896fd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 15 13:02:37 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Aug 15 13:03:56 2011 -0700"
      },
      "message": "ceph: fix encoding of ino only (not relative) paths\n\nA \u0027path\u0027 consists of a starting ino and relative component.  Encode even\nwhen there is no relative component.  This is primarily needed by the\nNFS reexport code.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a0b3447fb1d8b32071f473c779a482277816867a",
      "tree": "6b2251c94d791bb2e2331fff362640095637a8f9",
      "parents": [
        "4cb5aa1d01c9794623df6a2320dcd6398cbe5e8e",
        "1c8007b0769d37aa5fcb343b383b0af89ade2f71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:40:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:40:24 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: flush journal completely before releasing metadata inodes\n"
    },
    {
      "commit": "aa2b1cf5ca44811ab842c1cd8d32f95b8f51e557",
      "tree": "751ef6ea7dc70317260e95ac0d5bdf795418e12e",
      "parents": [
        "259a53407d9ae0c109902669c6f2f88a389dd163",
        "e22906c564c2f9c73ee4621ef3b93fe374539f00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:36:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 15 08:36:30 2011 -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: Do not set cifs/ntfs acl using a file handle (try #4)\n  [CIFS] Cleanup use of CONFIG_CIFS_STATS2 ifdef to make transport routines more readable\n"
    },
    {
      "commit": "9dd75f1f1a02d656a11a7b9b9e6c2759b9c1e946",
      "tree": "0e3dc45c410c31fb9ee24e9722a17d0de259b537",
      "parents": [
        "32c80b32c053dc52712dedac5e4d0aa7c93fc353"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 13 12:58:21 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 13 12:58:21 2011 -0400"
      },
      "message": "ext4: fix nomblk_io_submit option so it correctly converts uninit blocks\n\nBug discovered by Jan Kara:\n\nFinally, commit 1449032be17abb69116dbc393f67ceb8bd034f92 returned back\nthe old IO submission code but apparently it forgot to return the old\nhandling of uninitialized buffers so we unconditionnaly call\nblock_write_full_page() without specifying end_io function. So AFAICS\nwe never convert unwritten extents to written in some cases. For\nexample when I mount the fs as: mount -t ext4 -o\nnomblk_io_submit,dioread_nolock /dev/ubdb /mnt and do\n        int fd \u003d open(argv[1], O_RDWR | O_CREAT | O_TRUNC, 0600);\n        char buf[1024];\n        memset(buf, \u0027a\u0027, sizeof(buf));\n        fallocate(fd, 0, 0, 16384);\n        write(fd, buf, sizeof(buf));\n\nI get a file full of zeros (after remounting the filesystem so that\npagecache is dropped) instead of seeing the first KB contain \u0027a\u0027s.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "32c80b32c053dc52712dedac5e4d0aa7c93fc353",
      "tree": "857375faae2d6c562741d14ed13a1411b197baf5",
      "parents": [
        "2581fdc810889fdea97689cb62481201d579c796"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Sat Aug 13 12:30:59 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 13 12:30:59 2011 -0400"
      },
      "message": "ext4: Resolve the hang of direct i/o read in handling EXT4_IO_END_UNWRITTEN.\n\nEXT4_IO_END_UNWRITTEN flag set and the increase of i_aiodio_unwritten\nshould be done simultaneously since ext4_end_io_nolock always clear\nthe flag and decrease the counter in the same time.\n\nWe don\u0027t increase i_aiodio_unwritten when setting\nEXT4_IO_END_UNWRITTEN so it will go nagative and causes some process\nto wait forever.\n\nPart of the patch came from Eric in his e-mail, but it doesn\u0027t fix the\nproblem met by Michael actually.\n\nhttp://marc.info/?l\u003dlinux-ext4\u0026m\u003d131316851417460\u0026w\u003d2\n\nReported-and-Tested-by: Michael Tokarev\u003cmjt@tls.msk.ru\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2581fdc810889fdea97689cb62481201d579c796",
      "tree": "55d7a2244a5efa184e290446c0ee3f61b71bf264",
      "parents": [
        "441c850857148935babe000fc2ba1455fe54a6a9"
      ],
      "author": {
        "name": "Jiaying Zhang",
        "email": "jiayingz@google.com",
        "time": "Sat Aug 13 12:17:13 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 13 12:17:13 2011 -0400"
      },
      "message": "ext4: call ext4_ioend_wait and ext4_flush_completed_IO in ext4_evict_inode\n\nFlush inode\u0027s i_completed_io_list before calling ext4_io_wait to\nprevent the following deadlock scenario: A page fault happens while\nsome process is writing inode A. During page fault,\nshrink_icache_memory is called that in turn evicts another inode\nB. Inode B has some pending io_end work so it calls ext4_ioend_wait()\nthat waits for inode B\u0027s i_ioend_count to become zero. However, inode\nB\u0027s ioend work was queued behind some of inode A\u0027s ioend work on the\nsame cpu\u0027s ext4-dio-unwritten workqueue. As the ext4-dio-unwritten\nthread on that cpu is processing inode A\u0027s ioend work, it tries to\ngrab inode A\u0027s i_mutex lock. Since the i_mutex lock of inode A is\nstill hold before the page fault happened, we enter a deadlock.\n\nAlso moves ext4_flush_completed_IO and ext4_ioend_wait from\next4_destroy_inode() to ext4_evict_inode(). During inode deleteion,\next4_evict_inode() is called before ext4_destroy_inode() and in\next4_evict_inode(), we may call ext4_truncate() without holding\ni_mutex lock. As a result, there is a race between flush_completed_IO\nthat is called from ext4_ext_truncate() and ext4_end_io_work, which\nmay cause corruption on an io_end structure. This change moves\next4_flush_completed_IO and ext4_ioend_wait from ext4_destroy_inode()\nto ext4_evict_inode() to resolve the race between ext4_truncate() and\next4_end_io_work during inode deletion.\n\nSigned-off-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "441c850857148935babe000fc2ba1455fe54a6a9",
      "tree": "aa0ef8ca32a49b2daf072f851938af3f2db35a90",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sat Aug 13 11:25:18 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 13 11:25:18 2011 -0400"
      },
      "message": "ext4: Fix ext4_should_writeback_data() for no-journal mode\n\next4_should_writeback_data() had an incorrect sequence of\ntests to determine if it should return 0 or 1: in\nparticular, even in no-journal mode, 0 was being returned\nfor a non-regular-file inode.\n\nThis meant that, in non-journal mode, we would use\next4_journalled_aops for directories, symlinks, and other\nnon-regular files.  However, calling journalled aop\ncallbacks when there is no valid handle, can cause problems.\n\nThis would cause a kernel crash with Jan Kara\u0027s commit\n2d859db3e4 (\"ext4: fix data corruption in inodes with\njournalled data\"), because we now dereference \u0027handle\u0027 in\next4_journalled_write_end().\n\nI also added BUG_ONs to check for a valid handle in the\nobviously journal-only aops callbacks.\n\nI tested this running xfstests with a scratch device in\nthese modes:\n\n   - no-journal\n   - data\u003dordered\n   - data\u003dwriteback\n   - data\u003djournal\n\nAll work fine; the data\u003djournal run has many failures and a\ncrash in xfstests 074, but this is no different from a\nvanilla kernel.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "e68ff9cd15552e46e0f993eace25af0947b1222d",
      "tree": "28873106aa1c88963a13b34a4bc209875763a4e4",
      "parents": [
        "c44efbaa0ef3cf53fbf6bb57c33d4f199b15f2da",
        "e570280521290c27621d60cffea2400bdf1f2c88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 20:43:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 20:43:01 2011 -0700"
      },
      "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: replace xfs_buf_geterror() with bp-\u003eb_error\n  xfs: Check the return value of xfs_buf_read() for NULL\n  \"xfs: fix error handling for synchronous writes\" revisited\n  xfs: set cursor in xfs_ail_splice() even when AIL was empty\n  xfs: Remove the macro XFS_BUFTARG_NAME\n  xfs: Remove the macro XFS_BUF_TARGET\n  xfs: Remove the macro XFS_BUF_SET_TARGET\n  Replace the macro XFS_BUF_ISPINNED with helper xfs_buf_ispinned\n  xfs: Remove the macro XFS_BUF_SET_PTR\n  xfs: Remove the macro XFS_BUF_PTR\n  xfs: Remove macro XFS_BUF_SET_START\n  xfs: Remove macro XFS_BUF_HOLD\n  xfs: Remove macro XFS_BUF_BUSY and family\n  xfs: Remove the macro XFS_BUF_ERROR and family\n  xfs: Remove the macro XFS_BUF_BFLAGS\n"
    },
    {
      "commit": "c59d87c460767bc35dafd490139d3cfe78fb8da4",
      "tree": "2aad8261f86488e501d9645bd35d1398906da46d",
      "parents": [
        "06f8e2d6754dc631732415b741b5aa58a0f7133f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Aug 12 16:21:35 2011 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 16:21:35 2011 -0500"
      },
      "message": "xfs: remove subdirectories\n\nUse the move from Linux 2.6 to Linux 3.x as an excuse to kill the\nannoying subdirectories in the XFS source code.  Besides the large\namount of file rename the only changes are to the Makefile, a few\nfiles including headers with the subdirectory prefix, and the binary\nsysctl compat code that includes a header under fs/xfs/ from\nkernel/.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "06f8e2d6754dc631732415b741b5aa58a0f7133f",
      "tree": "ed26461699fc8f4d734da5ceb27f7aeec718f2f7",
      "parents": [
        "e570280521290c27621d60cffea2400bdf1f2c88"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 13:57:55 2011 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 13:57:55 2011 -0500"
      },
      "message": "xfs: don\u0027t expect xfs headers to be in subdirectories\n\nFix up some #include directives in preparation for moving a few\nheader files out of xfs source subdirectories.\n\nNote that \"xfs_linux.h\" also got its quoting convention for included\nfiles switched.\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\n"
    },
    {
      "commit": "e570280521290c27621d60cffea2400bdf1f2c88",
      "tree": "4cf24cfa20ecef67b2aafa2309d04a137ecfbe4a",
      "parents": [
        "ac4d6888b21a8be373f3e06f1d4011fbe2bbbeac"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Wed Aug 03 02:18:34 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 13:39:40 2011 -0500"
      },
      "message": "xfs: replace xfs_buf_geterror() with bp-\u003eb_error\n\nSince we just checked bp for NULL, it is ok to replace\nxfs_buf_geterror() with bp-\u003eb_error in these places.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ac4d6888b21a8be373f3e06f1d4011fbe2bbbeac",
      "tree": "6a39e3be9bcf99cddc0ce0b0ed15aac794b527f8",
      "parents": [
        "9e978d8f7db1c5de7cdc6450a8ca208db3b95f84"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Wed Aug 03 02:18:29 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Aug 12 13:39:29 2011 -0500"
      },
      "message": "xfs: Check the return value of xfs_buf_read() for NULL\n\nCheck the return value of xfs_buf_read() for NULL and return ENOMEM\nif it is NULL.  This is necessary in a few spots to avoid subsequent\ncode blindly dereferencing the null buffer pointer.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ce8a84ef1e4b30bcee78aa99bc1032db90a6c1c4",
      "tree": "3faf99c6fbd99eedce3ad2193ce779c25bfc8064",
      "parents": [
        "eeca7360f756f7e36e846f35018df20808c7ef63",
        "d80bcf46f1dae47805260dc60fb900cc4dabe35e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 12 06:43:53 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)\n  e1000e: increase driver version number\n  e1000e: alternate MAC address update\n  e1000e: do not disable receiver on 82574/82583\n  e1000e: alternate MAC address does not work on device id 0x1060\n  PCnet: Fix section mismatch\n  bnx2x: disable dcb on 578xx since not supported yet\n  bnx2x: properly clean indirect addresses\n  bnx2x: prevent race between undi_unload and load flows\n  bnx2x: fix select_queue when FCoE is disabled\n  bnx2x: init FCOE FP only once\n  ipv4: some rt_iif -\u003e rt_route_iif conversions\n  net/bridge/netfilter/ebtables.c: use available error handling code\n  net/netlabel/netlabel_kapi.c: add missing cleanup code\n  net/irda: sh_sir: tidyup compile warning\n  net/irda: sh_sir: add missing header\n  net/irda: sh_irda: add missing header\n  slcan: ldisc generated skbs are received in softirq context\n  scm: Capture the full credentials of the scm sender\n  tcp: initialize variable ecn_ok in syncookies path\n  drivers/net/wireless/wl1251: add missing kfree\n  ...\n"
    },
    {
      "commit": "8cf1fb21632d302fad6404f891b002ab8c13b1b4",
      "tree": "92c7fd08c3a1b8e9a789a285306504b6fece6f23",
      "parents": [
        "8c20871998c082f6fbc963f1449a5ba5140ee39a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Aug 11 14:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 17:51:27 2011 -0700"
      },
      "message": "pnfs: Automatically select blocks \u0026 objects layouts\n\nJust like files-layout, blocks \u0026 objects layouts are part of the\nNFS 4.1 protocol and should be automatically selected if NFS_4_1\nis selected. The small problem is that these depend on other\nKernel support being present, while files only depends on NFS\nitself.\n\nThis patch removes from the user choice the presence of objects\nand blocks layout. But makes sure these are selected only if\nthe depended subsystems are present in the Kernel.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c20871998c082f6fbc963f1449a5ba5140ee39a",
      "tree": "bbc61fb11c8e9f5e02843dbf20bded2c01430ac6",
      "parents": [
        "d2db60df1e7eb39cf0f378dfc4dd8813666d46ef"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Aug 11 09:54:31 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 17:23:40 2011 -0700"
      },
      "message": "ext4: Properly count journal credits for long symlinks\n\nCommit df5e6223407e (\"ext4: fix deadlock in ext4_symlink() in ENOSPC\nconditions\") recalculated the number of credits needed for a long\nsymlink, in the process of splitting it into two transactions.  However,\nthe first credit calculation under-counted because if selinux is\nenabled, credits are needed to create the selinux xattr as well.\n\nOverrunning the reservation will result in an OOPS in\njbd2_journal_dirty_metadata() due to this assert:\n\n  J_ASSERT_JH(jh, handle-\u003eh_buffer_credits \u003e 0);\n\nFix this by increasing the reservation size.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2db60df1e7eb39cf0f378dfc4dd8813666d46ef",
      "tree": "ed130d9b6321a88dfd45bdef72585285146413cd",
      "parents": [
        "72fa59970f8698023045ab0713d66f3f4f96945c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Aug 11 09:51:46 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 17:23:40 2011 -0700"
      },
      "message": "ext3: Properly count journal credits for long symlinks\n\nCommit ae54870a1dc9 (\"ext3: Fix lock inversion in ext3_symlink()\")\nrecalculated the number of credits needed for a long symlink, in the\nprocess of splitting it into two transactions.  However, the first\ncredit calculation under-counted because if selinux is enabled, credits\nare needed to create the selinux xattr as well.\n\nOverrunning the reservation will result in an OOPS in\njournal_dirty_metadata() due to this assert:\n\n  J_ASSERT_JH(jh, handle-\u003eh_buffer_credits \u003e 0);\n\nFix this by increasing the reservation size.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72fa59970f8698023045ab0713d66f3f4f96945c",
      "tree": "ed9a5eaf8212270d464c6d4396ae5a568352a997",
      "parents": [
        "1d229d54dbc26971142f61c3d271a68db236d178"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Mon Aug 08 19:02:04 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 11:24:42 2011 -0700"
      },
      "message": "move RLIMIT_NPROC check from set_user() to do_execve_common()\n\nThe patch http://lkml.org/lkml/2003/7/13/226 introduced an RLIMIT_NPROC\ncheck in set_user() to check for NPROC exceeding via setuid() and\nsimilar functions.\n\nBefore the check there was a possibility to greatly exceed the allowed\nnumber of processes by an unprivileged user if the program relied on\nrlimit only.  But the check created new security threat: many poorly\nwritten programs simply don\u0027t check setuid() return code and believe it\ncannot fail if executed with root privileges.  So, the check is removed\nin this patch because of too often privilege escalations related to\nbuggy programs.\n\nThe NPROC can still be enforced in the common code flow of daemons\nspawning user processes.  Most of daemons do fork()+setuid()+execve().\nThe check introduced in execve() (1) enforces the same limit as in\nsetuid() and (2) doesn\u0027t create similar security issues.\n\nNeil Brown suggested to track what specific process has exceeded the\nlimit by setting PF_NPROC_EXCEEDED process flag.  With the change only\nthis process would fail on execve(), and other processes\u0027 execve()\nbehaviour is not changed.\n\nSolar Designer suggested to re-check whether NPROC limit is still\nexceeded at the moment of execve().  If the process was sleeping for\ndays between set*uid() and execve(), and the NPROC counter step down\nunder the limit, the defered execve() failure because NPROC limit was\nexceeded days ago would be unexpected.  If the limit is not exceeded\nanymore, we clear the flag on successful calls to execve() and fork().\n\nThe flag is also cleared on successful calls to set_user() as the limit\nwas exceeded for the previous user, not the current one.\n\nSimilar check was introduced in -ow patches (without the process flag).\n\nv3 - clear PF_NPROC_EXCEEDED on successful calls to set_user().\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e22906c564c2f9c73ee4621ef3b93fe374539f00",
      "tree": "4f59f2616b6723204dccc28ec3d8d6033573e111",
      "parents": [
        "789e66612367f9975d704c9e4990025cbbbb45ec"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Tue Aug 09 14:30:39 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 11 18:23:45 2011 +0000"
      },
      "message": "cifs: Do not set cifs/ntfs acl using a file handle (try #4)\n\nSet security descriptor using path name instead of a file handle.\nWe can\u0027t be sure that the file handle has adequate permission to\nset a security descriptor (to modify DACL).\n\nFunction set_cifs_acl_by_fid() has been removed since we can\u0027t be\nsure how a file was opened for writing, a valid request can fail\nif the file was not opened with two above mentioned permissions.\nWe could have opted to add on WRITE_DAC and WRITE_OWNER permissions\nto file opens and then use that file handle but adding addtional\npermissions such as WRITE_DAC and WRITE_OWNER could cause an\nany open to fail.\n\nAnd it was incorrect to look for read file handle to set a\nsecurity descriptor anyway.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "789e66612367f9975d704c9e4990025cbbbb45ec",
      "tree": "a3c466f3137ac319b9e15656a1d72aabd7050126",
      "parents": [
        "e6a99d312687a42c077a9b8cb5e757f186edb1b9"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 09 18:44:44 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Aug 11 18:23:45 2011 +0000"
      },
      "message": "[CIFS] Cleanup use of CONFIG_CIFS_STATS2 ifdef to make transport routines more readable\n\nChristoph had requested that the stats related code (in\nCONFIG_CIFS_STATS2) be moved into helpers to make code flow more\nreadable.   This patch should help.   For example the following\nsection from transport.c\n\n                       spin_unlock(\u0026GlobalMid_Lock);\n                       atomic_inc(\u0026ses-\u003eserver-\u003enum_waiters);\n                       wait_event(ses-\u003eserver-\u003erequest_q,\n                                  atomic_read(\u0026ses-\u003eserver-\u003einFlight)\n                                    \u003c cifs_max_pending);\n                       atomic_dec(\u0026ses-\u003eserver-\u003enum_waiters);\n                       spin_lock(\u0026GlobalMid_Lock);\n\nbecomes simpler (with the patch below):\n                       spin_unlock(\u0026GlobalMid_Lock);\n                       cifs_num_waiters_inc(server);\n                       wait_event(server-\u003erequest_q,\n                                  atomic_read(\u0026server-\u003einFlight)\n                                    \u003c cifs_max_pending);\n                       cifs_num_waiters_dec(server);\n                       spin_lock(\u0026GlobalMid_Lock);\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "54a33b190aa5386dd214b4ad02986445e20e83d1",
      "tree": "47f4b28e45bcc2e8c60cc758b8e92f80f446c505",
      "parents": [
        "068ef739127af1faf6f342b56d41ceea89f76c75"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Wed Aug 10 18:29:21 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 11 08:58:02 2011 -0700"
      },
      "message": "NFS41: make PNFS_BLOCK selectable\n\nPNFS_BLOCK needs BLK_DEV_DM/MD, which is not a dependency for other\npnfs layout drivers. Seperate it out so others can still build when\nBLK_DEV_DM/MD is not enabled.\n\nAlso change select to depends on to avoid build failures.\n\nReported-and-tested-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nAcked-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e978d8f7db1c5de7cdc6450a8ca208db3b95f84",
      "tree": "728a04a500acc62e49c944cb46096d651daf0d41",
      "parents": [
        "e44f4112a46ca817fe2758aac7bf7893a64a8c0e"
      ],
      "author": {
        "name": "Ajeet Yadav",
        "email": "ajeet.yadav.77@gmail.com",
        "time": "Fri Jul 29 07:42:59 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Aug 10 17:00:21 2011 -0500"
      },
      "message": "\"xfs: fix error handling for synchronous writes\" revisited\n\nxfs: fix for hang during synchronous buffer write error\n\nIf removed storage while synchronous buffer write underway,\n\"xfslogd\" hangs.\n\nDetailed log http://oss.sgi.com/archives/xfs/2011-07/msg00740.html\n\nRelated work bfc60177f8ab509bc225becbb58f7e53a0e33e81\n\"xfs: fix error handling for synchronous writes\"\n\nGiven that xfs_bwrite actually does the shutdown already after\nwaiting for the b_iodone completion and given that we actually\nfound that calling xfs_force_shutdown from inside\nxfs_buf_iodone_callbacks was a major contributor the problem\nit better to drop this call.\n\nSigned-off-by: Ajeet Yadav \u003cajeet.yadav.77@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d55140ce3a7b36241171bd78c75a5ee85de20439",
      "tree": "427fe4fb647492333a91532952fb47d7c77bcc18",
      "parents": [
        "af9d220bac41dc3201893e1601cc7c44f7da4498",
        "764355487ea220fdc2faf128d577d7f679b91f97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 10 11:08:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 10 11:08:06 2011 -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: Add mount option to check uid of device being mounted \u003d expect uid\n  eCryptfs: Fix payload_len unitialized variable warning\n  eCryptfs: fix compile error\n  eCryptfs: Return error when lower file pointer is NULL\n"
    },
    {
      "commit": "764355487ea220fdc2faf128d577d7f679b91f97",
      "tree": "f265a3f71bd57838bf3d00c26ed385f8978ef139",
      "parents": [
        "99b373ff2d1246f64b97a3d449a2fd6018d504e6"
      ],
      "author": {
        "name": "John Johansen",
        "email": "john.johansen@canonical.com",
        "time": "Fri Jul 22 08:14:15 2011 -0700"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Aug 09 23:29:01 2011 -0500"
      },
      "message": "Ecryptfs: Add mount option to check uid of device being mounted \u003d expect uid\n\nClose a TOCTOU race for mounts done via ecryptfs-mount-private.  The mount\nsource (device) can be raced when the ownership test is done in userspace.\nProvide Ecryptfs a means to force the uid check at mount time.\n\nSigned-off-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e44f4112a46ca817fe2758aac7bf7893a64a8c0e",
      "tree": "5482bffa17b6c335a1140d9a51857fe809772739",
      "parents": [
        "2ddb4e94065470828e131351566102274ea9e83f"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jul 22 16:04:41 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Aug 09 15:30:43 2011 -0500"
      },
      "message": "xfs: set cursor in xfs_ail_splice() even when AIL was empty\n\nIn xfs_ail_splice(), if a cursor is provided it is updated to\npoint to the last item on the list being spliced into the AIL.\nBut if the AIL was found to be empty, the cursor (if provided)\nis just initialized instead.\n\nThere is no reason the empty AIL case needs to be treated any\ndifferently.  And treating it the same way allows this code\nto be rearranged a bit, with a somewhat tidier result.\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "99b373ff2d1246f64b97a3d449a2fd6018d504e6",
      "tree": "03717f86106f9cba373e9a630d82720c6055e15d",
      "parents": [
        "4b6fee17b1758391281ddf5b00328035573f8be1"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Aug 05 04:15:19 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Aug 09 13:42:46 2011 -0500"
      },
      "message": "eCryptfs: Fix payload_len unitialized variable warning\n\nfs/ecryptfs/keystore.c: In function ‘ecryptfs_generate_key_packet_set’:\nfs/ecryptfs/keystore.c:1991:28: warning: ‘payload_len’ may be used uninitialized in this function [-Wuninitialized]\nfs/ecryptfs/keystore.c:1976:9: note: ‘payload_len’ was declared here\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4b6fee17b1758391281ddf5b00328035573f8be1",
      "tree": "58c5b5a0926f5fea6e0c40e87b38761e19b7076e",
      "parents": [
        "f61500e000eedc0c7a0201200a7f00ba5529c002"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Mon Aug 01 13:33:38 2011 +0200"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Aug 09 13:42:46 2011 -0500"
      },
      "message": "eCryptfs: fix compile error\n\nThis patch fixes the compile error reported at the address:\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d40292\n\nThe problem arises when compiling eCryptfs as built-in and the \u0027encrypted\u0027\nkey type as a module. The patch prevents this combination from being set in\nthe kernel configuration, by fixing the eCryptfs dependencies.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nReported-by: David Hill \u003chilld@binarystorm.net\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f61500e000eedc0c7a0201200a7f00ba5529c002",
      "tree": "93ce7e83511a83fa38f4b5d936dc2dfdd3352117",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Aug 04 22:58:51 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Aug 09 13:42:45 2011 -0500"
      },
      "message": "eCryptfs: Return error when lower file pointer is NULL\n\nWhen an eCryptfs inode\u0027s lower file has been closed, and the pointer has\nbeen set to NULL, return an error when trying to do a lower read or\nwrite rather than calling BUG().\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d37292\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "2f84dd70916ccadd25e94d28363182a978f569b6",
      "tree": "1abbe27ce7a8641817f139320ec3d71c2e7d5d6b",
      "parents": [
        "c3ad996246dc5fd6e3df473c5fc1ba6d53e1d402"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:55:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 12:02:43 2011 -0700"
      },
      "message": "autofs4: fix debug printk warning uncovered by cleanup\n\nThe previous comit made the autofs4 debug printouts check types against\nthe printout format, and uncovered this bug:\n\n  fs/autofs4/waitq.c:106:2: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 4 has type ‘autofs_wqt_t’\n\nwhich is due to the insane type for wait_queue_token.  That thing should\nbe some fixed well-defined size (preferably just \u0027unsigned int\u0027 or\n\u0027u32\u0027) but for unexplained reasons it is randomly either \u0027unsigned long\u0027\nor \u0027unsigned int\u0027 depending on the architecture.\n\nFor now, cast it to \u0027unsigned long\u0027 for printing, the way we do\nelsewhere.  Somebody else can try to explain the typedef mess.\n\n(There\u0027s a reason we don\u0027t support excessive use of typedefs in the\nkernel: it\u0027s usually just a good way of confusing yourself).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3ad996246dc5fd6e3df473c5fc1ba6d53e1d402",
      "tree": "b23aa171847cd48832f6cd0c10c10a195c2b888e",
      "parents": [
        "638a8439096c582bdb523fcea9d875d3e1fed38a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:35:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 08 11:35:17 2011 -0700"
      },
      "message": "autofs4: clean up uaotfs use of debug/info/warning printouts\n\nUse \u0027pr_debug()\u0027 for DPRINTK, which will do the proper type checking on\nthe arguments (without generating code) even when DEBUG isn\u0027t #defined.\n\nAlso, use the standard __VA_ARGS__ for the macros, and stop the\npointless abuse of \u0027do { xyz } while (0)\u0027 when the macro is already a\nperfectly well-formed single statement.\n\nReported-by: David Howells \u003cdhowells@redhat.com\u003e\nSuggested-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478e0841b3dce3edc2c67bf0fc51af30f582e9e2",
      "tree": "496f32d81640425d83cae9c4c764f1246a591ca1",
      "parents": [
        "b40cdd56dfa065c0832905e266b39f79419e6914"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Mon Jul 25 22:35:35 2011 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "message": "fuse: mark pages accessed when written to\n\nAs fuse does not use the page cache library functions when userspace\nwrites to a file, it did not benefit from \u0027c8236db mm: mark page\naccessed before we write_end()\u0027 that made sure pages are properly\nmarked accessed when written to.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b40cdd56dfa065c0832905e266b39f79419e6914",
      "tree": "38ea1fa5cd6c49a9baedfc92309e8478d5cc32ae",
      "parents": [
        "37fb3a30b46237f23cfdf7ee09d49f9888dd13bf"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Mon Jul 25 22:35:34 2011 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "message": "fuse: delete dead .write_begin and .write_end aops\n\nEver since \u0027ea9b990 fuse: implement perform_write\u0027, the .write_begin\nand .write_end aops have been dead code.\n\nTheir task - acquiring a page from the page cache, sending out a write\nrequest and releasing the page again - is now done batch-wise to\nmaximize the number of pages send per userspace request.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "37fb3a30b46237f23cfdf7ee09d49f9888dd13bf",
      "tree": "c36910e300ade812159d12218fdf122b3d2ef3de",
      "parents": [
        "a2daff6803a384ce065e3681a2affea1da59c5f5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Aug 08 16:08:08 2011 +0200"
      },
      "message": "fuse: fix flock\n\nCommit a9ff4f87 \"fuse: support BSD locking semantics\" overlooked a\nnumber of issues with supporing flock locks over existing POSIX\nlocking infrastructure:\n\n  - it\u0027s not backward compatible, passing flock(2) calls to userspace\n    unconditionally (if userspace sets FUSE_POSIX_LOCKS)\n\n  - it doesn\u0027t cater for the fact that flock locks are automatically\n    unlocked on file release\n\n  - it doesn\u0027t take into account the fact that flock exclusive locks\n    (write locks) don\u0027t need an fd opened for write.\n\nThe last one invalidates the original premise of the patch that flock\nlocks can be emulated with POSIX locks.\n\nThis patch fixes the first two issues.  The last one needs to be fixed\nin userspace if the filesystem assumed that a write lock will happen\nonly on a file operned for write (as in the case of the current fuse\nlibrary).\n\nReported-by: Sebastian Pipping \u003cwebmaster@hartwork.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "2ddb4e94065470828e131351566102274ea9e83f",
      "tree": "3eb237d28e10d7735d57c051880e8173113acef8",
      "parents": [
        "c35a549c8b9e85bdff7e531a410d10e36b4b4f32",
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Aug 08 07:06:24 2011 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Aug 08 07:06:24 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux\n"
    },
    {
      "commit": "8bab6f14084460d722f253221efa4148d3fc8b16",
      "tree": "858e3496efaa02cd12047f067b1ec1fc08923938",
      "parents": [
        "d547f727df86059104af2234804fdd538e112015"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Aug 06 12:12:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 22:24:41 2011 -0700"
      },
      "message": "compat_ioctl: add compat handler for PPPIOCGL2TPSTATS\n\nfixes following error seen on x86_64 kernel:\nioctl32(openl2tpd:7480): Unknown cmd fd(14) cmd(80487436){t:\u0027t\u0027;sz:72} arg(ffa7e6c0) on socket:[105094]\n\nThe argument (struct pppol2tp_ioc_stats) uses \"aligned_u64\" and thus doesn\u0027t need\nfixups.\n\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "7813b94a54987571082ff19e9d87eabbfec23b4e"
}
