)]}'
{
  "log": [
    {
      "commit": "bcb65a797eb7c51e4f227dd19295f14d38738fee",
      "tree": "7429c3e68bbcb203089a81ac2177613f3980f77f",
      "parents": [
        "23c570a67448e803408191f529ed9a83fd34a25a"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Wed Jul 06 12:26:05 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 06 12:15:16 2011 -0700"
      },
      "message": "FDPIC: Fix memory leak\n\nThe shdr4extnum variable isn\u0027t being freed in the cleanup process of\nelf_fdpic_core_dump().\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a51cb91d81f8e6fc4e5e08b772cc3ceb13ac9d37",
      "tree": "b6289a258d552b9c0daea02b898425d911f4fee9",
      "parents": [
        "a2fa83faf47b514ab947cea916d3691b66525073"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Jul 06 12:33:55 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 06 10:41:13 2011 -0700"
      },
      "message": "fs: fix lock initialization\n\nlocks_alloc_lock() assumed that the allocated struct file_lock is\nalready initialized to zero members.  This is only true for the first\nallocation of the structure, after reuse some of the members will have\nrandom values.\n\nThis will for example result in passing random fl_start values to\nuserspace in fuse for FL_FLOCK locks, which is an information leak at\nbest.\n\nFix by reinitializing those members which may be non-zero after freeing.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "121782a248f11c63c7c0fc78d4a68a54e99ee37d",
      "tree": "fd2a93f961e472bf146c8b752ab303f612d93ed1",
      "parents": [
        "a8728d35549d3203a8cb0055b9d2c217a21ac7eb",
        "d7f124f129a6aea99938e0d4172c741b56fefeda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 05 13:15:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 05 13:15:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix sync and dio writes across stripe boundaries\n  libceph: fix page calculation for non-page-aligned io\n  ceph: fix page alignment corrections\n"
    },
    {
      "commit": "a8728d35549d3203a8cb0055b9d2c217a21ac7eb",
      "tree": "64c3fa6e2ccf72dc5ee0876259349f62481df9d8",
      "parents": [
        "fe0d42203cb5616eeff68b14576a0f7e2dd56625",
        "032016a56a1e9c83646435b32e4416d499e1f1ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 05 10:04:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 05 10:04:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:\n  hfsplus: Fix double iput of the same inode in hfsplus_fill_super()\n  hfsplus: add missing call to bio_put()\n"
    },
    {
      "commit": "ee1b3ea9e6171d7a842527a44873f9f51e6f239b",
      "tree": "550a4d42bcf0d3e7f70caada1605171fd6e832ad",
      "parents": [
        "daf54f1f363a61c618662ef66d4bf09d2b090941"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 21 07:18:26 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jul 01 16:15:30 2011 +0000"
      },
      "message": "cifs: set socket send and receive timeouts before attempting connect\n\nBenjamin S. reported that he was unable to suspend his machine while\nit had a cifs share mounted. The freezer caused this to spew when he\ntried it:\n\n-----------------------[snip]------------------\nPM: Syncing filesystems ... done.\nFreezing user space processes ... (elapsed 0.01 seconds) done.\nFreezing remaining freezable tasks ...\nFreezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy\u003d0):\ncifsd         S ffff880127f7b1b0     0  1821      2 0x00800000\n ffff880127f7b1b0 0000000000000046 ffff88005fe008a8 ffff8800ffffffff\n ffff880127cee6b0 0000000000011100 ffff880127737fd8 0000000000004000\n ffff880127737fd8 0000000000011100 ffff880127f7b1b0 ffff880127736010\nCall Trace:\n [\u003cffffffff811e85dd\u003e] ? sk_reset_timer+0xf/0x19\n [\u003cffffffff8122cf3f\u003e] ? tcp_connect+0x43c/0x445\n [\u003cffffffff8123374e\u003e] ? tcp_v4_connect+0x40d/0x47f\n [\u003cffffffff8126ce41\u003e] ? schedule_timeout+0x21/0x1ad\n [\u003cffffffff8126e358\u003e] ? _raw_spin_lock_bh+0x9/0x1f\n [\u003cffffffff811e81c7\u003e] ? release_sock+0x19/0xef\n [\u003cffffffff8123e8be\u003e] ? inet_stream_connect+0x14c/0x24a\n [\u003cffffffff8104485b\u003e] ? autoremove_wake_function+0x0/0x2a\n [\u003cffffffffa02ccfe2\u003e] ? ipv4_connect+0x39c/0x3b5 [cifs]\n [\u003cffffffffa02cd7b7\u003e] ? cifs_reconnect+0x1fc/0x28a [cifs]\n [\u003cffffffffa02cdbdc\u003e] ? cifs_demultiplex_thread+0x397/0xb9f [cifs]\n [\u003cffffffff81076afc\u003e] ? perf_event_exit_task+0xb9/0x1bf\n [\u003cffffffffa02cd845\u003e] ? cifs_demultiplex_thread+0x0/0xb9f [cifs]\n [\u003cffffffffa02cd845\u003e] ? cifs_demultiplex_thread+0x0/0xb9f [cifs]\n [\u003cffffffff810444a1\u003e] ? kthread+0x7a/0x82\n [\u003cffffffff81002d14\u003e] ? kernel_thread_helper+0x4/0x10\n [\u003cffffffff81044427\u003e] ? kthread+0x0/0x82\n [\u003cffffffff81002d10\u003e] ? kernel_thread_helper+0x0/0x10\n\nRestarting tasks ... done.\n-----------------------[snip]------------------\n\nWe do attempt to perform a try_to_freeze in cifs_reconnect, but the\nconnection attempt itself seems to be taking longer than 20s to time\nout. The connect timeout is governed by the socket send and receive\ntimeouts, so we can shorten that period by setting those timeouts\nbefore attempting the connect instead of after.\n\nAdam Williamson tested the patch and said that it seems to have fixed\nsuspending on his laptop when a cifs share is mounted.\n\nReported-by: Benjamin S \u003cda_joind@gmx.net\u003e\nTested-by: Adam Williamson \u003cawilliam@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "032016a56a1e9c83646435b32e4416d499e1f1ce",
      "tree": "2918b2e31c5cf65b5ea1a8acd087bfe6dd7a94b7",
      "parents": [
        "50176ddefa4a942419cb693dd2d8345bfdcde67c"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Fri Jun 24 01:15:02 2011 +0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 30 13:38:39 2011 +0200"
      },
      "message": "hfsplus: Fix double iput of the same inode in hfsplus_fill_super()\n\nThere is a misprint in resource deallocation code on error path in\nhfsplus_fill_super(): the sbi-\u003ealloc_file inode is iput twice,\nwhile the root inode in not iput at all.\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "50176ddefa4a942419cb693dd2d8345bfdcde67c",
      "tree": "922781d0151cf2e2939056b7dd44932f0b7e559f",
      "parents": [
        "ca56a95eedcc95f8fea7b49c87565cd961d74fe2"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Tue May 31 16:35:50 2011 -0500"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 30 13:28:32 2011 +0200"
      },
      "message": "hfsplus: add missing call to bio_put()\n\nhfsplus leaks bio objects by failing to call bio_put() on the bios\nit allocates. Add the missing call to fix the leak.\n\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e # .38.x, .39.x\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "1d1221f375c94ef961ba8574ac4f85c8870ddd51",
      "tree": "1e05f1c33bef03a88745c55ac9891b8423ae1795",
      "parents": [
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Fri Jun 24 16:08:38 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 09:39:11 2011 -0700"
      },
      "message": "proc: restrict access to /proc/PID/io\n\n/proc/PID/io may be used for gathering private information.  E.g.  for\nopenssh and vsftpd daemons wchars/rchars may be used to learn the\nprecise password length.  Restrict it to processes being able to ptrace\nthe target process.\n\nptrace_may_access() is needed to prevent keeping open file descriptor of\n\"io\" file, executing setuid binary and gathering io information of the\nsetuid\u0027ed process.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08142579b6ca35883c1ed066a2681de6f6917062",
      "tree": "00735ed37753533f3b645714770b4fb036b5f7e0",
      "parents": [
        "9b679320a5fbf46454011e5c62e0b8991b0956d1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 27 16:18:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:13 2011 -0700"
      },
      "message": "mm: fix assertion mapping-\u003enrpages \u003d\u003d 0 in end_writeback()\n\nUnder heavy memory and filesystem load, users observe the assertion\nmapping-\u003enrpages \u003d\u003d 0 in end_writeback() trigger.  This can be caused by\npage reclaim reclaiming the last page from a mapping in the following\nrace:\n\n\tCPU0\t\t\t\tCPU1\n  ...\n  shrink_page_list()\n    __remove_mapping()\n      __delete_from_page_cache()\n        radix_tree_delete()\n\t\t\t\t\tevict_inode()\n\t\t\t\t\t  truncate_inode_pages()\n\t\t\t\t\t    truncate_inode_pages_range()\n\t\t\t\t\t      pagevec_lookup() - finds nothing\n\t\t\t\t\t  end_writeback()\n\t\t\t\t\t    mapping-\u003enrpages !\u003d 0 -\u003e BUG\n        page-\u003emapping \u003d NULL\n        mapping-\u003enrpages--\n\nFix the problem by doing a reliable check of mapping-\u003enrpages under\nmapping-\u003etree_lock in end_writeback().\n\nAnalyzed by Jay \u003cjinshan.xiong@whamcloud.com\u003e, lost in LKML, and dug out\nby Miklos Szeredi \u003cmszeredi@suse.de\u003e.\n\nCc: Jay \u003cjinshan.xiong@whamcloud.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b4b2482e70eba10dd98653a3a5ac68126565e24",
      "tree": "81f933ce6291135529cda6581c59c55386d2832e",
      "parents": [
        "8c95aa60d2ae3c4e63705ee0f18e155898b09662"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Mon Jun 27 16:18:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 18:00:12 2011 -0700"
      },
      "message": "romfs: fix romfs_get_unmapped_area() argument check\n\nromfs_get_unmapped_area() checks argument `len\u0027 without considering\nPAGE_ALIGN which will cause do_mmap_pgoff() return -EINVAL error after\ncommit f67d9b1576c (\"nommu: add page_align to mmap\").\n\nFix the check by changing it in same way ramfs_nommu_get_unmapped_area()\nwas changed in ramfs/file-nommu.c.\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af4087e0e682df12bdffec5cfafc2fec9208716e",
      "tree": "564622df71c8b5666be24cbfd93f58516791d180",
      "parents": [
        "4699d4423c07a1db35ea9453eac3a07e818338f9",
        "2f7e33d432d097a2a7f467b031bf18be91cb3d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 13:32:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 13:32:14 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: fix inconsonant inode information\n  Btrfs: make sure to update total_bitmaps when freeing cache V3\n  Btrfs: fix type mismatch in find_free_extent()\n  Btrfs: make sure to record the transid in new inodes\n"
    },
    {
      "commit": "4699d4423c07a1db35ea9453eac3a07e818338f9",
      "tree": "a16641f1a1ef5d4a03122d58a1a4ff6514d21b4f",
      "parents": [
        "375ac3e09640fb16b6e6f1a1f1ee8aec30183fdf",
        "4a33821236f2ef3af0081e8a5eec1301cbed3125"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:01:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 27 09:01:29 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: prevent bogus assert when trying to remove non-existent attribute\n  xfs: clear XFS_IDIRTY_RELEASE on truncate down\n  xfs: reset inode per-lifetime state when recycling it\n"
    },
    {
      "commit": "2f7e33d432d097a2a7f467b031bf18be91cb3d49",
      "tree": "a1729a436b3c9921390e23cae35e5b837653dfe4",
      "parents": [
        "9b90f5135320bc74dc6c9a8c74d69fd4821d9282"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Jun 23 07:27:13 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 27 11:34:27 2011 -0400"
      },
      "message": "btrfs: fix inconsonant inode information\n\nWhen iputting the inode, We may leave the delayed nodes if they have some\ndelayed items that have not been dealt with. So when the inode is read again,\nwe must look up the relative delayed node, and use the information in it to\ninitialize the inode. Or we will get inconsonant inode information, it may\ncause that the same directory index number is allocated again, and hit the\nfollowing oops:\n\n[ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the\ninsertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)\n[ 5447.569766] ------------[ cut here ]------------\n[ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!\n[SNIP]\n[ 5447.790721] Call Trace:\n[ 5447.793191]  [\u003cffffffffa0641c4e\u003e] btrfs_insert_dir_item+0x189/0x1bb [btrfs]\n[ 5447.800156]  [\u003cffffffffa0651a45\u003e] btrfs_add_link+0x12b/0x191 [btrfs]\n[ 5447.806517]  [\u003cffffffffa0651adc\u003e] btrfs_add_nondir+0x31/0x58 [btrfs]\n[ 5447.812876]  [\u003cffffffffa0651d6a\u003e] btrfs_create+0xf9/0x197 [btrfs]\n[ 5447.818961]  [\u003cffffffff8111f840\u003e] vfs_create+0x72/0x92\n[ 5447.824090]  [\u003cffffffff8111fa8c\u003e] do_last+0x22c/0x40b\n[ 5447.829133]  [\u003cffffffff8112076a\u003e] path_openat+0xc0/0x2ef\n[ 5447.834438]  [\u003cffffffff810c58e2\u003e] ? __perf_event_task_sched_out+0x24/0x44\n[ 5447.841216]  [\u003cffffffff8103ecdd\u003e] ? perf_event_task_sched_out+0x59/0x67\n[ 5447.847846]  [\u003cffffffff81121a79\u003e] do_filp_open+0x3d/0x87\n[ 5447.853156]  [\u003cffffffff811e126c\u003e] ? strncpy_from_user+0x43/0x4d\n[ 5447.859072]  [\u003cffffffff8111f1f5\u003e] ? getname_flags+0x2e/0x80\n[ 5447.864636]  [\u003cffffffff8111f179\u003e] ? do_getname+0x14b/0x173\n[ 5447.870112]  [\u003cffffffff8111f1b7\u003e] ? audit_getname+0x16/0x26\n[ 5447.875682]  [\u003cffffffff8112b1ab\u003e] ? spin_lock+0xe/0x10\n[ 5447.880882]  [\u003cffffffff81112d39\u003e] do_sys_open+0x69/0xae\n[ 5447.886153]  [\u003cffffffff81112db1\u003e] sys_open+0x20/0x22\n[ 5447.891114]  [\u003cffffffff813b9aab\u003e] system_call_fastpath+0x16/0x1b\n\nFix it by reusing the old delayed node.\n\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nTested-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "258e43fdb00c73d424b114ae3850accd55b27cbb",
      "tree": "62f252cc4cde2a816ad2d609d80616322b26da15",
      "parents": [
        "804a007f5401f87fc6e7da1e8884dc32912e35d0",
        "daf6c4501e048eed56b256401d030d6b28e92ff1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:40:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:40:31 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: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN\n  cifs: free blkcipher in smbhash\n"
    },
    {
      "commit": "804a007f5401f87fc6e7da1e8884dc32912e35d0",
      "tree": "c94fda93a6c85b655bb8c13703a97295ce4314f6",
      "parents": [
        "8abf55883431a91d4877933240c8419b7fc17274",
        "9403c9c598e91d473c0582066e47ed2289292e45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 26 19:39:22 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  cifs: propagate errors from cifs_get_root() to mount(2)\n  cifs: tidy cifs_do_mount() up a bit\n  cifs: more breakage on mount failures\n  cifs: close sget() races\n  cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()\n  cifs: move cifs_umount() call into -\u003ekill_sb()\n  cifs: pull cifs_mount() call up\n  sanitize cifs_umount() prototype\n  cifs: initialize -\u003etlink_tree in cifs_setup_cifs_sb()\n  cifs: allocate mountdata earlier\n  cifs: leak on mount if we share superblock\n  cifs: don\u0027t pass superblock to cifs_mount()\n  cifs: don\u0027t leak nls on mount failure\n  cifs: double free on mount failure\n  take bdi setup/destruction into cifs_mount/cifs_umount\n\nAcked-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "9b90f5135320bc74dc6c9a8c74d69fd4821d9282",
      "tree": "d149650ba8e15a1ec22b3832482e9b24ea420fa3",
      "parents": [
        "e0f5406727f1dfdc47b8ba4a0ff6eae4b0b5ed4c"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Jun 24 16:02:51 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 25 09:31:06 2011 -0400"
      },
      "message": "Btrfs: make sure to update total_bitmaps when freeing cache V3\n\nA user reported this bug again where we have more bitmaps than we are supposed\nto.  This is because we failed to load the free space cache, but don\u0027t update\nthe ctl-\u003etotal_bitmaps counter when we remove entries from the tree.  This patch\nfixes this problem and we should be good to go again.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e0f5406727f1dfdc47b8ba4a0ff6eae4b0b5ed4c",
      "tree": "85c481aae5bb4998b832e15b2e62a4987a76127b",
      "parents": [
        "1973f0faeb4a5f35597793c65d3c94d8fd386e10"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Sat Jun 18 20:26:38 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 25 09:31:06 2011 -0400"
      },
      "message": "Btrfs: fix type mismatch in find_free_extent()\n\ndata parameter should be u64 because a full-sized chunk flags field is\npassed instead of 0/1 for distinguishing data from metadata.  All\nunderlying functions expect u64.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9403c9c598e91d473c0582066e47ed2289292e45",
      "tree": "95f3da790bd27de1b4a16e1f1f6f3952d274b8ab",
      "parents": [
        "5c4f1ad7c6aa3b729bd3a93b80f9417d7e978c32"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 10:02:59 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:43 2011 -0400"
      },
      "message": "cifs: propagate errors from cifs_get_root() to mount(2)\n\n... instead of just failing with -EINVAL\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5c4f1ad7c6aa3b729bd3a93b80f9417d7e978c32",
      "tree": "5cae9c65a9be45b7f01efdb10e5c41238f24f6d4",
      "parents": [
        "fa18f1bdce898f0efd0c8639c901d826d01be04f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:56:55 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: tidy cifs_do_mount() up a bit\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa18f1bdce898f0efd0c8639c901d826d01be04f",
      "tree": "1165e5c3172792bf9d9ce4340380b9e7c73b7499",
      "parents": [
        "ee01a14d9ddcf3f832f9ceb837888501cb496e27"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:50:44 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: more breakage on mount failures\n\nif cifs_get_root() fails, we end up with -\u003emount() returning NULL,\nwhich is not what callers expect.  Moreover, in case of superblock\nreuse we end up leaking a superblock reference...\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee01a14d9ddcf3f832f9ceb837888501cb496e27",
      "tree": "a0ae5b81a9b7b26ce4c4a8b412b85f779157b7c4",
      "parents": [
        "d757d71bfc30669a500b72792067e8d1c5d401a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:47:23 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: close sget() races\n\nhave -\u003es_fs_info set by the set() callback passed to sget()\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d757d71bfc30669a500b72792067e8d1c5d401a5",
      "tree": "faa2fc95514ad2629d89230d1b13f1c6f865c75e",
      "parents": [
        "98ab494dd1d25388981114057cf9446250cc7dc7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:42:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()\n\nall callers of cifs_umount() proceed to do the same thing; pull it into\ncifs_umount() itself.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "98ab494dd1d25388981114057cf9446250cc7dc7",
      "tree": "504637660e92f4438ed9bd105ac2644ab021813d",
      "parents": [
        "97d1152acec0647b72f8c6ecc57da0d6fed574de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:32:10 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: move cifs_umount() call into -\u003ekill_sb()\n\ninstead of calling it manually in case if cifs_read_super() fails\nto set -\u003es_root, just call it from -\u003ekill_sb().  cifs_put_super()\nis gone now *and* we have cifs_sb shutdown and destruction done\nafter the superblock is gone from -\u003es_instances.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "97d1152acec0647b72f8c6ecc57da0d6fed574de",
      "tree": "a5d8fc4720ca10d65e6a56cd7281841c91acabe7",
      "parents": [
        "2a9b99516c662d1713d58648e4a4c9aef72051bc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:29:57 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: pull cifs_mount() call up\n\n... to the point prior to sget().  Now we have cifs_sb set up early\nenough.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a9b99516c662d1713d58648e4a4c9aef72051bc",
      "tree": "3c85e9cbe43af86d647b3c4d658955c82dc5fb7f",
      "parents": [
        "2ced6f693581357b2a5bf8b031a702c624b12d0d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:27:16 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "sanitize cifs_umount() prototype\n\na) superblock argument is unused\nb) it always returns 0\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2ced6f693581357b2a5bf8b031a702c624b12d0d",
      "tree": "b689f09161fbaf870695f8dc3ded0b61b1c693ce",
      "parents": [
        "5d3bc605cafe3f367b1c43b673bf643245c81626"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:20:04 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:42 2011 -0400"
      },
      "message": "cifs: initialize -\u003etlink_tree in cifs_setup_cifs_sb()\n\nno need to wait until cifs_read_super() and we need it done\nby the time cifs_mount() will be called.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5d3bc605cafe3f367b1c43b673bf643245c81626",
      "tree": "e85fb1ad187627a0722dd0b18fe435b43c81ba33",
      "parents": [
        "d687ca380f1a8f3043f42efd2403cbe58c846e70"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:17:28 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "cifs: allocate mountdata earlier\n\npull mountdata allocation up, so that it won\u0027t stand in the way when\nwe lift cifs_mount() to location before sget().\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d687ca380f1a8f3043f42efd2403cbe58c846e70",
      "tree": "c18d1ad493a08fbbe2ffcb03a7727f7aa454ff11",
      "parents": [
        "2c6292ae4be00454882246d07f38cdf15a823c2a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:14:27 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "cifs: leak on mount if we share superblock\n\ncifs_sb and nls end up leaked...\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c6292ae4be00454882246d07f38cdf15a823c2a",
      "tree": "40bfa681a0f94f6df2b3f8140452f0eab7809b1c",
      "parents": [
        "ca171baaad1420a29cca98be5bdf5596cd70b294"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 09:05:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "cifs: don\u0027t pass superblock to cifs_mount()\n\nTo close sget() races we\u0027ll need to be able to set cifs_sb up before\nwe get the superblock, so we\u0027ll want to be able to do cifs_mount()\nearlier.  Fortunately, it\u0027s easy to do - setting -\u003es_maxbytes can\nbe done in cifs_read_super(), ditto for -\u003es_time_gran and as for\nputting MS_POSIXACL into -\u003es_flags, we can mirror it in -\u003emnt_cifs_flags\nuntil cifs_read_super() is called.  Kill unused \u0027devname\u0027 argument,\nwhile we are at it...\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ca171baaad1420a29cca98be5bdf5596cd70b294",
      "tree": "0b689378dfa3b10002f60d57b68b4fee05b4e94b",
      "parents": [
        "6d6861757dfadb7d6aec6bb34acd471210a755f9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 08:49:12 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "cifs: don\u0027t leak nls on mount failure\n\nif cifs_sb allocation fails, we still need to drop nls we\u0027d stashed\ninto volume_info - the one we would\u0027ve copied to cifs_sb if we could\nallocate the latter.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d6861757dfadb7d6aec6bb34acd471210a755f9",
      "tree": "6de2a3443afacc51cb307619e0a5d90ec22c0786",
      "parents": [
        "dd8544661947ad6d8d87b3c9d4333bfa1583d1bc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 08:34:57 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "cifs: double free on mount failure\n\nif we get to out_super with -\u003es_root already set (e.g. with\ncifs_get_root() failure), we\u0027ll end up with cifs_put_super()\ncalled and -\u003emountdata freed twice.  We\u0027ll also get cifs_sb\nfreed twice and cifs_sb-\u003elocal_nls dropped twice.  The problem\nis, we can get to out_super both with and without -\u003es_root,\nwhich makes -\u003eput_super() a bad place for such work.\n\nSwitch to -\u003ekill_sb(), have all that work done there after\nkill_anon_super().  Unlike -\u003eput_super(), -\u003ekill_sb() is\ncalled by deactivate_locked_super() whether we have -\u003es_root\nor not.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dd8544661947ad6d8d87b3c9d4333bfa1583d1bc",
      "tree": "e1d530ceb7de08402a42034d815492f941bce185",
      "parents": [
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 08:24:42 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 24 18:39:41 2011 -0400"
      },
      "message": "take bdi setup/destruction into cifs_mount/cifs_umount\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9b8e072a31180eb5cd6991d08524d9c4fa235ade",
      "tree": "d5b7ec9e72cc2cce3b14a539e0719e44f9d13f01",
      "parents": [
        "e4fb0edb7c03e5ec19b6f732f1dfbe911212dbde"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 21 07:18:26 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jun 24 17:33:30 2011 +0000"
      },
      "message": "cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN\n\nThis does not work properly with CIFS as current servers do not\nenable support for the FILE_OPEN_BY_FILE_ID on SMB NTCreateX\nand not all NFS clients handle ESTALE.\n\nFor now, it just plain doesn\u0027t work. Mark it BROKEN to discourage\ndistros from enabling it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1973f0faeb4a5f35597793c65d3c94d8fd386e10",
      "tree": "3e7e5c82f2cb27d679178e4787a583b05b661110",
      "parents": [
        "e999376f094162aa425ae749aa1df95ab928d010"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 24 13:13:29 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 24 13:13:29 2011 -0400"
      },
      "message": "Btrfs: make sure to record the transid in new inodes\n\nWhen we create a new inode, we aren\u0027t filling in the\nfield that records the transaction that last changed this\ninode.\n\nIf we then go to fsync that inode, it will be skipped because the field\nisn\u0027t filled in.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e4fb0edb7c03e5ec19b6f732f1dfbe911212dbde",
      "tree": "1ac0749688ab9e90bdf486db591a24536f9eba86",
      "parents": [
        "5220cc9382e11ca955ce946ee6a5bac577bb14ff"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jun 20 14:33:16 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jun 24 17:03:55 2011 +0000"
      },
      "message": "cifs: free blkcipher in smbhash\n\nThis is currently leaked in the rc \u003d\u003d 0 case.\n\nReported-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5220cc9382e11ca955ce946ee6a5bac577bb14ff",
      "tree": "7949f52a5ca0c7fa74ec8e49ba89a00d0e4114a9",
      "parents": [
        "726ce0656b99ac6436b590d83613fe8447b4769e",
        "155d109b5f52ffd749219b27702462dcd9cf4f8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:42:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:42:35 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: add REQ_SECURE to REQ_COMMON_MASK\n  block: use the passed in @bdev when claiming if partno is zero\n  block: Add __attribute__((format(printf...) and fix fallout\n  block: make disk_block_events() properly wait for work cancellation\n  block: remove non-syncing __disk_block_events() and fold it into disk_block_events()\n  block: don\u0027t use non-syncing event blocking in disk_check_events()\n  cfq-iosched: fix locking around ioc-\u003eioc_data assignment\n"
    },
    {
      "commit": "143e859d05d0abf4c3b67c64c93695d59fd41342",
      "tree": "4d2539b109ccc76775dc45e07e02694399f81002",
      "parents": [
        "46e4edbf7ea9cf26665eb9f90c0fc7688d1a51ed",
        "1190f6a067bf27b2ee7e06ec0776a17fe0f6c4d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:35:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:35:04 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: fix wsize negotiation to respect max buffer size and active signing (try #4)\n  CIFS: Fix problem with 3.0-rc1 null user mount failure\n"
    },
    {
      "commit": "46e4edbf7ea9cf26665eb9f90c0fc7688d1a51ed",
      "tree": "edc47b971abd93024a730661890e833b2e99c499",
      "parents": [
        "1b19ca9f0bdab7d5035821e1ec8f39df9a6e3ee0"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Jun 23 23:59:32 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 24 08:34:22 2011 -0700"
      },
      "message": "Remove unneeded version.h includes from fs/\n\nIt was pointed out by \u0027make versioncheck\u0027 that some includes of\nlinux/version.h were not needed in fs/ (fs/btrfs/ctree.h and\nfs/omfs/file.c).\n\nThis patch removes them.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a33821236f2ef3af0081e8a5eec1301cbed3125",
      "tree": "4bb7c6f9e8ceb2b3e6cdd8bea7a76bb73676b58f",
      "parents": [
        "df4368a146d2b350b8398babfe11e2088f741d67"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jun 23 01:35:01 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 23 22:13:51 2011 -0500"
      },
      "message": "xfs: prevent bogus assert when trying to remove non-existent attribute\n\nIf the attribute fork on an inode is in btree format and has\nmultiple levels (i.e node format rather than leaf format), then a\nlookup failure will trigger an assert failure in xfs_da_path_shift\nif the flag XFS_DA_OP_OKNOENT is not set. This flag is used to\nindicate to the directory btree code that not finding an entry is\nnot a fatal error. In the case of doing a lookup for a directory\nname removal, this is valid as a user cannot insert an arbitrary\nname to remove from the directory btree.\n\nHowever, in the case of the attribute tree, a user has direct\ncontrol over the attribute name and can ask for any random name to\nbe removed without any validation. In this case, fsstress is asking\nfor a non-existent user.selinux attribute to be removed, and that is\ncausing xfs_da_path_shift() to fall off the bottom of the tree where\nit asserts that a lookup failure is allowed. Because the flag is not\nset, we die a horrible death on a debug enable kernel.\n\nPrevent this assert from firing on attribute removes by adding the\nop_flag XFS_DA_OP_OKNOENT to atribute removal operations.\n\nDiscovered when testing on a SELinux enabled system by fsstress in\ntest 070 by trying to remove a non-existent user.selinux attribute.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "df4368a146d2b350b8398babfe11e2088f741d67",
      "tree": "2e8137eeaac9528f29fbab770fdf078a7496d5b5",
      "parents": [
        "778e24bb6dd8682318bb496d4bfdc32b501a6420"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jun 23 01:35:00 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 23 22:13:46 2011 -0500"
      },
      "message": "xfs: clear XFS_IDIRTY_RELEASE on truncate down\n\nWhen an inode is truncated down, speculative preallocation is\nremoved from the inode. This should also reset the state bits for\ncontrolling whether preallocation is subsequently removed when the\nfile is next closed. The flag is not being cleared, so repeated\noperations on a file that first involve a truncate (e.g. multiple\nrepeated dd invocations on a file) give different file layouts for\nthe second and subsequent invocations.\n\nFix this by clearing the XFS_IDIRTY_RELEASE state bit when the\nXFS_ITRUNCATED bit is detected in xfs_release() and hence ensure\nthat speculative delalloc is removed on files that have been\ntruncated down.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "778e24bb6dd8682318bb496d4bfdc32b501a6420",
      "tree": "f245e607bb2e999d046d777a6abd84c422c86f41",
      "parents": [
        "a27a263bae072a499acc77b632238a6dacccf888"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jun 23 01:34:59 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 23 22:13:31 2011 -0500"
      },
      "message": "xfs: reset inode per-lifetime state when recycling it\n\nXFS inodes has several per-lifetime state fields that determine the\nbehaviour of the inode. These state fields are not all reset when an\ninode is reused from the reclaimable state.\n\nThis can lead to unexpected behaviour of the new inode such as\nspeculative preallocation not being truncated away in the expected\nmanner for local files until the inode is subsequently truncated,\nfreed or cycles out of the cache. It can also lead to an inode being\nconsidered to be a filestream inode or having been truncated when\nthat is not the case.\n\nRework the reinitialisation of the inode when it is recycled to\nensure that it is pristine before it is reused. While there, also\nfix the resetting of state flags in the recycling error paths so the\ninode does not become unreclaimable.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "1190f6a067bf27b2ee7e06ec0776a17fe0f6c4d8",
      "tree": "7a754b292e2cac6f5fe808d3e66c90c9689593e9",
      "parents": [
        "446b23a75804d7ffa4cca2d4d8f0afb822108c7e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 22 17:33:57 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jun 23 17:54:39 2011 +0000"
      },
      "message": "cifs: fix wsize negotiation to respect max buffer size and active signing (try #4)\n\nHopefully last version. Base signing check on CAP_UNIX instead of\ntcon-\u003eunix_ext, also clean up the comments a bit more.\n\nAccording to Hongwei Sun\u0027s blog posting here:\n\n    http://blogs.msdn.com/b/openspecification/archive/2009/04/10/smb-maximum-transmit-buffer-size-and-performance-tuning.aspx\n\nCAP_LARGE_WRITEX is ignored when signing is active. Also, the maximum\nsize for a write without CAP_LARGE_WRITEX should be the maxBuf that\nthe server sent in the NEGOTIATE request.\n\nFix the wsize negotiation to take this into account. While we\u0027re at it,\nalter the other wsize definitions to use sizeof(WRITE_REQ) to allow for\nslightly larger amounts of data to potentially be written per request.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bccaeafd7c117acee36e90d37c7e05c19be9e7bf",
      "tree": "d784e96c416ce5d2f47ecae6c0bb2a2aa8f5d1f3",
      "parents": [
        "68d0080f1e222757c85606d3eaf81b5c4aa7719f",
        "ecc90462b428db2ad2ee5081c45496ed10f3a633"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:49:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:49:07 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: agstart field must be 64 bits\n  JFS: Don\u0027t save agno in the inode\n  jfs: Update agstart when resizing volume\n  jfs: old_agsize should be 64 bits in jfs_extendfs\n"
    },
    {
      "commit": "446b23a75804d7ffa4cca2d4d8f0afb822108c7e",
      "tree": "b39afe031f24ce3c79df35d32381f5331d6b68db",
      "parents": [
        "2992c4bd5742b31a0ee00a76eee9c1c284507418"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jun 20 12:33:16 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jun 22 21:43:56 2011 +0000"
      },
      "message": "CIFS: Fix problem with 3.0-rc1 null user mount failure\n\nFigured it out: it was broken by b946845a9dc523c759cae2b6a0f6827486c3221a commit - \"cifs: cifs_parse_mount_options: do not tokenize mount options in-place\". So, as a quick fix I suggest to apply this patch.\n\n[PATCH] CIFS: Fix kfree() with constant string in a null user case\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2992c4bd5742b31a0ee00a76eee9c1c284507418",
      "tree": "b2af7d776ec6a4ae69b5f245ee0586359a99eabd",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79",
        "1650add23578b5ca35c1f1e863987180a8c03779"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix decode_secinfo_maxsz\n  NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n  NFSv4.1: Fix some issues with pnfs_generic_pg_test\n  NFSv4.1: file layout must consider pg_bsize for coalescing\n  pnfs-obj: No longer needed to take an extra ref at add_device\n  SUNRPC: Ensure the RPC client only quits on fatal signals\n  NFSv4: Fix a readdir regression\n  nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n  nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n  NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n  NFS: (d)printks should use %zd for ssize_t arguments\n  NFSv4.1: fix break condition in pnfs_find_lseg\n  nfs4.1: fix several problems with _pnfs_return_layout\n  NFSv4.1: allow zero fh array in filelayout decode layout\n  NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n  NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n  NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n  NFS41: do not update isize if inode needs layoutcommit\n  NLM: Don\u0027t hang forever on NLM unlock requests\n  NFS: fix umount of pnfs filesystems\n"
    },
    {
      "commit": "890879cfa08f5ceaa09810611f46e890f7d57ff6",
      "tree": "c8898ae7a5bf00f315cfaa13d58a08aafa5002f9",
      "parents": [
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f",
        "de1b794130b130e77ffa975bb58cb843744f9ae5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 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  jbd2: Fix oops in jbd2_journal_remove_journal_head()\n  jbd2: Remove obsolete parameters in the comments for some jbd2 functions\n  ext4: fixed tracepoints cleanup\n  ext4: use FIEMAP_EXTENT_LAST flag for last extent in fiemap\n  ext4: Fix max file size and logical block counting of extent format file\n  ext4: correct comments for ext4_free_blocks()\n"
    },
    {
      "commit": "1650add23578b5ca35c1f1e863987180a8c03779",
      "tree": "886647bf9928ff27f25d0de82c356c1f238738c3",
      "parents": [
        "19982ba8562e33083cb5bbb59a74855d8a9624ea"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Jun 02 15:07:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:07 2011 -0400"
      },
      "message": "NFS: Fix decode_secinfo_maxsz\n\nI initially did the calculation in bytes, and not words\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19982ba8562e33083cb5bbb59a74855d8a9624ea",
      "tree": "51656f4ff6252a0207a0f42feea147c736474171",
      "parents": [
        "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:06 2011 -0400"
      },
      "message": "NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n\nAnd document what is going on there...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4",
      "tree": "aa95020eb43fe3cdb45ce96c9ec024b92f5c7621",
      "parents": [
        "19345cb299e8234006c5125151ab723e851a1d24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:22 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:05 2011 -0400"
      },
      "message": "NFSv4.1: Fix some issues with pnfs_generic_pg_test\n\n1. If the intention is to coalesce requests \u0027prev\u0027 and \u0027req\u0027 then we\n   have to ensure at least that we have a layout starting at\n   req_offset(prev).\n\n2. If we\u0027re only requesting a minimal layout of length desc-\u003epg_count,\n   we need to test the length actually returned by the server before\n   we allow the coalescing to occur.\n\n3. We need to deal correctly with (pgio-\u003elseg \u003d\u003d NULL)\n\n4. Fixup the test guarding the pnfs_update_layout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eda0841094a3a232357ca10a24b40da461db3fcf",
      "tree": "08f6ffd17275e6fab7bd8014d849d2fce46632d9",
      "parents": [
        "6e158d21986fa15d21fd32cf241d167d4d741ae3",
        "105f4622104848ff1ee1f644d661bef9dec3eb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: fix break_lease flags on nfsd open\n  nfsd: link returns nfserr_delay when breaking lease\n  nfsd: v4 support requires CRYPTO\n  nfsd: fix dependency of nfsd on auth_rpcgss\n"
    },
    {
      "commit": "36698206504fca9198b8563f1fc2c9e38e063e11",
      "tree": "f02b63c9b35a7962786b5dcdb1af15a63f5de1cf",
      "parents": [
        "ef46222e7b56e728e423527d430cb2013c595491",
        "482e0cd3dbaa70f2a2bead4b5f2c0d203ef654ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  devcgroup_inode_permission: take \"is it a device node\" checks to inlined wrapper\n  fix comment in generic_permission()\n  kill obsolete comment for follow_down()\n  proc_sys_permission() is OK in RCU mode\n  reiserfs_permission() doesn\u0027t need to bail out in RCU mode\n  proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n  nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n  logfs doesn\u0027t need -\u003epermission() at all\n  coda_ioctl_permission() is safe in RCU mode\n  cifs_permission() doesn\u0027t need to bail out in RCU mode\n  bad_inode_permission() is safe from RCU mode\n  ubifs: dereferencing an ERR_PTR in ubifs_mount()\n"
    },
    {
      "commit": "ecc90462b428db2ad2ee5081c45496ed10f3a633",
      "tree": "58421f6cb08fcd3375f2fa3af13fccc9b0f0ee97",
      "parents": [
        "d31b53e3cd069e02290ed8a648aa8c7618d6fe77"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 17:53:24 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 17:53:24 2011 -0500"
      },
      "message": "jfs: agstart field must be 64 bits\n\nThe previous patch added the agstart field to jfs_ip, but declared\nit a long.  We need to make sure its 64 bits on every platform.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "19345cb299e8234006c5125151ab723e851a1d24",
      "tree": "43bde1db751eb50afbdabfbd26814431c8be573c",
      "parents": [
        "df18d127f4fed7a0284bcfa8d2843800cdb63b72"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sun Jun 19 18:33:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 20 16:12:26 2011 -0400"
      },
      "message": "NFSv4.1: file layout must consider pg_bsize for coalescing\n\nOtherwise we end up overflowing the rpc buffer size on the receive end.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90a800de0a29426ea900ecd53f2929d5f4bc4578",
      "tree": "22b4ec6119e438c73d695522042669b601672579",
      "parents": [
        "10e18e62309a882c513b4f516527055b6a60d668",
        "e999376f094162aa425ae749aa1df95ab928d010"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:58:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:58:53 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: avoid delayed metadata items during commits\n  btrfs: fix uninitialized return value\n  btrfs: fix wrong reservation when doing delayed inode operations\n  btrfs: Remove unused sysfs code\n  btrfs: fix dereference of ERR_PTR value\n  Btrfs: fix relocation races\n  Btrfs: set no_trans_join after trying to expand the transaction\n  Btrfs: protect the pending_snapshots list with trans_lock\n  Btrfs: fix path leakage on subvol deletion\n  Btrfs: drop the delalloc_bytes check in shrink_delalloc\n  Btrfs: check the return value from set_anon_super\n"
    },
    {
      "commit": "d31b53e3cd069e02290ed8a648aa8c7618d6fe77",
      "tree": "529f1fab64d7b525e1a77510f3c9b02d24597c65",
      "parents": [
        "28e0fa894cd5996d3007ce82f07226f79beb7286"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:53:46 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:53:46 2011 -0500"
      },
      "message": "JFS: Don\u0027t save agno in the inode\n\nResizing the file system can result in an in-memory inode being remapped\nto a different aggregate group (AG). A cached AG number can cause\nproblems when trying to free or allocate inodes. Instead, save the IAG\u0027s\nagstart address and calculate the agno when we need it.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "28e0fa894cd5996d3007ce82f07226f79beb7286",
      "tree": "cb6d92f311c70c106d9623505b4a038d7a827319",
      "parents": [
        "206b6310fd0268a6ca50cf36f03b0f4eee5602ec"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:32:46 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:32:46 2011 -0500"
      },
      "message": "jfs: Update agstart when resizing volume\n\nA comment indicates that the IAG\u0027s agstart does not need to be updated\nsince it will always point to a block in the same aggregate group, but\njfs_fsck isn\u0027t so forgiving and reports it as an error.\n\nI\u0027m fixing this in jfsutils as well, so either a new kernel or new\nutilities will be sufficient to fix the problem.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "206b6310fd0268a6ca50cf36f03b0f4eee5602ec",
      "tree": "c7fc6c233577a6634f4d3f490b0f876b3ebbad43",
      "parents": [
        "3c25fa740e2084a3950f581378ec29a3c307ddfc"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:30:04 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:30:04 2011 -0500"
      },
      "message": "jfs: old_agsize should be 64 bits in jfs_extendfs\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "8e833fd2e1f0107ee7a4b6bc4de3c9f0e9b0ed41",
      "tree": "adf3e53b81e9e52874fc1f38eeb09065fae5cf02",
      "parents": [
        "6291176bcd71a2766a19a10cbd9bab07d289e1d7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 19 01:56:53 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:56 2011 -0400"
      },
      "message": "fix comment in generic_permission()\n\nCAP_DAC_OVERRIDE is enough for MAY_EXEC on directory, even if\nno exec bits are set.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6291176bcd71a2766a19a10cbd9bab07d289e1d7",
      "tree": "123ca2c96c0614b94ad2065174f5c1c77db45c12",
      "parents": [
        "1aec7036d0c2996c86ce483ca0a28f3b20807b43"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 19:20:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:49 2011 -0400"
      },
      "message": "kill obsolete comment for follow_down()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1aec7036d0c2996c86ce483ca0a28f3b20807b43",
      "tree": "718103f35e7882593ec9ad8994a6e004b3757381",
      "parents": [
        "1d29b5a2ed7eb8862c9b66daf475f3e4c1a40299"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:42:00 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:25 2011 -0400"
      },
      "message": "proc_sys_permission() is OK in RCU mode\n\nnothing blocking there, since all instances of sysctl\n-\u003epermissions() method are non-blocking - both of them,\nthat is.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d29b5a2ed7eb8862c9b66daf475f3e4c1a40299",
      "tree": "3829dfe2e49732bd3db1b6232ff71d8e7a32c5ea",
      "parents": [
        "cf1279111686d9742cbc4145bc9d526c83f59fea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:37:33 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:21 2011 -0400"
      },
      "message": "reiserfs_permission() doesn\u0027t need to bail out in RCU mode\n\nnothing blocking other than generic_permission() (and\ncheck_acl callback does bail out in RCU mode).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf1279111686d9742cbc4145bc9d526c83f59fea",
      "tree": "3247223a8bef912896418bd07475cec2658fc212",
      "parents": [
        "730e908f3539066d4aa01f4720ebfc750ce4d045"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:35:23 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:50 2011 -0400"
      },
      "message": "proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n\nnothing blocking except generic_permission()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "730e908f3539066d4aa01f4720ebfc750ce4d045",
      "tree": "de7b93574d60071b5d2c428cc3ff1a524eac3cd0",
      "parents": [
        "a63ab94d67879bc0630ea9821c582ddf58ba5527"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:21:44 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:33 2011 -0400"
      },
      "message": "nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n\nNothing blocking except for generic_permission().  Which will DTRT.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a63ab94d67879bc0630ea9821c582ddf58ba5527",
      "tree": "006f1cfb1262e256cc8af1d5f51bea92247f5e58",
      "parents": [
        "6b419951f1e44c8a46fccfc6551eca9a9980acd6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:17:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:26 2011 -0400"
      },
      "message": "logfs doesn\u0027t need -\u003epermission() at all\n\n... and never did, what with its -\u003epermission() being what we do by default\nwhen -\u003epermission is NULL...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b419951f1e44c8a46fccfc6551eca9a9980acd6",
      "tree": "2961649a0e2f31a43218d1f677c177fab244e12a",
      "parents": [
        "ec12781f192568f7ea860f440f890389ba393df7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:11:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:19 2011 -0400"
      },
      "message": "coda_ioctl_permission() is safe in RCU mode\n\nreturn (mask \u0026 MAY_EXEC) ? -EACCES : 0; is non-blocking...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec12781f192568f7ea860f440f890389ba393df7",
      "tree": "5261d0f1e2f5c6e6a903838133f7bc8929c672a3",
      "parents": [
        "1712c20dae7b770b62b2e3272100b3b40af0157c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:03:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:07 2011 -0400"
      },
      "message": "cifs_permission() doesn\u0027t need to bail out in RCU mode\n\nnothing potentially blocking except generic_permission(), which\nwill DTRT\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1712c20dae7b770b62b2e3272100b3b40af0157c",
      "tree": "33dd9e2728421ab0ac14f2c30c07f91c7295d208",
      "parents": [
        "185bf87393afe6b966881e36c459949d90930a7a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 19:59:04 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:00 2011 -0400"
      },
      "message": "bad_inode_permission() is safe from RCU mode\n\nreturn -EIO; is *not* a blocking operation, thank you very much.\nNick, what the hell have you been smoking?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "185bf87393afe6b966881e36c459949d90930a7a",
      "tree": "203f91dbfdb21f29de119cf79ccfed3bf2b15d31",
      "parents": [
        "8b97b21e0f4f59801d05a5c536417f04ecfb5603"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 20 10:10:24 2011 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:42:34 2011 -0400"
      },
      "message": "ubifs: dereferencing an ERR_PTR in ubifs_mount()\n\nd251ed271d5 \"ubifs: fix sget races\" left out the goto from this\nerror path so the static checkers complain that we\u0027re dereferencing\n\"sb\" when it\u0027s an ERR_PTR.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "105f4622104848ff1ee1f644d661bef9dec3eb27",
      "tree": "b50b0fb47e9530b8d67cb8cfd717f7bbd7559138",
      "parents": [
        "7d751f6f8c679f51b73d01a1b5269347a929004c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jun 07 11:50:23 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jun 20 10:38:01 2011 -0400"
      },
      "message": "nfsd4: fix break_lease flags on nfsd open\n\nThanks to Casey Bodley for pointing out that on a read open we pass 0,\ninstead of O_RDONLY, to break_lease, with the result that a read open is\ntreated like a write open for the purposes of lease breaking!\n\nReported-by: Casey Bodley \u003ccbodley@citi.umich.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "df18d127f4fed7a0284bcfa8d2843800cdb63b72",
      "tree": "a3083c18d3370fd959cbb6d1a654823a2c612068",
      "parents": [
        "5afa9133cfe67f1bfead6049a9640c9262a7101c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jun 17 16:25:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 19 14:49:51 2011 -0400"
      },
      "message": "pnfs-obj: No longer needed to take an extra ref at add_device\n\nAndy\u0027s last device_cache patches, already take an extra\nreference on the newly inserted device_id. So we can remove it\nfrom obj-io.\n\nWithout this patch the device_ids are leaked.\n\nAndy\u0027s patches are not in Linus tree yet. So I\u0027m not sure if they are\nscheduled for this Kernel or the next. This patch should be added as\npart of these.\n\nCC: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8816ead9d8e7c2745788e0684797e1912b504f33",
      "tree": "2a619a821024d31be2ce6ff422f287792379fe5b",
      "parents": [
        "357ed6b1a110048ff8106f99092d6c4a7aadb45a",
        "203db2952bc87f5d610c9ad53a7d02b85897721f",
        "d8ad7d1123a960cc9f276bd499f9325c6f5e1bd1",
        "b5199515c25cca622495eb9c6a8a1d275e775088",
        "c1f5c54b57341e872a9d375dccef7257f86033ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027, \u0027timers-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tools/perf: Fix static build of perf tool\n  tracing: Fix regression in printk_formats file\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Make watchdog robust vs. interruption\n  timerfd: Fix wakeup of processes when timer is cancelled on clock change\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, MAINTAINERS: Add x86 MCE people\n  x86, efi: Do not reserve boot services regions within reserved areas\n"
    },
    {
      "commit": "c11760c6d80ab6aa20e383cf378a7287305f591c",
      "tree": "91f5c65f5b1bf57bba5774c87767f93549f6bec5",
      "parents": [
        "a6c0a392622702fc9f47ddcea5684414d44a5d3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 08 10:30:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 18 07:25:42 2011 -0700"
      },
      "message": "isofs: fix bh leak in isofs_fill_super() error case\n\nIn isofs_fill_super(), when an iso_primary_descriptor is found, it is\nkept in pri_bh.  The error cases don\u0027t properly release it.  Fix it.\n\nReported-and-tested-by: 김원석 \u003cstanley.will.kim@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e999376f094162aa425ae749aa1df95ab928d010",
      "tree": "080d4a2a20d8d7e7ea8b36f63150827b970da715",
      "parents": [
        "35a30d7ce54e087d8025a725d4e5a2fdee723a9f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 16:14:09 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 16:38:47 2011 -0400"
      },
      "message": "Btrfs: avoid delayed metadata items during commits\n\nSnapshot creation has two phases.  One is the initial snapshot setup,\nand the second is done during commit, while nobody is allowed to modify\nthe root we are snapshotting.\n\nThe delayed metadata insertion code can break that rule, it does a\ndelayed inode update on the inode of the parent of the snapshot,\nand delayed directory item insertion.\n\nThis makes sure to run the pending delayed operations before we\nrecord the snapshot root, which avoids corruptions.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "35a30d7ce54e087d8025a725d4e5a2fdee723a9f",
      "tree": "ba7ab5023cde23bb0d7e0ea2e23400db8de80668",
      "parents": [
        "19fd294957e426bfdd8e19085096467ec18df5c4"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jun 13 15:18:23 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: fix uninitialized return value\n\nWhen allocation fails in btrfs_read_fs_root_no_name, ret is not set\nalthough it is returned, holding a garbage value.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "19fd294957e426bfdd8e19085096467ec18df5c4",
      "tree": "47c3ee705ac9d591d2f9497d3dfc3d1426a881a2",
      "parents": [
        "9fe6a50fb764f508dd2de47a66e62e51388791fb"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Jun 15 10:47:30 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: fix wrong reservation when doing delayed inode operations\n\nWe have migrated the space for the delayed inode items from\ntrans_block_rsv to global_block_rsv, but we forgot to set trans-\u003eblock_rsv to\nglobal_block_rsv when we doing delayed inode operations, and the following Oops\nhappened:\n\n[ 9792.654889] ------------[ cut here ]------------\n[ 9792.654898] WARNING: at fs/btrfs/extent-tree.c:5681\nbtrfs_alloc_free_block+0xca/0x27c [btrfs]()\n[ 9792.654899] Hardware name: To Be Filled By O.E.M.\n[ 9792.654900] Modules linked in: btrfs zlib_deflate libcrc32c\nip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables\narc4 rt61pci rt2x00pci rt2x00lib snd_hda_codec_hdmi mac80211\nsnd_hda_codec_realtek cfg80211 snd_hda_intel edac_core snd_seq rfkill\npcspkr serio_raw snd_hda_codec eeprom_93cx6 edac_mce_amd sp5100_tco\ni2c_piix4 k10temp snd_hwdep snd_seq_device snd_pcm floppy r8169 xhci_hcd\nmii snd_timer snd soundcore snd_page_alloc ipv6 firewire_ohci pata_acpi\nata_generic firewire_core pata_via crc_itu_t radeon ttm drm_kms_helper\ndrm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]\n[ 9792.654919] Pid: 2762, comm: rm Tainted: G        W   2.6.39+ #1\n[ 9792.654920] Call Trace:\n[ 9792.654922]  [\u003cffffffff81053c4a\u003e] warn_slowpath_common+0x83/0x9b\n[ 9792.654925]  [\u003cffffffff81053c7c\u003e] warn_slowpath_null+0x1a/0x1c\n[ 9792.654933]  [\u003cffffffffa038e747\u003e] btrfs_alloc_free_block+0xca/0x27c [btrfs]\n[ 9792.654945]  [\u003cffffffffa03b8562\u003e] ? map_extent_buffer+0x6e/0xa8 [btrfs]\n[ 9792.654953]  [\u003cffffffffa038189b\u003e] __btrfs_cow_block+0xfc/0x30c [btrfs]\n[ 9792.654963]  [\u003cffffffffa0396aa6\u003e] ? btrfs_buffer_uptodate+0x47/0x58 [btrfs]\n[ 9792.654970]  [\u003cffffffffa0382e48\u003e] ? read_block_for_search+0x94/0x368 [btrfs]\n[ 9792.654978]  [\u003cffffffffa0381ba9\u003e] btrfs_cow_block+0xfe/0x146 [btrfs]\n[ 9792.654986]  [\u003cffffffffa03848b0\u003e] btrfs_search_slot+0x14d/0x4b6 [btrfs]\n[ 9792.654997]  [\u003cffffffffa03b8562\u003e] ? map_extent_buffer+0x6e/0xa8 [btrfs]\n[ 9792.655022]  [\u003cffffffffa03938e8\u003e] btrfs_lookup_inode+0x2f/0x8f [btrfs]\n[ 9792.655025]  [\u003cffffffff8147afac\u003e] ? _cond_resched+0xe/0x22\n[ 9792.655027]  [\u003cffffffff8147b892\u003e] ? mutex_lock+0x29/0x50\n[ 9792.655039]  [\u003cffffffffa03d41b1\u003e] btrfs_update_delayed_inode+0x72/0x137 [btrfs]\n[ 9792.655051]  [\u003cffffffffa03d4ea2\u003e] btrfs_run_delayed_items+0x90/0xdb [btrfs]\n[ 9792.655062]  [\u003cffffffffa039a69b\u003e] btrfs_commit_transaction+0x228/0x654 [btrfs]\n[ 9792.655064]  [\u003cffffffff8106e8da\u003e] ? remove_wait_queue+0x3a/0x3a\n[ 9792.655075]  [\u003cffffffffa03a2fa5\u003e] btrfs_evict_inode+0x14d/0x202 [btrfs]\n[ 9792.655077]  [\u003cffffffff81132bd6\u003e] evict+0x71/0x111\n[ 9792.655079]  [\u003cffffffff81132de0\u003e] iput+0x12a/0x132\n[ 9792.655081]  [\u003cffffffff8112aa3a\u003e] do_unlinkat+0x106/0x155\n[ 9792.655083]  [\u003cffffffff81127b83\u003e] ? path_put+0x1f/0x23\n[ 9792.655085]  [\u003cffffffff8109c53c\u003e] ? audit_syscall_entry+0x145/0x171\n[ 9792.655087]  [\u003cffffffff81128410\u003e] ? putname+0x34/0x36\n[ 9792.655090]  [\u003cffffffff8112b441\u003e] sys_unlinkat+0x29/0x2b\n[ 9792.655092]  [\u003cffffffff81482c42\u003e] system_call_fastpath+0x16/0x1b\n[ 9792.655093] ---[ end trace 02b696eb02b3f768 ]---\n\nThis patch fix it by setting the reservation of the transaction handle to the\ncorrect one.\n\nReported-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9fe6a50fb764f508dd2de47a66e62e51388791fb",
      "tree": "3efe5de8ba7289f6e0971ddcd2a80ada98e413ca",
      "parents": [
        "3ed4498caf381a73d6259d3ffacc914b17a507ec"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "m.b.lankhorst@gmail.com",
        "time": "Thu Jun 16 09:04:57 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: Remove unused sysfs code\n\nRemoves code no longer used. The sysfs file itself is kept, because the\nbtrfs developers expressed interest in putting new entries to sysfs.\n\nSigned-off-by: Maarten Lankhorst \u003cm.b.lankhorst@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3ed4498caf381a73d6259d3ffacc914b17a507ec",
      "tree": "cfa41f477e31b26a602d5d2e81c52a032071e01d",
      "parents": [
        "e038dca803423bb7a3fa9a162b7dcc225efe9bf9"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jun 13 17:54:22 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:17 2011 -0400"
      },
      "message": "btrfs: fix dereference of ERR_PTR value\n\nsmatch reports:\n\nbtrfs_recover_log_trees error: \u0027wc.replay_dest\u0027 dereferencing\npossible ERR_PTR()\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e038dca803423bb7a3fa9a162b7dcc225efe9bf9",
      "tree": "efd5d76b77f21b4a9e570f2cb5bed9f95970f7a0",
      "parents": [
        "7585717f304f5ed005cc4ad933a69aab3efbd136",
        "ed0ca14021e5ae3147602128641aa7f742ab227c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:16:13 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:16:13 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus\n\nConflicts:\n\tfs/btrfs/transaction.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "01eff85b094044c72c9dcbbc16f6cdb0a6757c3f",
      "tree": "f8278072d75b5081550140319c91dac71e219f83",
      "parents": [
        "d9cbf022bb75497fa2ecd7ae166fc92b000ad46e",
        "a27a263bae072a499acc77b632238a6dacccf888"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 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: make log devices with write back caches work\n  xfs: fix -\u003emknod() return value on xfs_get_acl() failure\n"
    },
    {
      "commit": "7585717f304f5ed005cc4ad933a69aab3efbd136",
      "tree": "2bbef7f61c61b125778d3631237094594b408e0a",
      "parents": [
        "f4c44016218a6fce357715b9bbabbbbe1f69853c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 20:00:16 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 13:36:58 2011 -0400"
      },
      "message": "Btrfs: fix relocation races\n\nThe recent commit to get rid of our trans_mutex introduced\nsome races with block group relocation.  The problem is that relocation\nneeds to do some record keeping about each root, and it was relying\non the transaction mutex to coordinate things in subtle ways.\n\nThis fix adds a mutex just for the relocation code and makes sure\nit doesn\u0027t have a big impact on normal operations.  The race is\nreally fixed in btrfs_record_root_in_trans, which is where we\nstep back and wait for the relocation code to finish accounting\nsetup.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "879669961b11e7f40b518784863a259f735a72bf",
      "tree": "9bff5392e365caf656c9dd9be38f7471c182278c",
      "parents": [
        "eb96c925152fc289311e5d7e956b919e9b60ab53"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 17 11:25:59 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 09:40:48 2011 -0700"
      },
      "message": "KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring\n\n____call_usermodehelper() now erases any credentials set by the\nsubprocess_inf::init() function.  The problem is that commit\n17f60a7da150 (\"capabilites: allow the application of capability limits\nto usermode helpers\") creates and commits new credentials with\nprepare_kernel_cred() after the call to the init() function.  This wipes\nall keyrings after umh_keys_init() is called.\n\nThe best way to deal with this is to put the init() call just prior to\nthe commit_creds() call, and pass the cred pointer to init().  That\nmeans that umh_keys_init() and suchlike can modify the credentials\n_before_ they are published and potentially in use by the rest of the\nsystem.\n\nThis prevents request_key() from working as it is prevented from passing\nthe session keyring it set up with the authorisation token to\n/sbin/request-key, and so the latter can\u0027t assume the authority to\ninstantiate the key.  This causes the in-kernel DNS resolver to fail\nwith ENOKEY unconditionally.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b97b21e0f4f59801d05a5c536417f04ecfb5603",
      "tree": "47c95c95a4f93a4596dc57204176ceb432234eba",
      "parents": [
        "99a15e21d96f6857dafab1e5167e5e8183215c9c",
        "793925334f32e9026c22baee5c3c340f47d4ef7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n"
    },
    {
      "commit": "ee7b75fc4f3ae49e1f25bf56219bb5de3c29afaf",
      "tree": "929f8cb07d4e974f5cfa8952a8d6643edfb5a2f5",
      "parents": [
        "9e2dfdb3081edfae66a49013517e80dd8a0469fa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:15:41 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:24:47 2011 -0400"
      },
      "message": "NFSv4: Fix a readdir regression\n\nCommit 7ebb9315 (NFS: use secinfo when crossing mountpoints) introduces\na regression when decoding an NFSv4 readdir entry that sets the\nrdattr_error field.\nBy treating the resulting value as if it is a decoding error, the current\ncode may cause us to skip valid readdir entries.\n\nReported-by: Andy Adamson \u003candros@netapp.com\u003e\nCc: stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8dac6bee32425dd5145b40fa2307648cb7fb4d4a",
      "tree": "b7165517729b755686f336b3066ebc982c8793ea",
      "parents": [
        "f8f44f09eaa2bfb40651e7fc6054d65c8091499a",
        "d6e43f751f252c68ca69fa6d18665d88d69ef8b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  AFS: Use i_generation not i_version for the vnode uniquifier\n  AFS: Set s_id in the superblock to the volume name\n  vfs: Fix data corruption after failed write in __block_write_begin()\n  afs: afs_fill_page reads too much, or wrong data\n  VFS: Fix vfsmount overput on simultaneous automount\n  fix wrong iput on d_inode introduced by e6bc45d65d\n  Delay struct net freeing while there\u0027s a sysfs instance refering to it\n  afs: fix sget() races, close leak on umount\n  ubifs: fix sget races\n  ubifs: split allocation of ubifs_info into a separate function\n  fix leak in proc_set_super()\n"
    },
    {
      "commit": "a27a263bae072a499acc77b632238a6dacccf888",
      "tree": "b2728b2900c3926cba5833e171b56bc7371dbc07",
      "parents": [
        "c46a131c0c0f4c2457e6b1e430c578a5cb057334"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 16 12:02:23 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 16 10:52:39 2011 -0500"
      },
      "message": "xfs: make log devices with write back caches work\n\nThere\u0027s no reason not to support cache flushing on external log devices.\nThe only thing this really requires is flushing the data device first\nboth in fsync and log commits.  A side effect is that we also have to\nremove the barrier write test during mount, which has been superflous\nsince the new FLUSH+FUA code anyway.  Also use the chance to flush the\nRT subvolume write cache before the fsync commit, which is required\nfor correct semantics.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d6e43f751f252c68ca69fa6d18665d88d69ef8b7",
      "tree": "6da6f811e89a6d975661bde86244d7751932d762",
      "parents": [
        "2e41ae225f742ded5b7d9847cd8bd605f27daba8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:45:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:48 2011 -0400"
      },
      "message": "AFS: Use i_generation not i_version for the vnode uniquifier\n\nStore the AFS vnode uniquifier in the i_generation field, not the i_version\nfield of the inode struct.  i_version can then be given the AFS data version\nnumber.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e41ae225f742ded5b7d9847cd8bd605f27daba8",
      "tree": "3ac2eb6cc9c00d5e8c8ecbd6997f8bd8c713225e",
      "parents": [
        "f9f07b6c1372b1436aa6b45333445b443ffd8c95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:38:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:47 2011 -0400"
      },
      "message": "AFS: Set s_id in the superblock to the volume name\n\nSet s_id in the superblock to the name of the AFS volume that this superblock\ncorresponds to.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f9f07b6c1372b1436aa6b45333445b443ffd8c95",
      "tree": "b8bd034260b2c1eee2ca585397ee598079ac261b",
      "parents": [
        "5e7f23373bf9a853e9256e81e86724cdd0a33c29"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 14 00:58:27 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "vfs: Fix data corruption after failed write in __block_write_begin()\n\nI\u0027ve got a report of a file corruption from fsxlinux on ext3. The important\noperations to the page were:\nmapwrite to a hole\npartial write to the page\nread - found the page zeroed from the end of the normal write\n\nThe culprit seems to be that if get_block() fails in __block_write_begin()\n(e.g. transient ENOSPC in ext3), the function does ClearPageUptodate(page).\nThus when we retry the write, the logic in __block_write_begin() thinks zeroing\nof the page is needed and overwrites old data.  In fact, I don\u0027t see why we\nshould ever need to zero the uptodate bit here - either the page was uptodate\nwhen we entered __block_write_begin() and it should stay so when we leave it,\nor it was not uptodate and noone had right to set it uptodate during\n__block_write_begin() so it remains !uptodate when we leave as well. So just\nremove clearing of the bit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5e7f23373bf9a853e9256e81e86724cdd0a33c29",
      "tree": "4e49311429c995889853d0ec0f43a3023869c227",
      "parents": [
        "8aef18845266f5c05904c610088f2d1ed58f6be3"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jun 13 22:31:12 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "afs: afs_fill_page reads too much, or wrong data\n\nafs_fill_page should read the page that is about to be written but\nthe current implementation has a number of issues. If we aren\u0027t\nextending the file we always read PAGE_CACHE_SIZE at offset 0. If we\nare extending the file we try to read the entire file.\n\nChange afs_fill_page to read PAGE_CACHE_SIZE at the right offset,\nclamped to i_size.\n\nWhile here, avoid calling afs_fill_page when we are doing a\nPAGE_CACHE_SIZE write.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8aef18845266f5c05904c610088f2d1ed58f6be3",
      "tree": "fbdecafcd5e5d15445af18119cc8ee2e9b2cb850",
      "parents": [
        "50338b889dc504c69e0cb316ac92d1b9e51f3c8a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Jun 16 15:10:06 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:28:16 2011 -0400"
      },
      "message": "VFS: Fix vfsmount overput on simultaneous automount\n\n[Kudos to dhowells for tracking that crap down]\n\nIf two processes attempt to cause automounting on the same mountpoint at the\nsame time, the vfsmount holding the mountpoint will be left with one too few\nreferences on it, causing a BUG when the kernel tries to clean up.\n\nThe problem is that lock_mount() drops the caller\u0027s reference to the\nmountpoint\u0027s vfsmount in the case where it finds something already mounted on\nthe mountpoint as it transits to the mounted filesystem and replaces path-\u003emnt\nwith the new mountpoint vfsmount.\n\nDuring a pathwalk, however, we don\u0027t take a reference on the vfsmount if it is\nthe same as the one in the nameidata struct, but do_add_mount() doesn\u0027t know\nthis.\n\nThe fix is to make sure we have a ref on the vfsmount of the mountpoint before\ncalling do_add_mount().  However, if lock_mount() doesn\u0027t transit, we\u0027re then\nleft with an extra ref on the mountpoint vfsmount which needs releasing.\nWe can handle that in follow_managed() by not making assumptions about what\nwe can and what we cannot get from lookup_mnt() as the current code does.\n\nThe callers of follow_managed() expect that reference to path-\u003emnt will be\ngrabbed iff path-\u003emnt has been changed.  follow_managed() and follow_automount()\nkeep track of whether such reference has been grabbed and assume that it\u0027ll\nhappen in those and only those cases that\u0027ll have us return with changed\npath-\u003emnt.  That assumption is almost correct - it breaks in case of\nracing automounts and in even harder to hit race between following a mountpoint\nand a couple of mount --move.  The thing is, we don\u0027t need to make that\nassumption at all - after the end of loop in follow_manage() we can check\nif path-\u003emnt has ended up unchanged and do mntput() if needed.\n\nThe BUG can be reproduced with the following test program:\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/wait.h\u003e\n\tint main(int argc, char **argv)\n\t{\n\t\tint pid, ws;\n\t\tstruct stat buf;\n\t\tpid \u003d fork();\n\t\tstat(argv[1], \u0026buf);\n\t\tif (pid \u003e 0) wait(\u0026ws);\n\t\treturn 0;\n\t}\n\nand the following procedure:\n\n (1) Mount an NFS volume that on the server has something else mounted on a\n     subdirectory.  For instance, I can mount / from my server:\n\n\tmount warthog:/ /mnt -t nfs4 -r\n\n     On the server /data has another filesystem mounted on it, so NFS will see\n     a change in FSID as it walks down the path, and will mark /mnt/data as\n     being a mountpoint.  This will cause the automount code to be triggered.\n\n     !!! Do not look inside the mounted fs at this point !!!\n\n (2) Run the above program on a file within the submount to generate two\n     simultaneous automount requests:\n\n\t/tmp/forkstat /mnt/data/testfile\n\n (3) Unmount the automounted submount:\n\n\tumount /mnt/data\n\n (4) Unmount the original mount:\n\n\tumount /mnt\n\n     At this point the kernel should throw a BUG with something like the\n     following:\n\n\tBUG: Dentry ffff880032e3c5c0{i\u003d2,n\u003d} still in use (1) [unmount of nfs4 0:12]\n\nNote that the bug appears on the root dentry of the original mount, not the\nmountpoint and not the submount because sys_umount() hasn\u0027t got to its final\nmntput_no_expire() yet, but this isn\u0027t so obvious from the call trace:\n\n [\u003cffffffff8117cd82\u003e] shrink_dcache_for_umount+0x69/0x82\n [\u003cffffffff8116160e\u003e] generic_shutdown_super+0x37/0x15b\n [\u003cffffffffa00fae56\u003e] ? nfs_super_return_all_delegations+0x2e/0x1b1 [nfs]\n [\u003cffffffff811617f3\u003e] kill_anon_super+0x1d/0x7e\n [\u003cffffffffa00d0be1\u003e] nfs4_kill_super+0x60/0xb6 [nfs]\n [\u003cffffffff81161c17\u003e] deactivate_locked_super+0x34/0x83\n [\u003cffffffff811629ff\u003e] deactivate_super+0x6f/0x7b\n [\u003cffffffff81186261\u003e] mntput_no_expire+0x18d/0x199\n [\u003cffffffff811862a8\u003e] mntput+0x3b/0x44\n [\u003cffffffff81186d87\u003e] release_mounts+0xa2/0xbf\n [\u003cffffffff811876af\u003e] sys_umount+0x47a/0x4ba\n [\u003cffffffff8109e1ca\u003e] ? trace_hardirqs_on_caller+0x1fd/0x22f\n [\u003cffffffff816ea86b\u003e] system_call_fastpath+0x16/0x1b\n\nas do_umount() is inlined.  However, you can see release_mounts() in there.\n\nNote also that it may be necessary to have multiple CPU cores to be able to\ntrigger this bug.\n\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "50338b889dc504c69e0cb316ac92d1b9e51f3c8a",
      "tree": "8e353de07b21b350664eff5d69f3a67014d01bcd",
      "parents": [
        "a685e08987d1edf1995b76511d4c98ea0e905377"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Thu Jun 16 00:06:14 2011 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:27:39 2011 -0400"
      },
      "message": "fix wrong iput on d_inode introduced by e6bc45d65d\n\nGit bisection shows that commit e6bc45d65df8599fdbae73be9cec4ceed274db53 causes\nBUG_ONs under high I/O load:\n\nkernel BUG at fs/inode.c:1368!\n[ 2862.501007] Call Trace:\n[ 2862.501007]  [\u003cffffffff811691d8\u003e] d_kill+0xf8/0x140\n[ 2862.501007]  [\u003cffffffff81169c19\u003e] dput+0xc9/0x190\n[ 2862.501007]  [\u003cffffffff8115577f\u003e] fput+0x15f/0x210\n[ 2862.501007]  [\u003cffffffff81152171\u003e] filp_close+0x61/0x90\n[ 2862.501007]  [\u003cffffffff81152251\u003e] sys_close+0xb1/0x110\n[ 2862.501007]  [\u003cffffffff814c14fb\u003e] system_call_fastpath+0x16/0x1b\n\nA reliable way to reproduce this bug is:\nLogin to KDE, run \u0027rsnapshot sync\u0027, and apt-get install openjdk-6-jdk,\nand apt-get remove openjdk-6-jdk.\n\nThe buggy part of the patch is this:\n\tstruct inode *inode \u003d NULL;\n.....\n-               if (nd.last.name[nd.last.len])\n-                       goto slashes;\n                inode \u003d dentry-\u003ed_inode;\n-               if (inode)\n-                       ihold(inode);\n+               if (nd.last.name[nd.last.len] || !inode)\n+                       goto slashes;\n+               ihold(inode)\n...\n\tif (inode)\n\t\tiput(inode);\t/* truncate the inode here */\n\nIf nd.last.name[nd.last.len] is nonzero (and thus goto slashes branch is taken),\nand dentry-\u003ed_inode is non-NULL, then this code now does an additional iput on\nthe inode, which is wrong.\n\nFix this by only setting the inode variable if nd.last.name[nd.last.len] is 0.\n\nReference: https://lkml.org/lkml/2011/6/15/50\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nReported-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "13fca640bb8ab611a50e0ba120b186faa2994d6c",
      "tree": "0a40a28e498b2e9abdef8c86aa0aef7f82096f00",
      "parents": [
        "67de0162fbb78713fcb23cb2502b380faa8bde73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "message": "Revert \"fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\"\n\nThis reverts commit 7f81c8890c15a10f5220bebae3b6dfae4961962a.\n\nIt turns out that it\u0027s not actually a build-time check on x86-64 UML,\nwhich does some seriously crazy stuff with VM_STACK_FLAGS.\n\nThe VM_STACK_FLAGS define depends on the arch-supplied\nVM_STACK_DEFAULT_FLAGS value, and on x86-64 UML we have\n\n  arch/um/sys-x86_64/shared/sysdep/vm-flags.h:\n\n\t#define VM_STACK_DEFAULT_FLAGS \\\n\t\t(test_thread_flag(TIF_IA32) ? vm_stack_flags32 : vm_stack_flags)\n\n\t#define VM_STACK_DEFAULT_FLAGS vm_stack_flags\n\n(yes, seriously: two different #define\u0027s for that thing, with the first\none being inside an \"#ifdef TIF_IA32\")\n\nIt\u0027s possible that it is UML that should just be fixed in this area, but\nfor now let\u0027s just undo the (very small) optimization.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f81c8890c15a10f5220bebae3b6dfae4961962a",
      "tree": "264cb58ffbadb340ce713420a44c00d59fda4e7a",
      "parents": [
        "b0825ee3a8c570df4873ee397fa453e67fdad5d7"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Jun 15 15:08:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:03:59 2011 -0700"
      },
      "message": "fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\n\nCommit a8bef8ff6ea1 (\"mm: migration: avoid race between shift_arg_pages()\nand rmap_walk() during migration by not migrating temporary stacks\")\nintroduced a BUG_ON() to ensure that VM_STACK_FLAGS and\nVM_STACK_INCOMPLETE_SETUP do not overlap.  The check is a compile time\none, so BUILD_BUG_ON is more appropriate.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "793925334f32e9026c22baee5c3c340f47d4ef7e",
      "tree": "56682059a84cf6ee12b664ac32b42d431f8c4be8",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 12:47:04 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 14:35:29 2011 -0700"
      },
      "message": "proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n\nDon\u0027t call iput with the inode half setup to be a namespace filedescriptor.\nInstead rearrange the code so that we don\u0027t initialize ei-\u003ens_ops until\nafter I ns_ops-\u003eget succeeds, preventing us from invoking ns_ops-\u003eput\nwhen ns_ops-\u003eget failed.\n\nReported-by: Ingo Saitz \u003cIngo.Saitz@stud.uni-hannover.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "9e2dfdb3081edfae66a49013517e80dd8a0469fa",
      "tree": "8b919ceb047bb75a4525ba64ba930026e4e148c4",
      "parents": [
        "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 14:32:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 14:36:33 2011 -0400"
      },
      "message": "nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed0ca14021e5ae3147602128641aa7f742ab227c",
      "tree": "22f9a66f0f99770edb483963ff308982424f2e53",
      "parents": [
        "8351583e3f6e430ce8f71913909a96ad5cc6a2f6"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 16:22:15 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:47 2011 -0400"
      },
      "message": "Btrfs: set no_trans_join after trying to expand the transaction\n\nWe can lockup if we try to allow new writers join the transaction and we have\nflushoncommit set or have a pending snapshot.  This is because we set\nno_trans_join and then loop around and try to wait for ordered extents again.\nThe problem is the ordered endio stuff needs to join the transaction, which it\ncan\u0027t do because no_trans_join is set.  So instead wait until after this loop to\nset no_trans_join and then make sure to wait for num_writers \u003d\u003d 1 in case\nanybody got started in between us exiting the loop and setting no_trans_join.\nThis could easily be reproduced by mounting -o flushoncommit and running xfstest\n13.  It cannot be reproduced with this patch.  Thanks,\n\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "8351583e3f6e430ce8f71913909a96ad5cc6a2f6",
      "tree": "f345f40f94d12ffe090735f19aebc96c72be44bd",
      "parents": [
        "71d7aed014457147e8f71a843d5fbf03235e4a85"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 15:16:14 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:46 2011 -0400"
      },
      "message": "Btrfs: protect the pending_snapshots list with trans_lock\n\nCurrently there is nothing protecting the pending_snapshots list on the\ntransaction.  We only hold the directory mutex that we are snapshotting and a\nread lock on the subvol_sem, so we could race with somebody else creating a\nsnapshot in a different directory and end up with list corruption.  So protect\nthis list with the trans_lock.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "71d7aed014457147e8f71a843d5fbf03235e4a85",
      "tree": "bdcb1845959bf6f7ca7f5382a7b53712eefe822a",
      "parents": [
        "30b4caf5d73af5c99cf1b2b46496d8bc35330992"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 14:24:32 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:45 2011 -0400"
      },
      "message": "Btrfs: fix path leakage on subvol deletion\n\nThe delayed ref patch accidently removed the btrfs_free_path in\nbtrfs_unlink_subvol, this puts it back and means we don\u0027t leak a path.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89",
      "tree": "ce4589aecc27e8936529ce1cbc4d8a129a1f43b2",
      "parents": [
        "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 12:31:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 12:39:23 2011 -0400"
      },
      "message": "nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n\nmark_matching_lsegs_invalid could put the last ref to the layout, so\nthe get_layout_hdr needs to be called first.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc",
      "tree": "2e4f96dccc79f57a9afb0cd0bc89add38d311d94",
      "parents": [
        "c7fd06228b994190d8369a2a0acf5224e4e13d1a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Wed Jun 15 11:39:57 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:52:15 2011 -0400"
      },
      "message": "NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n\nWe always get a reference on the layout header and we rely on\nnfs4_layoutreturn_release to put it.  If we hit an allocation error\nbefore starting the rpc proc we bail out early without dereferncing\nthe layout header properly.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "c7fd06228b994190d8369a2a0acf5224e4e13d1a"
}
