)]}'
{
  "log": [
    {
      "commit": "de7badf1adc7cc95269ac4b435da23c169018a3e",
      "tree": "69ee159386af40eba6323ddf33bff929ee4d4ca5",
      "parents": [
        "f10cdea68b70bd85706baed0decab59618f9c353",
        "0f751e641a71157aa584c2a2e22fda52b52b8a56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 23 14:28:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 23 14:28:13 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  eCryptfs: Extend array bounds for all filename chars\n  eCryptfs: Flush file in vma close\n  eCryptfs: Prevent file create race condition\n"
    },
    {
      "commit": "0f751e641a71157aa584c2a2e22fda52b52b8a56",
      "tree": "53bc2e3edf25f4564376d2dac79a5bfbd1e16bf5",
      "parents": [
        "32001d6fe9ac6b0423e674a3093aa56740849f3b"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 23 11:31:24 2011 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 23 15:43:53 2011 -0600"
      },
      "message": "eCryptfs: Extend array bounds for all filename chars\n\nFrom mhalcrow\u0027s original commit message:\n\n    Characters with ASCII values greater than the size of\n    filename_rev_map[] are valid filename characters.\n    ecryptfs_decode_from_filename() will access kernel memory beyond\n    that array, and ecryptfs_parse_tag_70_packet() will then decrypt\n    those characters. The attacker, using the FNEK of the crafted file,\n    can then re-encrypt the characters to reveal the kernel memory past\n    the end of the filename_rev_map[] array. I expect low security\n    impact since this array is statically allocated in the text area,\n    and the amount of memory past the array that is accessible is\n    limited by the largest possible ASCII filename character.\n\nThis patch solves the issue reported by mhalcrow but with an\nimplementation suggested by Linus to simply extend the length of\nfilename_rev_map[] to 256. Characters greater than 0x7A are mapped to\n0x00, which is how invalid characters less than 0x7A were previously\nbeing handled.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Michael Halcrow \u003cmhalcrow@google.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "32001d6fe9ac6b0423e674a3093aa56740849f3b",
      "tree": "97517bbe44089da7d33a6cc715f835e2adc9ddea",
      "parents": [
        "b59db43ad4434519feb338eacb01d77eb50825c5"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 21 17:31:29 2011 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 23 15:40:09 2011 -0600"
      },
      "message": "eCryptfs: Flush file in vma close\n\nDirty pages weren\u0027t being written back when an mmap\u0027ed eCryptfs file was\nclosed before the mapping was unmapped. Since f_ops-\u003eflush() is not\ncalled by the munmap() path, the lower file was simply being released.\nThis patch flushes the eCryptfs file in the vm_ops-\u003eclose() path.\n\nhttps://launchpad.net/bugs/870326\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: stable@kernel.org [2.6.39+]\n"
    },
    {
      "commit": "b59db43ad4434519feb338eacb01d77eb50825c5",
      "tree": "ee978cf1ab736b3fc104b46b2491e7742e663dcf",
      "parents": [
        "6fe4c6d466e95d31164f14b1ac4aefb51f0f4f82"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Mon Nov 21 17:31:02 2011 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Wed Nov 23 15:39:38 2011 -0600"
      },
      "message": "eCryptfs: Prevent file create race condition\n\nThe file creation path prematurely called d_instantiate() and\nunlock_new_inode() before the eCryptfs inode info was fully\nallocated and initialized and before the eCryptfs metadata was written\nto the lower file.\n\nThis could result in race conditions in subsequent file and inode\noperations leading to unexpected error conditions or a null pointer\ndereference while attempting to use the unallocated memory.\n\nhttps://launchpad.net/bugs/813146\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2db1125d51c4752ca68d1f015347b6f5b55e9fca",
      "tree": "6f63b43c99b9b612b4ec3f8a673160fa3fe75111",
      "parents": [
        "866d43c9ea88daa3751b58aba16a2a9b7f7aa067",
        "d31da0f0ba3bc0a827a63879310818c22d9a95be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 13:19:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 13:19:21 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  mount_subtree() pointless use-after-free\n  iio: fix a leak due to improper use of anon_inode_getfd()\n  microblaze: bury asm/namei.h\n"
    },
    {
      "commit": "d31da0f0ba3bc0a827a63879310818c22d9a95be",
      "tree": "d89bbdf299c4cbc37f49a9964b8127f09eedd50b",
      "parents": [
        "b46413367961c2e8bd827e067a231be982aaeee2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 22 12:31:21 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 22 12:31:21 2011 -0500"
      },
      "message": "mount_subtree() pointless use-after-free\n\nd\u0027oh... we\u0027d carefully pinned mnt-\u003emnt_sb down, dropped mnt and attempt\nto grab s_umount on mnt-\u003emnt_sb.  The trouble is, *mnt might\u0027ve been\noverwritten by now...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e25ba0ce039d1c5cae0b0057e4b9e228dc6744bd",
      "tree": "3f5d705161f24c6a9dc36c1947ce7f81e53db41b",
      "parents": [
        "af36d15f58a3560617f1497ae011c3192049e40e",
        "62e4a76987eab2b7fa952546614bc83e5bfc9d3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:54:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:54:15 2011 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFS: Revert pnfs ugliness from the generic NFS read code path\n  SUNRPC: destroy freshly allocated transport in case of sockaddr init error\n  NFS: Fix a regression in the referral code\n  nfs: move nfs_file_operations declaration to bottom of file.c (try #2)\n  nfs: when attempting to open a directory, fall back on normal lookup (try #5)\n"
    },
    {
      "commit": "af36d15f58a3560617f1497ae011c3192049e40e",
      "tree": "f754dd93f4b14745c5e7b8caf52349716f7f7652",
      "parents": [
        "8ba8ed54de4dd79bb88ab6cd7dbf2e83d58d6d57",
        "24a70313969fc3fc440216b40babdb42564acff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:53:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:53:40 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Btrfs: remove free-space-cache.c WARN during log replay\n  Btrfs: sectorsize align offsets in fiemap\n  Btrfs: clear pages dirty for io and set them extent mapped\n  Btrfs: wait on caching if we\u0027re loading the free space cache\n  Btrfs: prefix resize related printks with btrfs:\n  btrfs: fix stat blocks accounting\n  Btrfs: avoid unnecessary bitmap search for cluster setup\n  Btrfs: fix to search one more bitmap for cluster setup\n  btrfs: mirror_num should be int, not u64\n  btrfs: Fix up 32/64-bit compatibility for new ioctls\n  Btrfs: fix barrier flushes\n  Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush\n"
    },
    {
      "commit": "f8f5ed7c996ad9426847ce09b828d415cb19bc06",
      "tree": "ef5826a0b818ef6130c67da63a8bb8aa81b19dde",
      "parents": [
        "c292fe4aae5aa5c089633bc40342d27c8275306a",
        "6e58ad69efe9f4c91eb15f6bc365293414c397ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 21 12:11:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 21 12:11:37 2011 -0800"
      },
      "message": "Merge branch \u0027dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027dev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix up a undefined error in ext4_free_blocks in debugging code\n  ext4: add blk_finish_plug in error case of writepages.\n  ext4: Remove kernel_lock annotations\n  ext4: ignore journalled data options on remount if fs has no journal\n"
    },
    {
      "commit": "c292fe4aae5aa5c089633bc40342d27c8275306a",
      "tree": "84c6898327eb35c3c20c1728eaff8ca19094ddeb",
      "parents": [
        "7758c4d6e9371efa04a1cf1b124bbf9cc43e830e",
        "224736d9113ab4a7cf3f05c05377492bd99b4b02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 21 12:11:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 21 12:11:13 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  libceph: Allocate larger oid buffer in request msgs\n  ceph: initialize root dentry\n  ceph: fix iput race when queueing inode work\n"
    },
    {
      "commit": "24a70313969fc3fc440216b40babdb42564acff3",
      "tree": "16c8840f4495369e771cff62bb2fd8aa81d65ee9",
      "parents": [
        "4d479cf010d56ec9c54f3099992d039918f1296b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 21 09:39:11 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 21 14:57:33 2011 -0500"
      },
      "message": "Btrfs: remove free-space-cache.c WARN during log replay\n\nThe log replay code only partially loads block groups, since\nthe block group caching code is able to detect and deal with\nextents the logging code has pinned down.\n\nWhile the logging code is pinning down block groups, there is\na bogus WARN_ON we\u0027re hitting if the code wasn\u0027t able to find\nan extent in the cache.  This commit removes the warning because\nit can happen any time there isn\u0027t a valid free space cache\nfor that block group.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6e58ad69efe9f4c91eb15f6bc365293414c397ce",
      "tree": "06c1f88ed4448526234172a2ae9ad2458488920d",
      "parents": [
        "3c1fcb2c24519febd7ca9cf292fa5bdf513b601f"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Mon Nov 21 12:09:19 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 21 12:09:19 2011 -0500"
      },
      "message": "ext4: fix up a undefined error in ext4_free_blocks in debugging code\n\nsbi is not defined, so let ext4_free_blocks use EXT4_SB(sb) instead\nwhen EXT4FS_DEBUG is defined.\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\n"
    },
    {
      "commit": "dd179946db2493646955efc112d73c85b3cafcb1",
      "tree": "59203e419cf14e4a28e3ede7cb32a00d34bd0f8e",
      "parents": [
        "f1fd306a91f875e65af0e04855b23adda6831ac9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 16 15:31:30 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 20 23:04:27 2011 -0500"
      },
      "message": "VFS: Log the fact that we\u0027ve given ELOOP rather than creating a loop\n\nTo prevent an NFS server from being used to create a directory loop in an NFS\nsuperblock on the client, the following patch was committed:\n\n\tcommit 1836750115f20b774e55c032a3893e8c5bdf41ed\n\tAuthor: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n\tDate:   Tue Jul 12 21:42:24 2011 -0400\n\tSubject: fix loop checks in d_materialise_unique()\n\nThis causes ELOOP to be reported to anyone trying to access the dentry that\nwould otherwise cause the kernel to complete the loop.\n\nHowever, no indication is given to the caller as to why an operation that ought\nto work doesn\u0027t.  The fault is with the kernel, which doesn\u0027t want to try and\nsolve the problem as it gets horrendously messy if there\u0027s another mountpoint\nsomewhere in the trees being spliced that can\u0027t be moved[*].\n\n[*] The real problem is that we don\u0027t handle the excision of a subtree that\ngets moved _out_ of what we can see.  This can happen on the server where a\ndirectory is merely moved between two other dirs on the same filesystem, but\nwhere destination dir is not accessible by the client.\n\nSo, given the choice to return ELOOP rather than trying to reconfigure the\ndentry tree, we should give the caller some indication of why they aren\u0027t being\nallowed to make what should be a legitimate request and log a message.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4d479cf010d56ec9c54f3099992d039918f1296b",
      "tree": "efed635e7dc1d53c9a63787846912df1667e8a16",
      "parents": [
        "f7d61dcd6873c49bcc42be2caa2af1c2511aa915"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 17 11:34:31 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:17 2011 -0500"
      },
      "message": "Btrfs: sectorsize align offsets in fiemap\n\nWe\u0027ve been hitting BUG()\u0027s in btrfs_cont_expand and btrfs_fallocate and anywhere\nelse that calls btrfs_get_extent while running xfstests 13 in a loop.  This is\nbecause fiemap is calling btrfs_get_extent with non-sectorsize aligned offsets,\nwhich will end up adding mappings that are not sectorsize aligned, which will\ncause problems in some cases for subsequent calls to btrfs_get_extent for\nsimilar areas that are sectorsize aligned.  With this patch I ran xfstests 13 in\na loop for a couple of hours and didn\u0027t hit the problem that I could previously\nhit in at most 20 minutes.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "f7d61dcd6873c49bcc42be2caa2af1c2511aa915",
      "tree": "9619519c2eac1dd207bf822f348575cf9f98ba47",
      "parents": [
        "291c7d2f577428f896daa5002e784959328a80aa"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 15 09:31:24 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:17 2011 -0500"
      },
      "message": "Btrfs: clear pages dirty for io and set them extent mapped\n\nWhen doing the io_ctl helpers to clean up the free space cache stuff I stopped\nusing our normal prepare_pages stuff, which means I of course forgot to do\nthings like set the pages extent mapped, which will cause us all sorts of\nwonderful propblems.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "291c7d2f577428f896daa5002e784959328a80aa",
      "tree": "e18fdbc7bd0d8764444615a8efb1a3f74386204a",
      "parents": [
        "5bb1468238e20b15921909e9f9601e945f03bac7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Nov 14 13:52:14 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:16 2011 -0500"
      },
      "message": "Btrfs: wait on caching if we\u0027re loading the free space cache\n\nWe\u0027ve been hitting panics when running xfstest 13 in a loop for long periods of\ntime.  And actually this problem has always existed so we\u0027ve been hitting these\nthings randomly for a while.  Basically what happens is we get a thread coming\ninto the allocator and reading the space cache off of disk and adding the\nentries to the free space cache as we go.  Then we get another thread that comes\nin and tries to allocate from that block group.  Since block_group-\u003ecached !\u003d\nBTRFS_CACHE_NO it goes ahead and tries to do the allocation.  We do this because\nif we\u0027re doing the old slow way of caching we don\u0027t want to hold people up and\nwait for everything to finish.  The problem with this is we could end up\ndiscarding the space cache at some arbitrary point in the future, which means we\ncould very well end up allocating space that is either bad, or when the real\ncaching happens it could end up thinking the space isn\u0027t in use when it really\nis and cause all sorts of other problems.\n\nThe solution is to add a new flag to indicate we are loading the free space\ncache from disk, and always try to cache the block group if cache-\u003ecached !\u003d\nBTRFS_CACHE_FINISHED.  That way if we are loading the space cache anybody else\nwho tries to allocate from the block group will have to wait until it\u0027s finished\nto make sure it completes successfully.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "5bb1468238e20b15921909e9f9601e945f03bac7",
      "tree": "fdd730e4e974ce07dfc6f40be47f512178f3ff5c",
      "parents": [
        "fadc0d8be4dfca80f6c568bc5874931893c6709b"
      ],
      "author": {
        "name": "Arnd Hannemann",
        "email": "arnd@arndnet.de",
        "time": "Sun Nov 20 07:33:38 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:16 2011 -0500"
      },
      "message": "Btrfs: prefix resize related printks with btrfs:\n\nFor the user it is confusing to find something like:\n[10197.627710] new size for /dev/mapper/vg0-usr_share is 3221225472\nin kernel log, because it doesn\u0027t point directly to btrfs.\n\nThis patch prefixes those messages with \"btrfs:\" like other btrfs\nrelated printks.\n\nSigned-off-by: Arnd Hannemann \u003carnd@arndnet.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fadc0d8be4dfca80f6c568bc5874931893c6709b",
      "tree": "a73dd18819b86cc14a1f01a7f58e34d94b8d84da",
      "parents": [
        "52621cb6ed0e0e14358bb317bda7cd5fbd5c2a27"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Sun Nov 20 07:33:38 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:15 2011 -0500"
      },
      "message": "btrfs: fix stat blocks accounting\n\nRound inode bytes and delalloc bytes up to real blocksize before\nconverting to sector size. Otherwise eg. files smaller than 512\nare reported with zero blocks due to incorrect rounding.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "52621cb6ed0e0e14358bb317bda7cd5fbd5c2a27",
      "tree": "5b4bc4c08c9f50e97779fcf527b1a8c7780a9e88",
      "parents": [
        "0f0fbf1d0e188d129756e9508090af4bdbfde00b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Nov 20 07:33:38 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:15 2011 -0500"
      },
      "message": "Btrfs: avoid unnecessary bitmap search for cluster setup\n\nsetup_cluster_no_bitmap() searches all the extents and bitmaps starting\nfrom offset. Therefore if it returns -ENOSPC, all the bitmaps starting\nfrom offset are in the bitmaps list, so it\u0027s sufficient to search from\nthis list in setup_cluser_bitmap().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0f0fbf1d0e188d129756e9508090af4bdbfde00b",
      "tree": "1c015e7be1e1ede9b2b654cb6264217fc110e598",
      "parents": [
        "32240a913d9f3a5aad42175d7696590ea1bfdb08"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Nov 20 07:33:38 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:14 2011 -0500"
      },
      "message": "Btrfs: fix to search one more bitmap for cluster setup\n\nSuppose there are two bitmaps [0, 256], [256, 512] and one extent\n[100, 120] in the free space cache, and we want to setup a cluster\nwith offset\u003d100, bytes\u003d50.\n\nIn this case, there will be only one bitmap [256, 512] in the temporary\nbitmaps list, and then setup_cluster_bitmap() won\u0027t search bitmap [0, 256].\n\nThe cause is, the list is constructed in setup_cluster_no_bitmap(),\nand only bitmaps with bitmap_entry-\u003eoffset \u003e\u003d offset will be added\ninto the list, and the very bitmap that convers offset has\nbitmap_entry-\u003eoffset \u003c\u003d offset.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "32240a913d9f3a5aad42175d7696590ea1bfdb08",
      "tree": "444fa1d89ac8f58196943efecc96fe453d739de0",
      "parents": [
        "745c4d8e160afaf6c75e887c27ea4b75c8142b26"
      ],
      "author": {
        "name": "Jan Schmidt",
        "email": "list.btrfs@jan-o-sch.net",
        "time": "Sun Nov 20 07:33:38 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:14 2011 -0500"
      },
      "message": "btrfs: mirror_num should be int, not u64\n\nMy previous patch introduced some u64 for failed_mirror variables, this one\nmakes it consistent again.\n\nSigned-off-by: Jan Schmidt \u003clist.btrfs@jan-o-sch.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "745c4d8e160afaf6c75e887c27ea4b75c8142b26",
      "tree": "b1e5b3725654f4119f06346cef3a1c94d34accf8",
      "parents": [
        "387125fc722a8ed432066b85a552917343bdafca"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Sun Nov 20 07:31:57 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:42:13 2011 -0500"
      },
      "message": "btrfs: Fix up 32/64-bit compatibility for new ioctls\n\n This patch casts to unsigned long before casting to a pointer and fixes\n the following warnings:\nfs/btrfs/extent_io.c:2289:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\nfs/btrfs/ioctl.c:2933:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\nfs/btrfs/ioctl.c:2937:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]\nfs/btrfs/ioctl.c:3020:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]\nfs/btrfs/scrub.c:275:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]\nfs/btrfs/backref.c:686:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "387125fc722a8ed432066b85a552917343bdafca",
      "tree": "cbb37a682f73f17b9ea728be84dcca135914a294",
      "parents": [
        "f1ebcc74d5b2159f44c96b479b6eb8afc7829095"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Nov 18 15:07:51 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 20 07:21:14 2011 -0500"
      },
      "message": "Btrfs: fix barrier flushes\n\nWhen btrfs is writing the super blocks, it send barrier flushes to make\nsure writeback caching drives get all the metadata on disk in the\nright order.\n\nBut, we have two bugs in the way these are sent down.  When doing\nfull commits (not via the tree log), we are sending the barrier down\nbefore the last super when it should be going down before the first.\n\nIn multi-device setups, we should be waiting for the barriers to\ncomplete on all devices before writing any of the supers.\n\nBoth of these bugs can cause corruptions on power failures.  We fix it\nwith some new code to send down empty barriers to all devices before\nwriting the first super.\n\nAlexandre Oliva found the multi-device bug.  Arne Jansen did the async\nbarrier loop.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nReported-by: Alexandre Oliva \u003coliva@lsd.ic.unicamp.br\u003e\n"
    },
    {
      "commit": "f1fd306a91f875e65af0e04855b23adda6831ac9",
      "tree": "3b3c733133f76ff212f81c9b71ea977169cb4fee",
      "parents": [
        "016e8d44bc06dd3322f26712bdd3f3a6973592d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 26 22:38:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Nov 19 11:13:28 2011 -0500"
      },
      "message": "minixfs: kill manual hweight(), simplify\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "016e8d44bc06dd3322f26712bdd3f3a6973592d0",
      "tree": "3e237994b81e284ad58acc75f37b4c8d4aefbdf3",
      "parents": [
        "d633180c20271d3b7c1fabbccbc7c5b30ad12be4"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Fri Aug 19 14:50:26 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Nov 19 11:13:26 2011 -0500"
      },
      "message": "fs/minix: Verify bitmap block counts before mounting\n\nNewer versions of MINIX can create filesystems that allocate an extra\nbitmap block.  Mounting of this succeeds, but doing a statfs call will\nresult in an oops in count_free because of a negative number being used\nfor the bh index.\n\nAvoid this by verifying the number of allocated blocks at mount time,\nerroring out if there are not enough and make statfs ignore the extras\nif there are too many.\n\nThis fixes https://bugzilla.kernel.org/show_bug.cgi?id\u003d18792\n\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "208f6f6068836e10d526e87fef6ca4364f4ec068",
      "tree": "b9558820a176572b529ca6c1473b7c5ddb4b08ec",
      "parents": [
        "ab5c5f639bba89d1103deae447836edf41e37659",
        "ea441d1104cf1efb471fa81bc91e9fd1e6ae29fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 19 06:06:39 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 19 06:06:39 2011 -0500"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  new helper: mount_subtree()\n  switch create_mnt_ns() to saner calling conventions, fix double mntput() in nfs\n  btrfs: fix double mntput() in mount_subvol()\n"
    },
    {
      "commit": "ab5c5f639bba89d1103deae447836edf41e37659",
      "tree": "f7e619c425975e0a022ba2ff2449bf2ce8b6cca4",
      "parents": [
        "c5e0c7825d3a14c2dfc383763393f0bcb5400aa6",
        "c8891329131f791e0ddc422eaf6fc86e9a8cf8f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 19 06:05:17 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 19 06:05:17 2011 -0500"
      },
      "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  MAINTAINERS: update XFS maintainer entry\n  xfs: use doalloc flag in xfs_qm_dqattach_one()\n"
    },
    {
      "commit": "15bd1cfb3055d866614cdaf38e43201936264e50",
      "tree": "020261b5a984684201a39e661934aa5dcdf82f83",
      "parents": [
        "9545eb61e5bb70055fd9358f25f95387f7398cba",
        "019ceb7d5d252ce71001a157cf29f4ac28501b72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 18 09:34:35 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 18 09:34:35 2011 -0200"
      },
      "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 missed trace_block_plug\n  paride: fix potential information leak in pg_read()\n  bio: change some signed vars to unsigned\n  block: avoid unnecessary plug list flush\n  cciss: auto engage SCSI mid layer at driver load time\n  loop: cleanup set_status interface\n  include/linux/bio.h: use a static inline function for bio_integrity_clone()\n  loop: prevent information leak after failed read\n  block: Always check length of all iov entries in blk_rq_map_user_iov()\n  The Windows driver .inf disables ASPM on all cciss devices. Do the same.\n  backing-dev: ensure wakeup_timer is deleted\n  block: Revert \"[SCSI] genhd: add a new attribute \"alias\" in gendisk\"\n"
    },
    {
      "commit": "ea441d1104cf1efb471fa81bc91e9fd1e6ae29fd",
      "tree": "32b7c4f7c78af47936a604e3f4e13e8e61f834a0",
      "parents": [
        "c13344958780b4046305ee6235d686c846535529"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 21:43:59 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 22:00:34 2011 -0500"
      },
      "message": "new helper: mount_subtree()\n\ntakes vfsmount and relative path, does lookup within that vfsmount\n(possibly triggering automounts) and returns the result as root\nof subtree suitable for return by -\u003emount() (i.e. a reference to\ndentry and an active reference to its superblock grabbed, superblock\nlocked exclusive).\n\nbtrfs and nfs switched to it instead of open-coding the sucker.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c13344958780b4046305ee6235d686c846535529",
      "tree": "aed2958283867030aa9e9f742c3fb94c895b2d5c",
      "parents": [
        "8d514bbf37eecf0a3e309284728637816a36764b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 16:12:14 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 16:12:14 2011 -0500"
      },
      "message": "switch create_mnt_ns() to saner calling conventions, fix double mntput() in nfs\n\nLife is much saner if create_mnt_ns(mnt) drops mnt in case of error...\nSwitch it to such calling conventions, switch callers, fix double mntput() in\nfs/nfs/super.c one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8d514bbf37eecf0a3e309284728637816a36764b",
      "tree": "1a7745397b545456a34d9f2fd37464b44b01aeff",
      "parents": [
        "6aaf05f472c97ebceff47d9eef464574f1a55727"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 16:06:09 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 16:06:09 2011 -0500"
      },
      "message": "btrfs: fix double mntput() in mount_subvol()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "121f099412bd6576dfb3d94222e89d9341362177",
      "tree": "47b82e98cb879d4cf08f0465ade31d58833cf53c",
      "parents": [
        "3540d5e89b2ac268fcfc9b07a50a9ba4acc2e5e5"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Nov 16 09:21:50 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 16 09:21:50 2011 +0100"
      },
      "message": "bio: change some signed vars to unsigned\n\nThis is just a cleanup patch to silence a static checker warning.\n\nThe problem is that we cap \"nr_iovecs\" so it can\u0027t be larger than\n\"UIO_MAXIOV\" but we don\u0027t check for negative values.  It turns out this is\nprevented at other layers, but logically it doesn\u0027t make sense to have\nnegative nr_iovecs so making it unsigned is nicer.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "db3e74b582915d66e10b0c73a62763418f54c340",
      "tree": "e5cdfdedf24c275601e0b197db24dbd52c8e08b9",
      "parents": [
        "810627d9a6d0e8820c798001875bc4e1b7754ebf"
      ],
      "author": {
        "name": "Mitsuo Hayasaka",
        "email": "mitsuo.hayasaka.hu@hitachi.com",
        "time": "Thu Nov 10 01:33:10 2011 +0000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Nov 15 14:45:09 2011 -0600"
      },
      "message": "xfs: use doalloc flag in xfs_qm_dqattach_one()\n\nThe doalloc arg in xfs_qm_dqattach_one() is a flag that indicates\nwhether a new area to handle quota information will be allocated\nif needed. Originally, it was passed to xfs_qm_dqget(), but has\nbeen removed by the following commit (probably by mistake):\n\n\tcommit 8e9b6e7fa4544ea8a0e030c8987b918509c8ff47\n\tAuthor: Christoph Hellwig \u003chch@lst.de\u003e\n\tDate:   Sun Feb 8 21:51:42 2009 +0100\n\n\txfs: remove the unused XFS_QMOPT_DQLOCK flag\n\nAs the result, xfs_qm_dqget() called from xfs_qm_dqattach_one()\nnever allocates the new area even if it is needed.\n\nThis patch gives the doalloc arg to xfs_qm_dqget() in\nxfs_qm_dqattach_one() to fix this problem.\n\nSigned-off-by: Mitsuo Hayasaka \u003cmitsuo.hayasaka.hu@hitachi.com\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "bc5b8a9003132ae44559edd63a1623b7b99dfb68",
      "tree": "e5dd06f9262c13daaa3d09f643572f909ba2cdbd",
      "parents": [
        "7f80850d3f9fd8fda23a317044aef3a6bafab06b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Mon Nov 14 17:52:08 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 15 14:29:42 2011 -0200"
      },
      "message": "hfs: add sanity check for file name length\n\nOn a corrupted file system the -\u003elen field could be wrong leading to\na buffer overflow.\n\nReported-and-acked-by: Clement LECIGNE \u003cclement.lecigne@netasq.com\u003e\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ebcc74d5b2159f44c96b479b6eb8afc7829095",
      "tree": "83d949e151f2f7e4a980396538cc0f2356bacfd4",
      "parents": [
        "8965593e41dd2d0e2a2f1e6f245336005ea94a2c"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Mon Nov 14 20:48:06 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Nov 15 09:53:28 2011 -0500"
      },
      "message": "Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush\n\nThe btrfs snapshotting code requires that once a root has been\nsnapshotted, we don\u0027t change it during a commit.\n\nBut there are two cases to lead to tree corruptions:\n\n1) multi-thread snapshots can commit serveral snapshots in a transaction,\n   and this may change the src root when processing the following pending\n   snapshots, which lead to the former snapshots corruptions;\n\n2) the free inode cache was changing the roots when it root the cache,\n   which lead to corruptions.\n\nThis fixes things by making sure we force COW the block after we create a\nsnapshot during commiting a transaction, then any changes to the roots\nwill result in COW, and we get all the fs roots and snapshot roots to be\nconsistent.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c1f4246716392ec8693c23cffb969bd73c1b0910",
      "tree": "6160ac2507b28cf7625be79dd539a286c9fe4e43",
      "parents": [
        "fe10e6f4b24ef8ca12cb4d2368deb4861ab1861b",
        "8965593e41dd2d0e2a2f1e6f245336005ea94a2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 11 23:47:06 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 11 23:47:06 2011 -0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  btrfs: rename the option to nospace_cache\n  Btrfs: handle bio_add_page failure gracefully in scrub\n  Btrfs: fix deadlock caused by the race between relocation\n  Btrfs: only map pages if we know we need them when reading the space cache\n  Btrfs: fix orphan backref nodes\n  Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}\n  Btrfs: fix unreleased path in btrfs_orphan_cleanup()\n  Btrfs: fix no reserved space for writing out inode cache\n  Btrfs: fix nocow when deleting the item\n  Btrfs: tweak the delayed inode reservations again\n  Btrfs: rework error handling in btrfs_mount()\n  Btrfs: close devices on all error paths in open_ctree()\n  Btrfs: avoid null dereference and leaks when bailing from open_ctree()\n  Btrfs: fix subvol_name leak on error in btrfs_mount()\n  Btrfs: fix memory leak in btrfs_parse_early_options()\n  Btrfs: fix our reservations for updating an inode when completing io\n  Btrfs: fix oops on NULL trans handle in btrfs_truncate\n  btrfs: fix double-free \u0027tree_root\u0027 in \u0027btrfs_mount()\u0027\n"
    },
    {
      "commit": "53e3ccfd153f0e71352b34a930e231ac1ae07d5e",
      "tree": "b369d99756a8ddf7ebd9b13cc9c011bf9bd32ba4",
      "parents": [
        "5e442a493fc59fa536c76db1fff5b49ca36a88c5",
        "810627d9a6d0e8820c798001875bc4e1b7754ebf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 11 23:37:17 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 11 23:37:17 2011 -0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix force shutdown handling in xfs_end_io\n  xfs: constify xfs_item_ops\n  xfs: Fix possible memory corruption in xfs_readlink\n"
    },
    {
      "commit": "774ac21da76f5c3018428725074e27a3fd40b128",
      "tree": "3c22879278514494e467e651c918994cd6f359d2",
      "parents": [
        "15a2015fbc692e1c97d7ce12d96e077f5ae7ea6d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Nov 11 09:48:08 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Nov 11 09:50:17 2011 -0800"
      },
      "message": "ceph: initialize root dentry\n\nSet up d_fsdata on the root dentry.  This fixes a NULL pointer dereference\nin ceph_d_prune on umount.  It also means we can eventually strip out all\nof the conditional checks on d_fsdata because it is now set unconditionally\n(prior to setting up the d_ops).\n\nFix the ceph_d_prune debug print while we\u0027re here.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "8965593e41dd2d0e2a2f1e6f245336005ea94a2c",
      "tree": "0b8ac73ccccc05f08bd4abb2b8c0099a1383fd3d",
      "parents": [
        "69f4cb526bd02ae5af35846f9a710c099eec3347"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Fri Nov 11 10:14:57 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Nov 11 10:14:57 2011 -0500"
      },
      "message": "btrfs: rename the option to nospace_cache\n\nRename no_space_cache option to nospace_cache to be more consistent with\nthe rest, where the simple prefix \u0027no\u0027 is used to negate an option.\n\nThe option has been introduced during the -rc1 cycle and there are has not been\nwidely used, so it\u0027s safe.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "69f4cb526bd02ae5af35846f9a710c099eec3347",
      "tree": "0fc400c20ab6293603b8b615467893a13426c82c",
      "parents": [
        "62f30c5462374b991e7e3f42d49ce2265c1b82f1"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Fri Nov 11 08:17:10 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Nov 11 08:17:10 2011 -0500"
      },
      "message": "Btrfs: handle bio_add_page failure gracefully in scrub\n\nCurrently scrub fails with ENOMEM when bio_add_page fails. Unfortunately\ndm based targets accept only one page per bio, thus making scrub always\nfails. This patch just submits the current bio when an error is encountered\nand starts a new one.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "62f30c5462374b991e7e3f42d49ce2265c1b82f1",
      "tree": "4d991bd451bcc9e619bb4b775b4acc6a0e3fca8f",
      "parents": [
        "2f120c05e67ae34c93786b1050c6828904314429"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "message": "Btrfs: fix deadlock caused by the race between relocation\n\nWe can not do flushable reservation for the relocation when we create snapshot,\nbecause it may make the transaction commit task and the flush task wait for\neach other and the deadlock happens.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2f120c05e67ae34c93786b1050c6828904314429",
      "tree": "d14dfdb4e94b5b562ed35206a8525cd5908fc0db",
      "parents": [
        "76b9e23d25d5c99f994bee3172de39492e452e93"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "message": "Btrfs: only map pages if we know we need them when reading the space cache\n\nPeople have been running into a warning when loading space cache because the\npage is already mapped when trying to read in a bitmap.  The way we read in\nentries and pages is kind of convoluted, so fix it so that io_ctl_read_entry\nmaps the entries if it needs to, and if it hits the end of the page it simply\nunmaps the page.  That way we can unconditionally unmap the io_ctl before\nreading in the bitmap and we should stop hitting these warnings.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "76b9e23d25d5c99f994bee3172de39492e452e93",
      "tree": "458af244546eb4a131944d2b3a922f027ea15d54",
      "parents": [
        "61b520a9d0083b9b361638e456af45fd75150c87"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "message": "Btrfs: fix orphan backref nodes\n\nIf the root node of a fs/file tree is in the block group that is\nbeing relocated, but the others are not in the other block groups.\nwhen we create a snapshot for this tree between the relocation tree\ncreation ends and -\u003ecreate_reloc_tree is set to 0, Btrfs will create\nsome backref nodes that are the lowest nodes of the backrefs cache.\nBut we forget to add them into -\u003eleaves list of the backref cache\nand deal with them, and at last, they will triggered BUG_ON().\n\n  kernel BUG at fs/btrfs/relocation.c:239!\n\nThis patch fixes it by adding them into -\u003eleaves list of backref cache.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "61b520a9d0083b9b361638e456af45fd75150c87",
      "tree": "9545d5f0a2e606bef5702437a7c4c3eca9f12db4",
      "parents": [
        "3254c87618354e58fa2a7b375c6664f567480c33"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "message": "Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}\n\nbtrfs_block_rsv_add{, _noflush}() have similar code, so abstract that code.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3254c87618354e58fa2a7b375c6664f567480c33",
      "tree": "735c06e860467f567e12c81cabee7956baeee258",
      "parents": [
        "ba38eb4de354d228f2792f93cde2c748a3a3f3b2"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:05 2011 -0500"
      },
      "message": "Btrfs: fix unreleased path in btrfs_orphan_cleanup()\n\nWhen we did stress test for the space relocation, the deadlock happened.\nBy debugging, We found it was caused by the carelessness that we forgot\nto unlock the read lock of the extent buffers in btrfs_orphan_cleanup()\nbefore we end the transaction handle, so the transaction commit task waited\nthe task, which called btrfs_orphan_cleanup(), to unlock the extent buffer,\nbut that task waited the commit task to end the transaction commit, and\nthe deadlock happened. Fix it.\n\nSigned-ff-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ba38eb4de354d228f2792f93cde2c748a3a3f3b2",
      "tree": "c88a2903398eae9ccd7f0c755f70ca600bcc162b",
      "parents": [
        "924cd8fbe41851eda2b68bf2ed501b2777fd77b4"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "message": "Btrfs: fix no reserved space for writing out inode cache\n\nI-node cache forgets to reserve the space when writing out it. And when\nwe do some stress test, such as synctest, it will trigger WARN_ON() in\nuse_block_rsv().\n\nWARNING: at fs/btrfs/extent-tree.c:5718 btrfs_alloc_free_block+0xbf/0x281 [btrfs]()\n...\nCall Trace:\n [\u003cffffffff8104df86\u003e] warn_slowpath_common+0x80/0x98\n [\u003cffffffff8104dfb3\u003e] warn_slowpath_null+0x15/0x17\n [\u003cffffffffa0369c60\u003e] btrfs_alloc_free_block+0xbf/0x281 [btrfs]\n [\u003cffffffff810cbcb8\u003e] ? __set_page_dirty_nobuffers+0xfe/0x108\n [\u003cffffffffa035c040\u003e] __btrfs_cow_block+0x118/0x3b5 [btrfs]\n [\u003cffffffffa035c7ba\u003e] btrfs_cow_block+0x103/0x14e [btrfs]\n [\u003cffffffffa035e4c4\u003e] btrfs_search_slot+0x249/0x6a4 [btrfs]\n [\u003cffffffffa036d086\u003e] btrfs_lookup_inode+0x2a/0x8a [btrfs]\n [\u003cffffffffa03788b7\u003e] btrfs_update_inode+0xaa/0x141 [btrfs]\n [\u003cffffffffa036d7ec\u003e] btrfs_save_ino_cache+0xea/0x202 [btrfs]\n [\u003cffffffffa03a761e\u003e] ? btrfs_update_reloc_root+0x17e/0x197 [btrfs]\n [\u003cffffffffa0373867\u003e] commit_fs_roots+0xaa/0x158 [btrfs]\n [\u003cffffffffa03746a6\u003e] btrfs_commit_transaction+0x405/0x731 [btrfs]\n [\u003cffffffff810690df\u003e] ? wake_up_bit+0x25/0x25\n [\u003cffffffffa039d652\u003e] ? btrfs_log_dentry_safe+0x43/0x51 [btrfs]\n [\u003cffffffffa0381c5f\u003e] btrfs_sync_file+0x16a/0x198 [btrfs]\n [\u003cffffffff81122806\u003e] ? mntput+0x21/0x23\n [\u003cffffffff8112d150\u003e] vfs_fsync_range+0x18/0x21\n [\u003cffffffff8112d170\u003e] vfs_fsync+0x17/0x19\n [\u003cffffffff8112d316\u003e] do_fsync+0x29/0x3e\n [\u003cffffffff8112d348\u003e] sys_fsync+0xb/0xf\n [\u003cffffffff81468352\u003e] system_call_fastpath+0x16/0x1b\n\nSometimes it causes BUG_ON() in the reservation code of the delayed inode\nis triggered.\n\nSo we must reserve enough space for inode cache.\n\nNote: If we can not reserve the enough space for inode cache, we will\ngive up writing out it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "924cd8fbe41851eda2b68bf2ed501b2777fd77b4",
      "tree": "c31afbc9ba7dbc27eea43a0319a64732d180a3d2",
      "parents": [
        "f7d572188b7b2a6d07081688f8602dc407186e64"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "message": "Btrfs: fix nocow when deleting the item\n\nbtrfs_previous_item() just search the b+ tree, do not COW the nodes or leaves,\nif we modify the result of it, the meta-data will be broken. fix it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f7d572188b7b2a6d07081688f8602dc407186e64",
      "tree": "d6a386fbe7c44afcb05847e1f9d1405583b0fff9",
      "parents": [
        "2115133f8b9a8dbdb217d14080814df07ce90479",
        "04d21a244fdf79d0ac892eaaa9a46b682467277c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:42:53 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:42:53 2011 -0500"
      },
      "message": "Merge branch \u0027mount-fixes\u0027 of git://github.com/idryomov/btrfs-unstable into integration\n"
    },
    {
      "commit": "2115133f8b9a8dbdb217d14080814df07ce90479",
      "tree": "3b2f3d6839cdb1f6495ae10dd548f7fbfee70266",
      "parents": [
        "7fd2ae21a42d178982679b86086661292b4afe4a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:39:08 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:39:08 2011 -0500"
      },
      "message": "Btrfs: tweak the delayed inode reservations again\n\nJosef sent along an incremental to the inode reservation\ncode to make sure we try and fall back to directly updating\nthe inode item if things go horribly wrong.\n\nThis reworks that patch slightly, adding a fallback function\nthat will always try to update the inode item directly without\ngoing through the delayed_inode code.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "62e4a76987eab2b7fa952546614bc83e5bfc9d3e",
      "tree": "433ab5bde90a8d2dbeeabc29a6aa0c25deae5732",
      "parents": [
        "2aa13531bbbc6582874bedfcd853e1058b0fb4f9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 10 14:30:37 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 10 14:50:26 2011 -0500"
      },
      "message": "NFS: Revert pnfs ugliness from the generic NFS read code path\n\npNFS-specific code belongs in the pnfs layer. It should not be\nhijacking generic NFS read or write code paths.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e442a493fc59fa536c76db1fff5b49ca36a88c5",
      "tree": "47fb93c6430ac7b598bf3bdd03d1399dd1467fad",
      "parents": [
        "19e0bafc36abd84a5b4d7c7745b78a6f4626e944"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 09 18:16:00 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 09 18:16:00 2011 -0500"
      },
      "message": "Revert \"proc: fix races against execve() of /proc/PID/fd**\"\n\nThis reverts commit aa6afca5bcaba8101f3ea09d5c3e4100b2b9f0e5.\n\nIt escalates of some of the google-chrome SELinux problems with ptrace\n(\"Check failed: pid_ \u003e 0.  Did not find zygote process\"), and Andrew\nsays that it is also causing mystery lockdep reports.\n\nReported-by: Alex Villacís Lasso \u003ca_villacis@palosanto.com\u003e\nRequested-by: James Morris \u003cjmorris@namei.org\u003e\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04d21a244fdf79d0ac892eaaa9a46b682467277c",
      "tree": "da0cadb86766bbf34f30c4b3efddde01e3d6d677",
      "parents": [
        "586e46e2813c589d26258a599580421fb6fb576b"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 14:41:22 2011 +0200"
      },
      "committer": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 22:53:39 2011 +0200"
      },
      "message": "Btrfs: rework error handling in btrfs_mount()\n\nCommits 6c41761f and 45ea6095 introduced the possibility of NULL pointer\ndereference on error paths, also we would leave all devices busy and\nleak fs_info with all sub-structures on error when trying to mount an\nalready mounted fs to a different directory.\n\nFix this by doing all allocations before trying to open any of the\ndevices, adjust error path for mount-already-mounted-fs case.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\n"
    },
    {
      "commit": "586e46e2813c589d26258a599580421fb6fb576b",
      "tree": "dfbdacfd14bec153909e13f8ab23480e292e41f6",
      "parents": [
        "4d34b2789538befa45a68a191dc12e0886a69f7d"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 13:26:37 2011 +0200"
      },
      "committer": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 22:53:38 2011 +0200"
      },
      "message": "Btrfs: close devices on all error paths in open_ctree()\n\nFix a bug introduced by 7e662854 where we would leave devices busy on\ncertain error paths in open_ctree().  fs_info is guaranteed to be\nnon-NULL now so it\u0027s safe to dereference it on all error paths.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\n"
    },
    {
      "commit": "4d34b2789538befa45a68a191dc12e0886a69f7d",
      "tree": "83f8e67439f0562ee9d4aa51cf1a3a0166d78f99",
      "parents": [
        "f23c8af8ca2789eeb0ab9ea90c214f9694d96cc5"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 00:08:15 2011 +0200"
      },
      "committer": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 22:53:38 2011 +0200"
      },
      "message": "Btrfs: avoid null dereference and leaks when bailing from open_ctree()\n\nFix bugs introduced by 6c41761f.  Firstly, after failing to allocate any\nof the tree roots (first \u0027goto fail\u0027 in open_ctree()) we would\ndereference a NULL fs_info pointer in free_fs_info().  Secondly, after\nfailures from init_srcu_struct(), setup_bdi() and new_inode() we would\nleak all earlier allocated roots: fs_info fields haven\u0027t been\ninitialized yet so free_fs_info() is rendered useless.\n\nFix this by initializing fs_info pointer and fs_info fields before any\nallocations happen.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\n"
    },
    {
      "commit": "f23c8af8ca2789eeb0ab9ea90c214f9694d96cc5",
      "tree": "e1acd02447bc510609f14372d4aa4c1349ed6000",
      "parents": [
        "a90e8b6fb80db43b029e1e76205452afa8bdc77a"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Tue Nov 08 19:15:05 2011 +0200"
      },
      "committer": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 22:53:38 2011 +0200"
      },
      "message": "Btrfs: fix subvol_name leak on error in btrfs_mount()\n\nbtrfs_parse_early_options() can fail due to error while scanning devices\n(-o device\u003d option), but still strdup() subvol_name string:\n\nmount -o subvol\u003dSUBV,device\u003dBAD_DEVICE \u003cdev\u003e \u003cmnt\u003e\n\nSo free subvol_name string on error.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\n"
    },
    {
      "commit": "a90e8b6fb80db43b029e1e76205452afa8bdc77a",
      "tree": "98a546a79e439f984f43c15f1cd6fecc8a082412",
      "parents": [
        "7fd2ae21a42d178982679b86086661292b4afe4a"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Tue Nov 08 16:47:55 2011 +0200"
      },
      "committer": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Nov 09 22:53:38 2011 +0200"
      },
      "message": "Btrfs: fix memory leak in btrfs_parse_early_options()\n\nDon\u0027t leak subvol_name string in case multiple subvol\u003d options are\ngiven.  \"The lastest option is effective\" behavior (consistent with\nsubvolid\u003d and subvolrootid\u003d options) is preserved.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\n"
    },
    {
      "commit": "7fd2ae21a42d178982679b86086661292b4afe4a",
      "tree": "236c22d807ca5f2419a1b0394bd1092aab730cde",
      "parents": [
        "917c16b2b69fc2eeb432eabca73258f08c58361e"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 08 15:47:34 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Nov 08 15:47:34 2011 -0500"
      },
      "message": "Btrfs: fix our reservations for updating an inode when completing io\n\nPeople have been reporting ENOSPC crashes in finish_ordered_io.  This is because\nwe try to steal from the delalloc block rsv to satisfy a reservation to update\nthe inode.  The problem with this is we don\u0027t explicitly save space for updating\nthe inode when doing delalloc.  This is kind of a problem and we\u0027ve gotten away\nwith this because way back when we just stole from the delalloc reserve without\nany questions, and this worked out fine because generally speaking the leaf had\nbeen modified either by the mtime update when we did the original write or\nbecause we just updated the leaf when we inserted the file extent item, only on\nrare occasions had the leaf not actually been modified, and that was still ok\nbecause we\u0027d just use a block or two out of the over-reservation that is\ndelalloc.\n\nThen came the delayed inode stuff.  This is amazing, except it wants a full\nreservation for updating the inode since it may do it at some point down the\nroad after we\u0027ve written the blocks and we have to recow everything again.  This\nworked out because the delayed inode stuff just stole from the global reserve,\nthat is until recently when I changed that because it caused other problems.\n\nSo here we are, we\u0027re doing everything right and being screwed for it.  So take\nan extra reservation for the inode at delalloc reservation time and carry it\nthrough the life of the delalloc reservation.  If we need it we can steal it in\nthe delayed inode stuff.  If we have already stolen it try and do a normal\nmetadata reservation.  If that fails try to steal from the delalloc reservation.\nIf _that_ fails we\u0027ll get a WARN_ON() so I can start thinking of a better way to\nsolve this and in the meantime we\u0027ll steal from the global reserve.\n\nWith this patch I ran xfstests 13 in a loop for a couple of hours and didn\u0027t see\nany problems.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "917c16b2b69fc2eeb432eabca73258f08c58361e",
      "tree": "3eb8b7d59bbb8c7d6cb54876428b485e72878692",
      "parents": [
        "45ea6095c8f0d6caad5658306416a5d254f1205e"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Nov 08 14:49:59 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Nov 08 14:49:59 2011 -0500"
      },
      "message": "Btrfs: fix oops on NULL trans handle in btrfs_truncate\n\nIf we fail to reserve space in the transaction during truncate, we can\nerror out with a NULL trans handle.  The cleanup code needs an extra\ncheck to make sure we aren\u0027t trying to use the bad handle.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "810627d9a6d0e8820c798001875bc4e1b7754ebf",
      "tree": "1ebd7b3919f78d117d7ec8b6ec78615e01210448",
      "parents": [
        "272e42b215c52d32e06bf035c1f6b70baa6716bd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Nov 08 08:56:15 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Nov 08 10:48:23 2011 -0600"
      },
      "message": "xfs: fix force shutdown handling in xfs_end_io\n\nEnsure ioend-\u003eio_error gets propagated back to e.g. AIO completions.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "272e42b215c52d32e06bf035c1f6b70baa6716bd",
      "tree": "b09ad40176f53006d57669255991a42ee38eb488",
      "parents": [
        "b52a360b2aa1c59ba9970fb0f52bbb093fcc7a24"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 28 09:54:24 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Nov 08 10:48:23 2011 -0600"
      },
      "message": "xfs: constify xfs_item_ops\n\nThe log item ops aren\u0027t nessecarily the biggest exploit vector, but marking\nthem const is easy enough.  Also remove the unused xfs_item_ops_t typedef\nwhile we\u0027re at it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "b52a360b2aa1c59ba9970fb0f52bbb093fcc7a24",
      "tree": "b8710ad524592faac1427d2155aaf4ba29a80cf8",
      "parents": [
        "1ea6b8f48918282bdca0b32a34095504ee65bab5"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Mon Nov 07 16:10:24 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Nov 08 10:48:23 2011 -0600"
      },
      "message": "xfs: Fix possible memory corruption in xfs_readlink\n\nFixes a possible memory corruption when the link is larger than\nMAXPATHLEN and XFS_DEBUG is not enabled. This also remove the\nS_ISLNK assert, since the inode mode is checked previously in\nxfs_readlink_by_handle() and via VFS.\n\nUpdated to address concerns raised by Ben Hutchings about the loose\nattention paid to 32- vs 64-bit values, and the lack of handling a\npotentially negative pathlen value:\n - Changed type of \"pathlen\" to be xfs_fsize_t, to match that of\n   ip-\u003ei_d.di_size\n - Added checking for a negative pathlen to the too-long pathlen\n   test, and generalized the message that gets reported in that case\n   to reflect the change\nAs a result, if a negative pathlen were encountered, this function\nwould return EFSCORRUPTED (and would fail an assertion for a debug\nbuild)--just as would a too-long pathlen.\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\n"
    },
    {
      "commit": "a3fbbde70a0cec017f2431e8f8de208708c76acc",
      "tree": "f584856e638ca916a8aca32eda58a8fe89722c9f",
      "parents": [
        "54a0f91301950af3d6ae2ff2bf710c9c68a9bfea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Nov 07 21:21:26 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 14:58:06 2011 -0800"
      },
      "message": "VFS: we need to set LOOKUP_JUMPED on mountpoint crossing\n\nMountpoint crossing is similar to following procfs symlinks - we do\nnot get -\u003ed_revalidate() called for dentry we have arrived at, with\nunpleasant consequences for NFS4.\n\nSimple way to reproduce the problem in mainline:\n\n    cat \u003e/tmp/a.c \u003c\u003c\u0027EOF\u0027\n    #include \u003cunistd.h\u003e\n    #include \u003cfcntl.h\u003e\n    #include \u003cstdio.h\u003e\n    main()\n    {\n            struct flock fl \u003d {.l_type \u003d F_RDLCK, .l_whence \u003d SEEK_SET, .l_len \u003d 1};\n            if (fcntl(0, F_SETLK, \u0026fl))\n                    perror(\"setlk\");\n    }\n    EOF\n    cc /tmp/a.c -o /tmp/test\n\nthen on nfs4:\n\n    mount --bind file1 file2\n    /tmp/test \u003c file1\t\t# ok\n    /tmp/test \u003c file2\t\t# spews \"setlk: No locks available\"...\n\nWhat happens is the missing call of -\u003ed_revalidate() after mountpoint\ncrossing and that\u0027s where NFS4 would issue OPEN request to server.\n\nThe fix is simple - treat mountpoint crossing the same way we deal with\nfollowing procfs-style symlinks.  I.e.  set LOOKUP_JUMPED...\n\nCc: stable@kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6f498a891c730327645a7afa10c5ae977de6fd8",
      "tree": "1b162b3f76a653cc5292f1ca04cf7c04905246df",
      "parents": [
        "0486958f57a496212e3c1e3d9194deebba3dc3d4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 07 15:50:32 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 07 16:20:00 2011 -0500"
      },
      "message": "NFS: Fix a regression in the referral code\n\nFix a regression that was introduced by commit\n0c2e53f11a6dae9e3af5f50f5ad0382e7c3e0cfa (NFS: Remove the unused\n\"lookupfh()\" version of nfs4_proc_lookup()).\n\nIn the case where the lookup gets an NFS4ERR_MOVED, we want to return\nthe result of nfs4_get_referral(). Instead, that value is getting\nclobbered by the call to nfs4_handle_exception()...\n\nReported-by: Tigran Mkrtchyan \u003ctigran.mkrtchyan@desy.de\u003e\nTested-by: Tigran Mkrtchyan \u003ctigran.mkrtchyan@desy.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "45ea6095c8f0d6caad5658306416a5d254f1205e",
      "tree": "84c25fabfb4b0a8e4fdbc16b5d29ba75ebf7a0ce",
      "parents": [
        "7c7e82a77fe3d89ae50824aa7c897454675eb4c4"
      ],
      "author": {
        "name": "slyich@gmail.com",
        "email": "slyich@gmail.com",
        "time": "Mon Nov 07 16:08:01 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 07 16:08:01 2011 -0500"
      },
      "message": "btrfs: fix double-free \u0027tree_root\u0027 in \u0027btrfs_mount()\u0027\n\nOn error path \u0027tree_root\u0027 is treed in \u0027free_fs_info()\u0027.\nNo need to free it explicitely. Noticed by SLUB in debug mode:\n\nComplete reproducer under usermode linux (discovered on real\nmachine):\n\n    bdev\u003d/dev/ubda\n    btr_root\u003d/btr\n    /mkfs.btrfs $bdev\n    mount $bdev $btr_root\n    mkdir $btr_root/subvols/\n    cd $btr_root/subvols/\n    /btrfs su cr foo\n    /btrfs su cr bar\n    mount $bdev -osubvol\u003dsubvols/foo $btr_root/subvols/bar\n    umount $btr_root/subvols/bar\n\nwhich gives\n\ndevice fsid 4d55aa28-45b1-474b-b4ec-da912322195e devid 1 transid 7 /dev/ubda\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBUG kmalloc-2048: Object already free\n-----------------------------------------------------------------------------\n\nINFO: Allocated in btrfs_mount+0x389/0x7f0 age\u003d0 cpu\u003d0 pid\u003d277\nINFO: Freed in btrfs_mount+0x51c/0x7f0 age\u003d0 cpu\u003d0 pid\u003d277\nINFO: Slab 0x0000000062886200 objects\u003d15 used\u003d9 fp\u003d0x0000000070b4d2d0 flags\u003d0x4081\nINFO: Object 0x0000000070b4d2d0 @offset\u003d21200 fp\u003d0x0000000070b4a968\n...\nCall Trace:\n70b31948:  [\u003c6008c522\u003e] print_trailer+0xe2/0x130\n70b31978:  [\u003c6008c5aa\u003e] object_err+0x3a/0x50\n70b319a8:  [\u003c6008e242\u003e] free_debug_processing+0x142/0x2a0\n70b319e0:  [\u003c600ebf6f\u003e] btrfs_mount+0x55f/0x7f0\n70b319f8:  [\u003c6008e5c1\u003e] __slab_free+0x221/0x2d0\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@gentoo.org\u003e\nCc: Arne Jansen \u003csensille@gmx.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "50e696308c3fb18a4a0dae7b3a4d47469149c919",
      "tree": "16ff458026c1551803b86d9e0f9f02c7a64182fa",
      "parents": [
        "a84450604d0fe08b6a2335efbedede18d3d7cc75"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Nov 07 16:39:57 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 10:54:10 2011 -0800"
      },
      "message": "vfs: d_invalidate() should leave mountpoints alone\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff4d7fa8c32f6ec513fb792c060809ec82d53ea4",
      "tree": "2b04ad419ff934fd640a97ac8e9df1abdd1e503c",
      "parents": [
        "e0d65113a70f1dc514e625cc4e7a7485a4bf72df",
        "a88b470773bc5b640292d8be7b8e7e1011a86639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:56:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:56:22 2011 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  CIFS: Cleanup byte-range locking code style\n  CIFS: Simplify setlk error handling for mandatory locking\n"
    },
    {
      "commit": "e0d65113a70f1dc514e625cc4e7a7485a4bf72df",
      "tree": "7320a130dc304623f5cf4b5dd8f67fb1776225ca",
      "parents": [
        "cf5e15fbd72c13977720aa15b7b7e00e1d8fd8f2",
        "48e546b7f281f251893baa40769581fd15f085fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:11:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:11:16 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (226 commits)\n  mtd: tests: annotate as DANGEROUS in Kconfig\n  mtd: tests: don\u0027t use mtd0 as a default\n  mtd: clean up usage of MTD_DOCPROBE_ADDRESS\n  jffs2: add compr\u003dlzo and compr\u003dzlib options\n  jffs2: implement mount option parsing and compression overriding\n  mtd: nand: initialize ops.mode\n  mtd: provide an alias for the redboot module name\n  mtd: m25p80: don\u0027t probe device which has status of \u0027disabled\u0027\n  mtd: nand_h1900 never worked\n  mtd: Add DiskOnChip G3 support\n  mtd: m25p80: add EON flash EN25Q32B into spi flash id table\n  mtd: mark block device queue as non-rotational\n  mtd: r852: make r852_pm_ops static\n  mtd: m25p80: add support for at25df321a spi data flash\n  mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks\n  mtd: nand: switch `check_pattern()\u0027 to standard `memcmp()\u0027\n  mtd: nand: invalidate cache on unaligned reads\n  mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set\n  mtd: nand: wait to set BBT version\n  mtd: nand: scrub BBT on ECC errors\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-at91/board-usb-a9260.c\n\tMerged into board-usb-a926x.c\n - drivers/mtd/maps/lantiq-flash.c\n\tadd_mtd_partitions -\u003e mtd_device_register vs changed to use\n\tmtd_device_parse_register.\n"
    },
    {
      "commit": "cf5e15fbd72c13977720aa15b7b7e00e1d8fd8f2",
      "tree": "66ecb6f516d33915171682cc602af978c0ae014f",
      "parents": [
        "31555213f03bca37d2c02e10946296052f4ecfcd",
        "7606f85a701ed8feeac065e133ff9a51c267aa0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 08:52:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 08:52:19 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix the dark space calculation\n  UBIFS: introduce a helper to dump scanning info\n"
    },
    {
      "commit": "3c1fcb2c24519febd7ca9cf292fa5bdf513b601f",
      "tree": "9be412cacdd7778fc5826efdda0d135570929991",
      "parents": [
        "2397256d6218e7bf5147a3b01dcc6aec20fd3916"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Mon Nov 07 11:01:13 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 07 11:01:13 2011 -0500"
      },
      "message": "ext4: add blk_finish_plug in error case of writepages.\n\nblk_finish_plug is needed in error case of writepages.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2397256d6218e7bf5147a3b01dcc6aec20fd3916",
      "tree": "b8f25e74a37f72ee670e5a2c96129e4fd0b49d0f",
      "parents": [
        "eb513689c97e3e73bb9b4459d490a8e894b4a546"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon Nov 07 10:50:09 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 07 10:50:09 2011 -0500"
      },
      "message": "ext4: Remove kernel_lock annotations\n\nThe BKL is gone, these annotations are useless.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "eb513689c97e3e73bb9b4459d490a8e894b4a546",
      "tree": "767931920c50055b4416b4554fa2dfac4c579b2a",
      "parents": [
        "5c8a0fbba543d9428a486f0d1282bbcf3cf1d95a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 07 10:47:42 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 07 10:47:42 2011 -0500"
      },
      "message": "ext4: ignore journalled data options on remount if fs has no journal\n\nThis avoids a confusing failure in the init scripts when the\n/etc/fstab has data\u003dwriteback or data\u003djournal but the file system does\nnot have a journal.  So check for this case explicitly, and warn the\nuser that we are ignoring the (pointless, since they have no journal)\ndata\u003d* mount option.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6a6662ced4153f6dbcfc40d7225c3cc45416039c",
      "tree": "77ad5d577333f02cd854e44827a407dd0388d4eb",
      "parents": [
        "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
        "7c7e82a77fe3d89ae50824aa7c897454675eb4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:03:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:03:41 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (114 commits)\n  Btrfs: check for a null fs root when writing to the backup root log\n  Btrfs: fix race during transaction joins\n  Btrfs: fix a potential btrfs_bio leak on scrub fixups\n  Btrfs: rename btrfs_bio multi -\u003e bbio for consistency\n  Btrfs: stop leaking btrfs_bios on readahead\n  Btrfs: stop the readahead threads on failed mount\n  Btrfs: fix extent_buffer leak in the metadata IO error handling\n  Btrfs: fix the new inspection ioctls for 32 bit compat\n  Btrfs: fix delayed insertion reservation\n  Btrfs: ClearPageError during writepage and clean_tree_block\n  Btrfs: be smarter about committing the transaction in reserve_metadata_bytes\n  Btrfs: make a delayed_block_rsv for the delayed item insertion\n  Btrfs: add a log of past tree roots\n  btrfs: separate superblock items out of fs_info\n  Btrfs: use the global reserve when truncating the free space cache inode\n  Btrfs: release metadata from global reserve if we have to fallback for unlink\n  Btrfs: make sure to flush queued bios if write_cache_pages waits\n  Btrfs: fix extent pinning bugs in the tree log\n  Btrfs: make sure btrfs_remove_free_space doesn\u0027t leak EAGAIN\n  Btrfs: don\u0027t wait as long for more batches during SSD log commit\n  ...\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "5d5a8d2d9d6cca979efe4fe1552d787fdc542603",
      "tree": "716fdea6cb946cbb279de99bf24b2c2bb126d625",
      "parents": [
        "d4a2e61f0b7a7b5b9e321e776a1e874c02e847e4",
        "0c6d4b4e22a513f8563a2e00c5ab08e9f8796272"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:44 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph/super.c: quiet sparse noise\n  ceph/mds_client.c: quiet sparse noise\n  ceph: use new D_COMPLETE dentry flag\n  ceph: clear parent D_COMPLETE flag when on dentry prune\n"
    },
    {
      "commit": "7c7e82a77fe3d89ae50824aa7c897454675eb4c4",
      "tree": "de7ac71aa9fa00d3ce2b1849c97733f37799900c",
      "parents": [
        "d43317dcd074818d4bd12ddd4184a29aff98907b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 18:50:56 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 18:50:56 2011 -0500"
      },
      "message": "Btrfs: check for a null fs root when writing to the backup root log\n\nDuring log replay, can commit the transaction before the fs_root\npointers are setup, so we have to make sure they are not null before\ntrying to use them.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d43317dcd074818d4bd12ddd4184a29aff98907b",
      "tree": "233033cf8c7f3cb38dc549d2a1be7f0fc9ecfd80",
      "parents": [
        "56d2a48f81a1bde827c625b90221fade72fe9c61"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:26:19 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:26:19 2011 -0500"
      },
      "message": "Btrfs: fix race during transaction joins\n\nWhile we\u0027re allocating ram for a new transaction, we drop our spinlock.\nWhen we get the lock back, we do check to see if a transaction started\nwhile we slept, but we don\u0027t check to make sure it isn\u0027t blocked\nbecause a commit has already started.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "56d2a48f81a1bde827c625b90221fade72fe9c61",
      "tree": "162de09347589bc3bf9bd40f2c2ad6e32283798b",
      "parents": [
        "21ca543efc12674fddb22ddf4ea4906427f4e982"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Fri Nov 04 09:41:02 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:11:29 2011 -0500"
      },
      "message": "Btrfs: fix a potential btrfs_bio leak on scrub fixups\n\nIn case we were able to map less than we wanted (length \u003c PAGE_SIZE\nclause is true) btrfs_bio is still allocated and we have to free it.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "21ca543efc12674fddb22ddf4ea4906427f4e982",
      "tree": "61cebcafbc7605800b6411ea279f634db9c9da15",
      "parents": [
        "9510dc4c62252e96dca44a94948327c76774f25b"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Fri Nov 04 09:41:02 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:11:21 2011 -0500"
      },
      "message": "Btrfs: rename btrfs_bio multi -\u003e bbio for consistency\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9510dc4c62252e96dca44a94948327c76774f25b",
      "tree": "945a5a2df3c4c84cec80dee60c1c67751e5489b8",
      "parents": [
        "306c8b68c82dfe6b7c9e5b61985760ad5d089205"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Fri Nov 04 09:41:02 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:11:08 2011 -0500"
      },
      "message": "Btrfs: stop leaking btrfs_bios on readahead\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "306c8b68c82dfe6b7c9e5b61985760ad5d089205",
      "tree": "bf720bdfe5de076d4006bee3c1dfc84d5efcb003",
      "parents": [
        "c674e04e1cd6049715e7b9446790f4b441e547c0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 03 15:21:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:09:41 2011 -0500"
      },
      "message": "Btrfs: stop the readahead threads on failed mount\n\nIf we don\u0027t stop them, they linger around corrupting\nmemory by using pointers to freed things.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c674e04e1cd6049715e7b9446790f4b441e547c0",
      "tree": "a84d0488a8c8a2fc45abd7f54e054ccd2fcf8a83",
      "parents": [
        "740c3d226cbba6cd6a32adfb66809c94938f3e57"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 03 22:23:13 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:09:10 2011 -0500"
      },
      "message": "Btrfs: fix extent_buffer leak in the metadata IO error handling\n\nThe scrub readahead branch brought in a new error handling hook,\nbut it was leaking extent_buffer references.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "740c3d226cbba6cd6a32adfb66809c94938f3e57",
      "tree": "375a5d2ee3bdc66f29e69e99c3691c3200407820",
      "parents": [
        "806468f8bf76a3cb2b626dd282946a6c9c0a50f0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 02 15:48:34 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:08:49 2011 -0500"
      },
      "message": "Btrfs: fix the new inspection ioctls for 32 bit compat\n\nThe new ioctls to follow backrefs are not clean for 32/64 bit\ncompat.  This reworks them for u64s everywhere.  They are brand new, so\nthere are no problems with changing the interface now.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "806468f8bf76a3cb2b626dd282946a6c9c0a50f0",
      "tree": "2de54229a5623756417a9bad7f426a2e8b06cad7",
      "parents": [
        "531f4b1ae5e0fc8c9b3f03838218e5ea178f80d3",
        "5da6fcbc4eb50c0f55d520750332f5a6ab13508c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:07:10 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:07:10 2011 -0500"
      },
      "message": "Merge git://git.jan-o-sch.net/btrfs-unstable into integration\n\nConflicts:\n\tfs/btrfs/Makefile\n\tfs/btrfs/extent_io.c\n\tfs/btrfs/extent_io.h\n\tfs/btrfs/scrub.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "531f4b1ae5e0fc8c9b3f03838218e5ea178f80d3",
      "tree": "63efdfe9b192243fefb76be3921b9a2aaa26291e",
      "parents": [
        "c06a0e120a4e381a1c291c1fce3c6155c5791cae",
        "7a26285eea8eb92e0088db011571d887d4551b0f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:05:08 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:05:08 2011 -0500"
      },
      "message": "Merge branch \u0027for-chris\u0027 of git://github.com/sensille/linux into integration\n\nConflicts:\n\tfs/btrfs/ctree.h\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c06a0e120a4e381a1c291c1fce3c6155c5791cae",
      "tree": "a9d1c44610b37c701d25e439b005dacfa0f823c1",
      "parents": [
        "bf0da8c183a15656eee63c54f334c3794320872a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 04 19:56:02 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:20 2011 -0500"
      },
      "message": "Btrfs: fix delayed insertion reservation\n\nWe all keep getting those stupid warnings from use_block_rsv when running\nstress.sh, and it\u0027s because the delayed insertion stuff is being stupid.  It\u0027s\nnot the delayed insertion stuffs fault, it\u0027s all just stupid.  When marking an\ninode dirty for oh say updating the time on it, we just do a\nbtrfs_join_transaction, which doesn\u0027t reserve any space.  This is stupid because\nwe\u0027re going to have to have space reserve to make this change, but we do it\nbecause it\u0027s fast because chances are we\u0027re going to call it over and over again\nand it doesn\u0027t matter.  Well thanks to the delayed insertion stuff this is\nmostly the case, so we do actually need to make this reservation.  So if\ntrans-\u003ebytes_reserved is 0 then try to do a normal reservation.  If not return\nENOSPC which will make the btrfs_dirty_inode start a proper transaction which\nwill let it do the whole ENOSPC dance and reserve enough space for the delayed\ninsertion to steal the reservation from the transaction.\n\nThe other stupid thing we do is not reserve space for the inode when writing to\nthe thing.  Usually this is ok since we have to update the time so we\u0027d have\nalready done all this work before we get to the endio stuff, so it doesn\u0027t\nmatter.  But this is stupid because we could write the data after the\ntransaction commits where we changed the mtime of the inode so we have to cow\nall the way down to the inode anyway.  This used to be masked by the delalloc\nreservation stuff, but because we delay the update it doesn\u0027t get masked in this\ncase.  So again the delayed insertion stuff bites us in the ass.  So if our\ntrans-\u003eblock_rsv is delalloc, just steal the reservation from the delalloc\nreserve.  Hopefully this won\u0027t bite us in the ass, but I\u0027ve said that before.\n\nWith this patch stress.sh no longer spits out those stupid warnings (famous last\nwords).  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bf0da8c183a15656eee63c54f334c3794320872a",
      "tree": "dad92ff6ea5cba470d93664b9ea195ecab66b07b",
      "parents": [
        "663350ac38c67ca388acea6e876dc6d668c232b0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Nov 04 12:29:37 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:20 2011 -0500"
      },
      "message": "Btrfs: ClearPageError during writepage and clean_tree_block\n\nFailure testing was tripping up over stale PageError bits in\nmetadata pages.  If we have an io error on a block, and later on\nend up reusing it, nobody ever clears PageError on those pages.\n\nDuring commit, we\u0027ll find PageError and think we had trouble writing\nthe block, which will lead to aborts and other problems.\n\nThis changes clean_tree_block and the btrfs writepage code to\nclear the PageError bit.  In both cases we\u0027re either completely\ndone with the page or the page has good stuff and the error bit\nis no longer valid.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "663350ac38c67ca388acea6e876dc6d668c232b0",
      "tree": "d111c306c5dfd622c04a0568efde089bdc4577b3",
      "parents": [
        "6d668dda0caec537fbf28c4d91e6d18181af3cff"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 03 22:54:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:19 2011 -0500"
      },
      "message": "Btrfs: be smarter about committing the transaction in reserve_metadata_bytes\n\nBecause of the overcommit stuff I had to make it so that we committed the\ntransaction all the time in reserve_metadata_bytes in case we had overcommitted\nbecause of delayed items.  This was because previously we had no way of knowing\nhow much space was reserved for delayed items.  Now that we have the\ndelayed_block_rsv we can check it to see if committing the transaction would get\nus anywhere.  This patch breaks out the committing logic into a helper function\nthat will check to see if committing the transaction would free enough space for\nus to get anything done.  With this patch xfstests 83 goes from taking 445\nseconds to taking 28 seconds on my box.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6d668dda0caec537fbf28c4d91e6d18181af3cff",
      "tree": "bfc4afce43435e0dc354e58150745fcf2c6072f0",
      "parents": [
        "af31f5e5b84b5bf2bcec464153a5130b170b2770"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Nov 03 22:54:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:18 2011 -0500"
      },
      "message": "Btrfs: make a delayed_block_rsv for the delayed item insertion\n\nI\u0027ve been hitting warnings in use_block_rsv when running the delayed insertion\nstuff.  It\u0027s because we will readjust global block rsv based on what is in use,\nwhich means we could end up discarding reservations that are for the delayed\ninsertion stuff.  So instead create a seperate block rsv for the delayed\ninsertion stuff.  This will also make it easier to debug problems with the\ndelayed insertion reservations since we will know that only the delayed\ninsertion code touches this block_rsv.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "af31f5e5b84b5bf2bcec464153a5130b170b2770",
      "tree": "f8f5d8f18a115431e8826fa1c46580311dc1e485",
      "parents": [
        "6c41761fc6efe1503103a1afe03a6635c0b5d4ec"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 03 15:17:42 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:15 2011 -0500"
      },
      "message": "Btrfs: add a log of past tree roots\n\nThis takes some of the free space in the btrfs super block\nto record information about most of the roots in the last four\ncommits.\n\nIt also adds a -o recovery to use the root history log when\nwe\u0027re not able to read the tree of tree roots, the extent\ntree root, the device tree root or the csum root.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6c41761fc6efe1503103a1afe03a6635c0b5d4ec",
      "tree": "08ad34d43aac48e8f8143a0b1fa07141df8f202a",
      "parents": [
        "c8174313a8102e874aaa321e2fc4c7c460a87151"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Wed Apr 13 15:41:04 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:04:01 2011 -0500"
      },
      "message": "btrfs: separate superblock items out of fs_info\n\nfs_info has now ~9kb, more than fits into one page. This will cause\nmount failure when memory is too fragmented. Top space consumers are\nsuper block structures super_copy and super_for_commit, ~2.8kb each.\nAllocate them dynamically. fs_info will be ~3.5kb. (measured on x86_64)\n\nAdd a wrapper for freeing fs_info and all of it\u0027s dynamically allocated\nmembers.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\n"
    },
    {
      "commit": "c8174313a8102e874aaa321e2fc4c7c460a87151",
      "tree": "366dc804d4b5d0d8c32d70cc554651efa552ba59",
      "parents": [
        "5a77d76c243be18d854aa1b14d697525f60e169a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Nov 02 09:29:35 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:50 2011 -0500"
      },
      "message": "Btrfs: use the global reserve when truncating the free space cache inode\n\nWe no longer use the orphan block rsv for holding the reservation for truncating\nthe inode, so instead use the global block rsv and check to make sure it has\nenough space for us to truncate the space.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5a77d76c243be18d854aa1b14d697525f60e169a",
      "tree": "ddf15400e692085b5914297eb2d88989e5246c11",
      "parents": [
        "01d658f2ca3c85c1ffb20b306e30d16197000ce7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 01 14:32:23 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:49 2011 -0500"
      },
      "message": "Btrfs: release metadata from global reserve if we have to fallback for unlink\n\nI fixed a problem where we weren\u0027t reserving space for an orphan item when we\nhad to fallback to using the global reserve for an unlink, but I introduced\nanother problem.  I was migrating the bytes from the transaction reserve to the\nglobal reserve and then releasing from the global reserve in\nbtrfs_end_transaction().  The problem with this is that a migrate will jack up\nthe size for the destination, but leave the size alone for the source, with the\nidea that you can do a release normally on the source and it all washes out, and\nthen you can do a release again on the destination and it works out right.  My\nway was skipping the release on the trans_block_rsv which still had the jacked\nup size from our original reservation.  So instead release manually from the\nglobal reserve if this transaction was using it, and then set the\ntrans-\u003eblock_rsv back to the trans_block_rsv so that btrfs_end_transaction\ncleans everything up properly.  With this patch xfstest 83 doesn\u0027t emit warnings\nabout leaking space.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "01d658f2ca3c85c1ffb20b306e30d16197000ce7",
      "tree": "eda62586bb95967a4001f8fb70e6955b531cf801",
      "parents": [
        "e688b7252f784c2479d559f9f70ca8354752c5e7"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Nov 01 10:08:06 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:48 2011 -0500"
      },
      "message": "Btrfs: make sure to flush queued bios if write_cache_pages waits\n\nwrite_cache_pages tries to build up a large bio to stuff down the pipe.\nBut if it needs to wait for a page lock, it needs to make sure and send\ndown any pending writes so we don\u0027t deadlock with anyone who has the\npage lock and is waiting for writeback of things inside the bio.\n\nDave Sterba triggered this as a deadlock between the autodefrag code and\nthe extent write_cache_pages\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e688b7252f784c2479d559f9f70ca8354752c5e7",
      "tree": "3934b0a9c348b2900e08e8fc9c0e6819e80d0fff",
      "parents": [
        "1eae31e918972bbeefc119d23c1d67674f49a301"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Oct 31 20:52:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:48 2011 -0500"
      },
      "message": "Btrfs: fix extent pinning bugs in the tree log\n\nThe tree log had two important bugs that could cause corruptions after a\ncrash.  Sometimes we were allowing tree log blocks to be reused after\nthe tree log was committed but before the transaction commit was done.\n\nThis allowed a future metadata write to overwrite the tree log data.  It\nis fixed by adding a new variant of freeing reserved extents that always\npins them.  Credit goes to Stefan Behrens and Arne Jansen for many many\nhours spent tracking this bug down.\n\nDuring tree log replay, we do a pass through the tree log and pin all\nthe extents we find.  This makes sure the replay code won\u0027t go in and\nuse any of those blocks for new allocations during replay.  The problem\nis the free space cache isn\u0027t honoring these pinned extents.  So the\nallocator can end up handing them out, leading to all kinds of problems\nduring replay.\n\nThe fix here is to force any free space cache to load while we pin the\nextents, and then to make sure we remove the pinned extents from the\nfree space rbtree.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nReported-by: Stefan Behrens \u003csbehrens@giantdisaster.de\u003e\n"
    },
    {
      "commit": "1eae31e918972bbeefc119d23c1d67674f49a301",
      "tree": "b6c1df4d25699812a83f107187b407d53abeb82e",
      "parents": [
        "cd354ad613a393424f85333ceed6b15e07fb94ae"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 14 06:31:20 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:47 2011 -0500"
      },
      "message": "Btrfs: make sure btrfs_remove_free_space doesn\u0027t leak EAGAIN\n\nbtrfs_remove_free_space needs to make sure to set ret back to a\nvalid return value after setting it to EAGAIN, otherwise we return\nit to the callers.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cd354ad613a393424f85333ceed6b15e07fb94ae",
      "tree": "98261d8cc0a0f3808fd34037629a92d31a670b19",
      "parents": [
        "dff51cd1c60856c28f5d22a571294c2b70b6b322"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 20 15:45:37 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 06 03:03:47 2011 -0500"
      },
      "message": "Btrfs: don\u0027t wait as long for more batches during SSD log commit\n\nWhen we\u0027re doing log commits, we try to wait for more writers to come in\nand make the commit bigger.  This helps improve performance on rotating\ndisks, but on SSDs it adds latencies.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "15a2015fbc692e1c97d7ce12d96e077f5ae7ea6d",
      "tree": "f902cc2b7cab475c8b220147bb786dc3a772888e",
      "parents": [
        "0c6d4b4e22a513f8563a2e00c5ab08e9f8796272"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 05 22:06:31 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 05 22:06:31 2011 -0700"
      },
      "message": "ceph: fix iput race when queueing inode work\n\nIf we queue a work item that calls iput(), make sure we ihold() before\nattempting to queue work. Otherwise our queued work might miraculously run\nbefore we notice the queue_work() succeeded and call ihold(), allowing the\ninode to be destroyed.\n\nThat is, instead of\n\n\tif (queue_work(...))\n\t\tihold();\n\nwe need to do\n\n\tihold();\n\tif (!queue_work(...))\n\t\tiput();\n\nReported-by: Amon Ott \u003ca.ott@m-privacy.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0c6d4b4e22a513f8563a2e00c5ab08e9f8796272",
      "tree": "7c9401773dad6f6d64fea935b4623bab4e83c046",
      "parents": [
        "7fd7d101ff50af55d6d69f4705facc00c324024e"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Sep 23 11:53:30 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 05 21:10:12 2011 -0700"
      },
      "message": "ceph/super.c: quiet sparse noise\n\nQuiet the sparse noise:\n\nwarning: symbol \u0027create_fs_client\u0027 was not declared. Should it be static?\nwarning: symbol \u0027destroy_fs_client\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nceph-devel@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7fd7d101ff50af55d6d69f4705facc00c324024e",
      "tree": "5314049cb1fc3e27d9962962bcea0194ce971b39",
      "parents": [
        "c6ffe10015f4e6fba8a915318b319c43aed1836f"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Sep 23 13:22:11 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat Nov 05 21:10:11 2011 -0700"
      },
      "message": "ceph/mds_client.c: quiet sparse noise\n\nQuiet the following sparse noise:\n\nwarning: symbol \u0027get_nonsnap_parent\u0027 was not declared. Should it be static?\nwarning: symbol \u0027done_closing_sessions\u0027 was not declared. Should it be static?\n\nLocal functions don\u0027t need external visability. Make them static.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "c6ffe10015f4e6fba8a915318b319c43aed1836f"
}
