)]}'
{
  "log": [
    {
      "commit": "e04b5ef8b49db87d01a9b3a47fe41a918a0c0ff5",
      "tree": "f643a43591e5d4593e79bafb47b8d3db70346af2",
      "parents": [
        "276b282e904f690dc930f9bc946110651f297669"
      ],
      "author": {
        "name": "Mike Hommey",
        "email": "mh@glandium.org",
        "time": "Wed Nov 11 14:26:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:26:01 2009 -0800"
      },
      "message": "__generic_block_fiemap(): fix for files bigger than 4GB\n\nBecause of an integer overflow on start_blk, various kind of wrong results\nwould be returned by the generic_block_fiemap() handler, such as no\nextents when there is a 4GB+ hole at the beginning of the file, or wrong\nfe_logical when an extent starts after the first 4GB.\n\nSigned-off-by: Mike Hommey \u003cmh@glandium.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@sgi.com\u003e\nCc: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc63cf237078c86214abcb2ee9926d8ad289da9b",
      "tree": "3af8571390aec334b7f47c08ba0cff0a72d6fbb3",
      "parents": [
        "93f40e6f1493ae0c1e04760b221c125ef5e47205"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Nov 11 14:26:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:58 2009 -0800"
      },
      "message": "exec: setup_arg_pages() fails to return errors\n\nIn setup_arg_pages we work hard to assign a value to ret, but on exit we\nalways return 0.\n\nAlso remove a now duplicated exit path and branch to out_unlock instead.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7779d7bed950a7fb1af4f540c2f82a6b81b65901",
      "tree": "ca8e8d16a3f50d670f95b3b51c1aaad81a0e05f8",
      "parents": [
        "29f12ca32122db98481150be09d35bd72b68045e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Nov 11 14:26:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:57 2009 -0800"
      },
      "message": "fs: add missing compat_ptr handling for FS_IOC_RESVSP ioctl\n\nFor FS_IOC_RESVSP and FS_IOC_RESVSP64 compat_sys_ioctl() uses its\narg argument as a pointer to userspace. However it is missing a\na call to compat_ptr() which will do a proper pointer conversion.\n\nThis was introduced with 3e63cbb1 \"fs: Add new pre-allocation ioctls\nto vfs for compatibility with legacy xfs ioctls\".\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ankit Jain \u003cme@ankitjain.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Arnd Bergmann \u003carndbergmann@googlemail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.31.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29f12ca32122db98481150be09d35bd72b68045e",
      "tree": "df2bbe3d67451a6c51a5056a40cd8dfa09dd5b29",
      "parents": [
        "15f3c476589c8778b0c10f1fb5160f9107c69556"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Wed Nov 11 14:26:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:57 2009 -0800"
      },
      "message": "pidns: fix a leak in /proc dentries and inodes with pid namespaces.\n\nDaniel Lezcano reported a leak in \u0027struct pid\u0027 and \u0027struct pid_namespace\u0027\nthat is discussed in:\n\n\thttp://lkml.org/lkml/2009/10/2/159.\n\nTo summarize the thread, when container-init is terminated, it sets the\nPF_EXITING flag, zaps other processes in the container and waits to reap\nthem.  As a part of reaping, the container-init should flush any /proc\ndentries associated with the processes.  But because the container-init is\nitself exiting and the following PF_EXITING check, the dentries are not\nflushed, resulting in leak in /proc inodes and dentries.\n\nThis fix reverts the commit 7766755a2f249e7e0 (\"Fix /proc dcache deadlock\nin do_exit\") which introduced the check for PF_EXITING.  At the time of\nthe commit, shrink_dcache_parent() flushed dentries from other filesystems\nalso and could have caused a deadlock which the commit fixed.  But as\npointed out by Eric Biederman, after commit 0feae5c47aabdde59,\nshrink_dcache_parent() no longer affects other filesystems.  So reverting\nthe commit is now safe.\n\nAs pointed out by Jan Kara, the leak is not as critical since the\nunclaimed space will be reclaimed under memory pressure or by:\n\n\techo 3 \u003e /proc/sys/vm/drop_caches\n\nBut since this check is no longer required, its best to remove it.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nReported-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Andrea Arcangeli \u003candrea@cpushare.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff5e4b51a397568c6a2901903c35a4bfaaf752a4",
      "tree": "ce0561bb54b4bd433cd8797e31817d25235a7c13",
      "parents": [
        "aa021baa3295fa6e3f367d80f8955dd5176656eb"
      ],
      "author": {
        "name": "Stefan Schmidt",
        "email": "stefan@datenfreihafen.org",
        "time": "Thu Nov 12 09:53:50 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 12 10:24:12 2009 +0100"
      },
      "message": "fs/jbd: Export log_start_commit to fix ext3 build.\n\nThis fixes:\nERROR: \"log_start_commit\" [fs/ext3/ext3.ko] undefined!\n\nSigned-off-by: Stefan Schmidt \u003cstefan@datenfreihafen.org\u003e\n"
    },
    {
      "commit": "aa021baa3295fa6e3f367d80f8955dd5176656eb",
      "tree": "13da8275b1957399bc4fa19ec7cc313d48694e31",
      "parents": [
        "404291ac9e72d118fcadeb939a69b2caa0a0e9ca",
        "a6dbd429d8dd3382bbd9594b8d2ec74843a260d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 13:38:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 13:38:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix panic when trying to destroy a newly allocated\n  Btrfs: allow more metadata chunk preallocation\n  Btrfs: fallback on uncompressed io if compressed io fails\n  Btrfs: find ideal block group for caching\n  Btrfs: avoid null deref in unpin_extent_cache()\n  Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root\n  Btrfs: fix some metadata enospc issues\n  Btrfs: fix how we set max_size for free space clusters\n  Btrfs: cleanup transaction starting and fix journal_info usage\n  Btrfs: fix data allocation hint start\n"
    },
    {
      "commit": "a6dbd429d8dd3382bbd9594b8d2ec74843a260d9",
      "tree": "9cc6426da748996e4e1cc61d446052838703434f",
      "parents": [
        "33b258086441dd07e00133c79fcd8cbc6a76d737"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Nov 11 15:53:34 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 15:53:34 2009 -0500"
      },
      "message": "Btrfs: fix panic when trying to destroy a newly allocated\n\nThere is a problem where iget5_locked will look for an inode, not find it, and\nthen subsequently try to allocate it.  Another CPU will have raced in and\nallocated the inode instead, so when iget5_locked gets the inode spin lock again\nand does a search, it finds the new inode.  So it goes ahead and calls\ndestroy_inode on the inode it just allocated.  The problem is we don\u0027t set\nBTRFS_I(inode)-\u003eroot until the new inode is completely initialized.  This patch\nmakes us set root to NULL when alloc\u0027ing a new inode, so when we get to\nbtrfs_destroy_inode and we see that root is NULL we can just free up the memory\nand continue on.  This fixes the panic\n\nhttp://www.kerneloops.org/submitresult.php?number\u003d812690\n\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fd801452a30927ec0dff84e541191e611c1afd0c",
      "tree": "3c83a39d2870694729a84db9fa4d028ee496b3a2",
      "parents": [
        "79a8f1b1a481cc28701275de916ccea954c6743f",
        "7b02bec07efe1d6c7d48c786e0c1a38d28fe7245"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:52:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:52:22 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  JBD/JBD2: free j_wbuf if journal init fails.\n  ext3: Wait for proper transaction commit on fsync\n  ext3: retry failed direct IO allocations\n"
    },
    {
      "commit": "16fe4101ae265e908615702806ee3b28ab1c8370",
      "tree": "da2a562d5a3566a659c33be2d2744478fc994d7c",
      "parents": [
        "7bbf8ef6902d1e0102a91d22c035622443fd20ca",
        "1e424a348303694fabdf8b1efbfcb1a892dfa63a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:28:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:28:11 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: partial revert to fix double brelse WARNING()\n  ext4: Fix return value of ext4_split_unwritten_extents() to fix direct I/O\n  ext4: code clean up for dio fallocate handling\n  ext4: skip conversion of uninit extents after direct IO if there isn\u0027t any\n  ext4: fix ext4_ext_direct_IO()\u0027s return value after converting uninit extents\n  ext4: discard preallocation when restarting a transaction during truncate\n"
    },
    {
      "commit": "33b258086441dd07e00133c79fcd8cbc6a76d737",
      "tree": "beab74a12b7650576dbe2f97301f0905699d4292",
      "parents": [
        "f5a84ee3cdd88d96b7bcede10af58598ad8d52a7"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 10:16:57 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:20 2009 -0500"
      },
      "message": "Btrfs: allow more metadata chunk preallocation\n\nOn an FS where all of the space has not been allocated into chunks yet,\nthe enospc can return enospc just because the existing metadata chunks\nare full.\n\nWe get around this by allowing more metadata chunks to be allocated up\nto a certain limit, and finding the right limit is a little fuzzy.  The\nproblem is the reservations for delalloc would preallocate way too much\nof the FS as metadata.  We need to start saying no and just force some\nIO to happen.\n\nBut we also need to let a reasonable amount of the FS become metadata.\nThis bumps the hard limit up, later releases will have a better system.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f5a84ee3cdd88d96b7bcede10af58598ad8d52a7",
      "tree": "5f69342df0c457aca31176234a801bf3607978c5",
      "parents": [
        "ccf0e72537a9f68611ca575121afd08e2b4d0fb0"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:48 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:20 2009 -0500"
      },
      "message": "Btrfs: fallback on uncompressed io if compressed io fails\n\nCurrently compressed IO does not deal with not having its entire extent able to\nbe allocated.  So if we have enough free space to allocate for the extent, but\nits not contiguous, it will fail spectacularly.  This patch fixes this by\nfalling back on uncompressed IO which lets us spread the delalloc extent across\nmultiple extents.  I tested this by making us randomly think the reservation had\nfailed to make it fallback on the uncompressed io way and it seemed to work\nfine.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ccf0e72537a9f68611ca575121afd08e2b4d0fb0",
      "tree": "d2fd54693847b6ed1307ed1eb5d3f87b95e31538",
      "parents": [
        "4eb3991c5def39bcf553c14ebe2618fcb47b627f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:48 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:19 2009 -0500"
      },
      "message": "Btrfs: find ideal block group for caching\n\nThis patch changes a few things.  Hopefully the comments are helpfull, but\nI\u0027ll try and be as verbose here.\n\nProblem:\n\nMy fedora box was taking 1 minute and 21 seconds to boot with btrfs as root.\nPart of this problem was we pick the first block group we can find and start\ncaching it, even if it may not have enough free space.  The other problem is\nwe only search for cached block groups the first time around, which we won\u0027t\nfind any cached block groups because this is a newly mounted fs, so we end up\ncaching several block groups during bootup, which with alot of fragmentation\ntakes around 30-45 seconds to complete, which bogs down the system.  So\n\nSolution:\n\n1) Don\u0027t cache block groups willy-nilly at first.  Instead try and figure out\nwhich block group has the most free, and therefore will take the least amount\nof time to cache.\n\n2) Don\u0027t be so picky about cached block groups.  The other problem is once\nwe\u0027ve filled up a cluster, if the block group isn\u0027t finished caching the next\ntime we try and do the allocation we\u0027ll completely ignore the cluster and\nstart searching from the beginning of the space, which makes us cache more\nblock groups, which slows us down even more.  So instead of skipping block\ngroups that are not finished caching when we have a hint, only skip the block\ngroup if it hasn\u0027t started caching yet.\n\nThere is one other tweak in here.  Before if we allocated a chunk and still\ncouldn\u0027t find new space, we\u0027d end up switching the space info to force another\nchunk allocation.  This could make us end up with way too many chunks, so keep\ntrack of this particular case.\n\nWith this patch and my previous cluster fixes my fedora box now boots in 43\nseconds, and according to the bootchart is not held up by our block group\ncaching at all.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4eb3991c5def39bcf553c14ebe2618fcb47b627f",
      "tree": "9c35f532bd29e68014cc16dc6e528a8cca5cfe34",
      "parents": [
        "df66916e71231e9f2377cac9c5c1e2d190f9a427"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Nov 10 09:01:43 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:18 2009 -0500"
      },
      "message": "Btrfs: avoid null deref in unpin_extent_cache()\n\nI re-orderred the checks to avoid dereferencing \"em\" if it was null.\n\nFound by smatch static checker.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "df66916e71231e9f2377cac9c5c1e2d190f9a427",
      "tree": "9668d3ca20bf6c0b4187f272d85aa026f0a06121",
      "parents": [
        "5df6a9f606bf2ee25ab8031bff124ed883b823be"
      ],
      "author": {
        "name": "Li Dongyang",
        "email": "jerry87905@gmail.com",
        "time": "Fri Nov 06 14:33:01 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:18 2009 -0500"
      },
      "message": "Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root\n\nWe don\u0027t need to call btrfs_release_path because btrfs_free_path will do\nthat for us.\n\nSigned-off-by: Li Dongyang \u003cJerry87905@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5df6a9f606bf2ee25ab8031bff124ed883b823be",
      "tree": "2492876b6ebd9c4c52a50de1a431285fe3779889",
      "parents": [
        "01dea1efc23b511d3b58bb94da07ddb6d6db9895"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:48 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:17 2009 -0500"
      },
      "message": "Btrfs: fix some metadata enospc issues\n\nWe weren\u0027t reserving metadata space for rename, rmdir and unlink, which could\ncause problems.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "01dea1efc23b511d3b58bb94da07ddb6d6db9895",
      "tree": "4112505e90ab22936f4de18e15197979dd176cdc",
      "parents": [
        "249ac1e55c642c670f47aacdc57629bbbf10a8db"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:48 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:17 2009 -0500"
      },
      "message": "Btrfs: fix how we set max_size for free space clusters\n\nThis patch fixes a problem where max_size can be set to 0 even though we\nfilled the cluster properly.  We set max_size to 0 if we restart the cluster\nwindow, but if the new start entry is big enough to be our new cluster then we\ncould return with a max_size set to 0, which will mean the next time we try to\nallocate from this cluster it will fail.  So set max_extent to the entry\u0027s\nsize.  Tested this on my box and now we actually allocate from the cluster\nafter we fill it.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "249ac1e55c642c670f47aacdc57629bbbf10a8db",
      "tree": "b03fdf12ee409fb2b5d696f2644ac67a7a690778",
      "parents": [
        "6346c93988caa3048bf4d81f9ba3608a7a195aa2"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:48 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:16 2009 -0500"
      },
      "message": "Btrfs: cleanup transaction starting and fix journal_info usage\n\nWe use journal_info to tell if we\u0027re in a nested transaction to make sure we\ndon\u0027t commit the transaction within a nested transaction.  We use another\nmethod to see if there are any outstanding ioctl trans handles, so if we\u0027re\nstarting one do not set current-\u003ejournal_info, since it will screw with other\nfilesystems.  This patch also cleans up the starting stuff so there aren\u0027t any\nmagic numbers.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6346c93988caa3048bf4d81f9ba3608a7a195aa2",
      "tree": "78e5fbc5fa6ed8c692db24dfff475e2b95413570",
      "parents": [
        "444528b3e614f7f2391488d9bca8e0b872db909b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 10 21:23:47 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 11 14:20:16 2009 -0500"
      },
      "message": "Btrfs: fix data allocation hint start\n\nSometimes our start allocation hint when we cow a file can be either\nEXTENT_HOLE or some other such place holder, which is not optimal.  So if we\nfind that our em-\u003eblock_start is one of these special values, check to see\nwhere the first block of the inode is stored, and use that as a hint.  If that\nblock is also a special value, just fallback on a hint of 0 and let the\nallocator figure out a good place to put the data.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7b02bec07efe1d6c7d48c786e0c1a38d28fe7245",
      "tree": "cb93e26c107052be83ba52a74652c44c3ba199da",
      "parents": [
        "fe8bc91c4c30122b357d197117705cfd4fabaf28"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Nov 10 17:13:22 2009 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:24:14 2009 +0100"
      },
      "message": "JBD/JBD2: free j_wbuf if journal init fails.\n\nIf journal init fails, we need to free j_wbuf.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fe8bc91c4c30122b357d197117705cfd4fabaf28",
      "tree": "33e2895847d812204209444db4093af9a2c3623d",
      "parents": [
        "ea0174a7137c8ca9f130ca681f3a99c872da6778"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 16 19:26:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: Wait for proper transaction commit on fsync\n\nWe cannot rely on buffer dirty bits during fsync because pdflush can come\nbefore fsync is called and clear dirty bits without forcing a transaction\ncommit. What we do is that we track which transaction has last changed\nthe inode and which transaction last changed allocation and force it to\ndisk on fsync.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ea0174a7137c8ca9f130ca681f3a99c872da6778",
      "tree": "9736ef15e0250810f204bfb8d6987bd71eeba111",
      "parents": [
        "799dd75b1a8380a967c929a4551895788c374b31"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Oct 12 21:34:27 2009 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: retry failed direct IO allocations\n\nOn a 256M 4k block filesystem, doing this in a loop:\n\n    dd if\u003d/dev/zero of\u003dtest oflag\u003ddirect bs\u003d1M count\u003d64\n    rm -f test\n\neventually leads to spurious ENOSPC:\n\n    dd: writing `test\u0027: No space left on device\n\nAs with other block allocation callers, it looks like we need to\npotentially retry the allocations on the initial ENOSPC.\n\nA similar patch went into ext4 (commit\nfbbf69456619de5d251cb9f1df609069178c62d5)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b7b69c7e97bc0a6694e7052a200609fd48baafc2",
      "tree": "986d0b061111a6b06b5ddc18957e2b3d6886eb40",
      "parents": [
        "1ce55238e2dd46b978b098a85cb3d3ea494e4a93",
        "c083234f1592ef3fad3d8083663c5e4a357ec77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:52:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:52:55 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix missing cleanup of gc cache on error cases\n  nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks\n"
    },
    {
      "commit": "1e424a348303694fabdf8b1efbfcb1a892dfa63a",
      "tree": "631c7f421ea162c370c5ee09aeccb8381c7a7274",
      "parents": [
        "ba230c3f6dc88ec008806adb27b12088486d508e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Nov 08 15:45:44 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Nov 08 15:45:44 2009 -0500"
      },
      "message": "ext4: partial revert to fix double brelse WARNING()\n\nThis is a partial revert of commit 6487a9d (only the changes made to\nfs/ext4/namei.c), since it is causing the following brelse()\ndouble-free warning when running fsstress on a file system with 1k\nblocksize and we run into a block allocation failure while converting\na single-block directory to a multi-block hash-tree indexed directory.\n\nWARNING: at fs/buffer.c:1197 __brelse+0x2e/0x33()\nHardware name: \nVFS: brelse: Trying to free free buffer\nModules linked in:\nPid: 2226, comm: jbd2/sdd-8 Not tainted 2.6.32-rc6-00577-g0003f55 #101\nCall Trace:\n [\u003cc01587fb\u003e] warn_slowpath_common+0x65/0x95\n [\u003cc0158869\u003e] warn_slowpath_fmt+0x29/0x2c\n [\u003cc021168e\u003e] __brelse+0x2e/0x33\n [\u003cc0288a9f\u003e] jbd2_journal_refile_buffer+0x67/0x6c\n [\u003cc028a9ed\u003e] jbd2_journal_commit_transaction+0x319/0x14d8\n [\u003cc0164d73\u003e] ? try_to_del_timer_sync+0x58/0x60\n [\u003cc0175bcc\u003e] ? sched_clock_cpu+0x12a/0x13e\n [\u003cc017f6b4\u003e] ? trace_hardirqs_off+0xb/0xd\n [\u003cc0175c1f\u003e] ? cpu_clock+0x3f/0x5b\n [\u003cc017f6ec\u003e] ? lock_release_holdtime+0x36/0x137\n [\u003cc0664ad0\u003e] ? _spin_unlock_irqrestore+0x44/0x51\n [\u003cc0180af3\u003e] ? trace_hardirqs_on_caller+0x103/0x124\n [\u003cc0180b1f\u003e] ? trace_hardirqs_on+0xb/0xd\n [\u003cc0164d73\u003e] ? try_to_del_timer_sync+0x58/0x60\n [\u003cc0290d1c\u003e] kjournald2+0x11a/0x310\n [\u003cc017118e\u003e] ? autoremove_wake_function+0x0/0x38\n [\u003cc0290c02\u003e] ? kjournald2+0x0/0x310\n [\u003cc0170ee6\u003e] kthread+0x66/0x6b\n [\u003cc0170e80\u003e] ? kthread+0x0/0x6b\n [\u003cc01251b3\u003e] kernel_thread_helper+0x7/0x10\n---[ end trace 5579351b86af61e3 ]---\n\nCommit 6487a9d was an attempt some buffer head leaks in an ENOSPC\nerror path, but in some cases it actually results in an excess ENOSPC,\nas shown above.  Fixing this means cleaning up who is responsible for\nreleasing the buffer heads from the callee to the caller of\nadd_dirent_to_buf().\n\nSince that\u0027s a relatively complex change, and we\u0027re late in the rcX\ndevelopment cycle, I\u0027m reverting this now, and holding back a more\ncomplete fix until after 2.6.32 ships.  We\u0027ve lived with this\nbuffer_head leak on ENOSPC in ext3 and ext4 for a very long time; a\nfew more months won\u0027t kill us.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Curt Wohlgemuth \u003ccurtw@google.com\u003e\n"
    },
    {
      "commit": "c083234f1592ef3fad3d8083663c5e4a357ec77c",
      "tree": "8c90897b1fa11920a4edbf043aa59a5123eaa2cb",
      "parents": [
        "5399dd1fc8f5e812db931225ef5f67d89f3b1a56"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Nov 08 12:09:24 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Nov 08 19:04:25 2009 +0900"
      },
      "message": "nilfs2: fix missing cleanup of gc cache on error cases\n\nThis fixes an -rc1 regression brought by the commit:\n1cf58fa840472ec7df6bf2312885949ebb308853 (\"nilfs2: shorten freeze\nperiod due to GC in write operation v3\").\n\nAlthough the patch moved out a function call of\nnilfs_ioctl_move_blocks() to nilfs_ioctl_clean_segments() from\nnilfs_ioctl_prepare_clean_segments(), it didn\u0027t move corresponding\ncleanup job needed for the error case.\n\nThis will move the missing cleanup job to the destination function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\n"
    },
    {
      "commit": "5399dd1fc8f5e812db931225ef5f67d89f3b1a56",
      "tree": "cb75ad2f91fb2ec6ad70f3c1a055090418fc643f",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Nov 07 18:45:16 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Nov 08 19:01:35 2009 +0900"
      },
      "message": "nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks\n\nThis fixes a kernel oops reported by Markus Trippelsdorf in the email\ntitled \"[NILFS users] kernel Oops while running nilfs_cleanerd\".\n\nThe oops was caused by a bug of error path in\nnilfs_ioctl_move_blocks() function, which was inlined in\nnilfs_ioctl_clean_segments().\n\nnilfs_ioctl_move_blocks checks duplication of blocks which will be\nmoved in garbage collection.  But, the check should have be done\nwithin nilfs_ioctl_move_inode_block() to prevent list corruption among\nbuffers storing the target blocks.\n\nTo fix the kernel oops, this moves forward the duplication check\nbefore the list insertion.\n\nI also tested this for stable trees [2.6.30, 2.6.31].\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "f475f6775465283494346663f201ad04810d2e8a",
      "tree": "b5c054afa5509ee6957fb6a93d09999b9db975ab",
      "parents": [
        "ec06aedd44541129840ed52e6165afa3796a27bf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 06 14:18:49 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 06 22:06:14 2009 +0000"
      },
      "message": "cifs: don\u0027t use CIFSGetSrvInodeNumber in is_path_accessible\n\nBecause it\u0027s lighter weight, CIFS tries to use CIFSGetSrvInodeNumber to\nverify the accessibility of the root inode and then falls back to doing a\nfull QPathInfo if that fails with -EOPNOTSUPP. I have at least a report\nof a server that returns NT_STATUS_INTERNAL_ERROR rather than something\nthat translates to EOPNOTSUPP.\n\nRather than trying to be clever with that call, just have\nis_path_accessible do a normal QPathInfo. That call is widely\nsupported and it shouldn\u0027t increase the overhead significantly.\n\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ec06aedd44541129840ed52e6165afa3796a27bf",
      "tree": "3099a49ef7aac9ea14a921559ba067b230e33948",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 06 14:18:29 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 06 22:04:37 2009 +0000"
      },
      "message": "cifs: clean up handling when server doesn\u0027t consistently support inode numbers\n\nIt\u0027s possible that a server will return a valid FileID when we query the\nFILE_INTERNAL_INFO for the root inode, but then zeroed out inode numbers\nwhen we do a FindFile with an infolevel of\nSMB_FIND_FILE_ID_FULL_DIR_INFO.\n\nIn this situation turn off querying for server inode numbers, generate a\nwarning for the user and just generate an inode number using iunique.\nOnce we generate any inode number with iunique we can no longer use any\nserver inode numbers or we risk collisions, so ensure that we don\u0027t do\nthat in cifs_get_inode_info either.\n\nCc: Stable \u003cstable@kernel.org\u003e\nReported-by: Timothy Normand Miller \u003ctheosib@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ba230c3f6dc88ec008806adb27b12088486d508e",
      "tree": "4cd81bc7425161f1103408ce210be9172a2ee6c3",
      "parents": [
        "4b70df181611012a3556f017b57dfcef7e1d279f"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Fri Nov 06 04:01:23 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 06 04:01:23 2009 -0500"
      },
      "message": "ext4: Fix return value of ext4_split_unwritten_extents() to fix direct I/O\n\nTo prepare for a direct I/O write, we need to split the unwritten\nextents before submitting the I/O.  When no extents needed to be\nsplit, ext4_split_unwritten_extents() was incorrectly returning 0\ninstead of the size of uninitialized extents. This bug caused the\nwrong return value sent back to VFS code when it gets called from\nasync IO path, leading to an unnecessary fall back to buffered IO.\n\nThis bug also hid the fact that the check to see whether or not a\nsplit would be necessary was incorrect; we can only skip splitting the\nextent if the write completely covers the uninitialized extent.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e5a92362226e1685988bbf8d7ed50ab23453acc0",
      "tree": "8d061fd85d8ace4c76f28851bc9a73b846cd79ac",
      "parents": [
        "4397989fc91ed289909ecf307c2dc21cee0e7905",
        "5219f346b0ea2a2a8821f1e966b190788c285b0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 13:23:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 13:23:29 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: invalidate target of rename\n  fuse: fix kunmap in fuse_ioctl_copy_user\n  fuse: prevent fuse_put_request on invalid pointer\n"
    },
    {
      "commit": "1bbc9a66d0194449f32c2aa18be40db5744dbd85",
      "tree": "05c2efbd2cc8058ca1318fea2875880150b69d54",
      "parents": [
        "2c75910f1aa042be1dd769378d2611bf551721ac",
        "38634e6769920929385f1ffc8820dc3e893cc630"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 13:22:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 13:22:49 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/kvm: Remove problematic BUILD_BUG_ON statement\n  powerpc/pci: Fix regression in powerpc MSI-X\n  powerpc: Avoid giving out RTC dates below EPOCH\n  powerpc/mm: Remove debug context clamping from nohash code\n  powerpc: Cleanup Kconfig selection of hugetlbfs support\n"
    },
    {
      "commit": "d4116f820496ae3af5225d09450edc7791df0045",
      "tree": "54205739d4e65788757882fdda5dbd9687d93966",
      "parents": [
        "608221fdf9a2170962295dcfbea53dc5c50d1a74",
        "4c3da2209b1261af9a948b7509a38904c8eee554"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:57:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:57:39 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n"
    },
    {
      "commit": "411094acb70f171a111710cf32031c749ffdd28c",
      "tree": "c3e23af4b6a9ac242da85861d59268a8e8812114",
      "parents": [
        "8fcf4e5a572af520580b14abd9017760e6fcdada",
        "89240ba059ca468ae7a8346edf7f95082458c2fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:54:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:54:08 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, fs: Fix x86 procfs stack information for threads on 64-bit\n  x86: Add reboot quirk for 3 series Mac mini\n  x86: Fix printk message typo in mtrr cleanup code\n  dma-debug: Fix compile warning with PAE enabled\n  x86/amd-iommu: Un__init function required on shutdown\n  x86/amd-iommu: Workaround for erratum 63\n"
    },
    {
      "commit": "4c3da2209b1261af9a948b7509a38904c8eee554",
      "tree": "74e2f113f8a40885b0df4858a3ba19f4747086a1",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 04 02:50:06 2009 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Nov 05 08:19:18 2009 +1100"
      },
      "message": "sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n\nWhile refreshing my sysfs patches I noticed a leak in the secdata\nimplementation.  We don\u0027t free the secdata when we free the\nsysfs dirent.\n\nThis is a bug in 2.6.32-rc5 that we really should close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "89240ba059ca468ae7a8346edf7f95082458c2fc",
      "tree": "a16b4ce794572d256f568e41fe9ccfc10c35ff39",
      "parents": [
        "1d87cff407ceddf0bc4e825949a4b1bf645418bd"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Nov 03 10:22:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 13:25:03 2009 +0100"
      },
      "message": "x86, fs: Fix x86 procfs stack information for threads on 64-bit\n\nThis patch fixes two issues in the procfs stack information on\nx86-64 linux.\n\nThe 32 bit loader compat_do_execve did not store stack\nstart. (this was figured out by Alexey Dobriyan).\n\nThe stack information on a x64_64 kernel always shows 0 kbyte\nstack usage, because of a missing implementation of the KSTK_ESP\nmacro which always returned -1.\n\nThe new implementation now returns the right value.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c1257240160.4889.24.camel@wall-e\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5219f346b0ea2a2a8821f1e966b190788c285b0b",
      "tree": "61063605b09431b84a8dbbee81d1e4fc59712f48",
      "parents": [
        "0bd87182d3ab18a32a8e9175d3f68754c58e3432"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:52 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:52 2009 +0100"
      },
      "message": "fuse: invalidate target of rename\n\nInvalidate the target\u0027s attributes, which may have changed (such as\nnlink, change time) so that they are refreshed on the next getattr().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "0bd87182d3ab18a32a8e9175d3f68754c58e3432",
      "tree": "33ec19afd0954edc82b7d8d2dcee7b4e4f0785e3",
      "parents": [
        "f60311d5f7670d9539b424e4ed8b5c0872fc9e83"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 11:40:44 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:51 2009 +0100"
      },
      "message": "fuse: fix kunmap in fuse_ioctl_copy_user\n\nLooks like another victim of the confusing kmap() vs kmap_atomic() API\ndifferences.\n\nReported-by: Todor Gyumyushev \u003cyodor1@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f60311d5f7670d9539b424e4ed8b5c0872fc9e83",
      "tree": "e4289854a25f4640308532726deceb7d6ac293ed",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Anand V. Avati",
        "email": "avati@gluster.com",
        "time": "Thu Oct 22 06:24:52 2009 -0700"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:50 2009 +0100"
      },
      "message": "fuse: prevent fuse_put_request on invalid pointer\n\nfuse_direct_io() has a loop where requests are allocated in each\niteration. if allocation fails, the loop is broken out and follows\ninto an unconditional fuse_put_request() on that invalid pointer.\n\nSigned-off-by: Anand V. Avati \u003cavati@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "51bb296b09a83ee1aae025778db38f9d2cc7bb1a",
      "tree": "739f445b953aa77e82a429fe3a939d0b4cb3d222",
      "parents": [
        "dc79d2f21a2dc19df26f0cb0b46be2d6241b627b",
        "4b27e1bb442e964903f8a3fa6bdf33a602dc0941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: limit coop preemption\n  cfq-iosched: fix bad return value cfq_should_preempt()\n  backing-dev: bdi sb prune should be in the unregister path, not destroy\n  Fix bio_alloc() and bio_kmalloc() documentation\n  bio_put(): add bio_clone() to the list of functions in the comment\n"
    },
    {
      "commit": "4b70df181611012a3556f017b57dfcef7e1d279f",
      "tree": "95da7ccaea96227b597078c1c5f2a7571d959e99",
      "parents": [
        "5f5249507e4b5c4fc0f9c93f33d133d8c95f47e1"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Tue Nov 03 14:44:54 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 03 14:44:54 2009 -0500"
      },
      "message": "ext4: code clean up for dio fallocate handling\n\nThe ext4_debug() call in ext4_end_io_dio() should be moved after the\ncheck to make sure that io_end is non-NULL.\n\nThe comment above ext4_get_block_dio_write() (\"Maximum number of\nblocks...\") is a duplicate; the original and correct comment is above\nthe #define DIO_MAX_BLOCKS up above.\n\nBased on review comments from Curt Wohlgemuth.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5f5249507e4b5c4fc0f9c93f33d133d8c95f47e1",
      "tree": "0b0a790f568c07298c3a4122572e84392c787648",
      "parents": [
        "109f55651954def97fa41ee71c464d268c512ab0"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Tue Nov 10 10:48:04 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 10 10:48:04 2009 -0500"
      },
      "message": "ext4: skip conversion of uninit extents after direct IO if there isn\u0027t any\n\nAt the end of direct I/O operation, ext4_ext_direct_IO() always called\next4_convert_unwritten_extents(), regardless of whether there were any\nunwritten extents involved in the I/O or not.\n\nThis commit adds a state flag so that ext4_ext_direct_IO() only calls\next4_convert_unwritten_extents() when necessary.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "109f55651954def97fa41ee71c464d268c512ab0",
      "tree": "7c4aa2d8cb10c100bbd252e657ac410d30844bac",
      "parents": [
        "fa5d11133b07053270e18fa9c18560e66e79217e"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Tue Nov 10 10:48:08 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 10 10:48:08 2009 -0500"
      },
      "message": "ext4: fix ext4_ext_direct_IO()\u0027s return value after converting uninit extents\n\nAfter a direct I/O request covering an uninitalized extent (i.e.,\ncreated using the fallocate system call) or a hole in a file, ext4\nwill convert the uninitialized extent so it is marked as initialized\nby calling ext4_convert_unwritten_extents().  This function returns\nzero on success.\n\nThis return value was getting returned by ext4_direct_IO(); however\nthe file system\u0027s direct_IO function is supposed to return the number\nof bytes read or written on a success.  By returning zero, it confused\nthe direct I/O code into falling back to buffered I/O unnecessarily.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "05b4358ad564d7a6a51b3717afe771d36711e9c4",
      "tree": "ad8473aadd4a8f8e25aa40bf1bef8f16f7490d83",
      "parents": [
        "aeda7f6343e6375a832e52ff5ed389c115023ca5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 01:20:35 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:32:03 2009 +0900"
      },
      "message": "nilfs2: add zero-fill for new btree node buffers\n\nAdds missing initialization of newly allocated b-tree node buffers.\nThis avoids garbage data to be mixed in b-tree node blocks.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "aeda7f6343e6375a832e52ff5ed389c115023ca5",
      "tree": "2543be730f7fff44e23fbe302108afa0093cc643",
      "parents": [
        "b1e19e5601277845b4f17ecd7c9ba04f73ee11aa"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Nov 02 15:08:13 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:32:03 2009 +0900"
      },
      "message": "nilfs2: fix irregular checkpoint creation due to data flush\n\nWhen nilfs flushes out dirty data to reduce memory pressure, creation\nof checkpoints is wrongly postponed.  This bug causes irregular\ncheckpoint creation especially in small footprint systems.\n\nTo correct this issue, a timer for the checkpoint creation has to be\ncontinued if a log writer does not create a checkpoint.\n\nThis will do the correction.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b1e19e5601277845b4f17ecd7c9ba04f73ee11aa",
      "tree": "bdc23c9fcc4bfe58787b63e9c739c0692b79dc4d",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 00:25:53 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:31:36 2009 +0900"
      },
      "message": "nilfs2: fix dirty page accounting leak causing hang at write\n\nBruno Prémont and Dunphy, Bill noticed me that NILFS will certainly\nhang on ARM-based targets.\n\nI found this was caused by an underflow of dirty pages counter.  A\nb-tree cache routine was marking page dirty without adjusting page\naccount information.\n\nThis fixes the dirty page accounting leak and resolves the hang on\narm-based targets.\n\nReported-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nReported-by: Dunphy, Bill \u003cWDunphy@tandbergdata.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "fa5d11133b07053270e18fa9c18560e66e79217e",
      "tree": "1018ea7d0a2f511ae58934175dbc3815b7e63b5f",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Nov 02 18:50:49 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Nov 02 18:50:49 2009 -0500"
      },
      "message": "ext4: discard preallocation when restarting a transaction during truncate\n\nWhen restart a transaction during a truncate operation, we drop and\nreacquire i_data_sem.  After reacquiring i_data_sem, we need to\ndiscard any inode-based preallocation that might have been grabbed\nwhile we released i_data_sem (for example, if pdflush is allocating\nblocks and racing against the truncate).\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
      "tree": "24ebf7cfd598dfef82247044fb3b65110fe22fc8",
      "parents": [
        "333a07437c31ea8c16a2b82071629a540ae1e50f",
        "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix readdir corner cases\n  9p: fix readlink\n  9p: fix a small bug in readdir for long directories\n"
    },
    {
      "commit": "d4da6c9ccf648f3f1cb5bf9d981a62c253d30e28",
      "tree": "709f8bdc50a3a1d47632047eb3670b4a4a6ff045",
      "parents": [
        "c35102c3e15f90fe604523a2fbffd9dc158b455a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "message": "Revert \"ext4: Remove journal_checksum mount option and enable it by default\"\n\nThis reverts commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7, as\nrequested by Eric Sandeen.\n\nIt can basically cause an ext4 filesystem to miss recovery (and thus get\nmounted with errors) if the journal checksum does not match.\n\nQuoth Eric:\n\n   \"My hand-wavy hunch about what is happening is that we\u0027re finding a\n    bad checksum on the last partially-written transaction, which is\n    not surprising, but if we have a wrapped log and we\u0027re doing the\n    initial scan for head/tail, and we abort scanning on that bad\n    checksum, then we are essentially running an unrecovered filesystem.\n\n    But that\u0027s hand-wavy and I need to go look at the code.\n\n    We lived without journal checksums on by default until now, and at\n    this point they\u0027re doing more harm than good, so we should revert\n    the default-changing commit until we can fix it and do some good\n    power-fail testing with the fixes in place.\"\n\nSee\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14354\n\nfor all the gory details.\n\nRequested-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Mathias Burén \u003cmathias.buren@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a",
      "tree": "80bddc0f5d36a589db5a77b9b60e4c94c75994ed",
      "parents": [
        "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:39:28 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readdir corner cases\n\nThe patch below also addresses a couple of other corner cases in readdir\nseen with a large (e.g. 64k) msize.  I\u0027m not sure what people think of\nmy co-opting of fid-\u003eaux here.  I\u0027d be happy to rework if there\u0027s a better\nway.\n\nWhen the size of the user supplied buffer passed to readdir is smaller\nthan the data returned in one go by the 9P read request, v9fs_dir_readdir()\ncurrently discards extra data so that, on the next call, a 9P read\nrequest will be issued with offset \u003c previous offset + bytes returned,\nwhich voilates the constraint described in paragraph 3 of read(5) description.\nThis patch preseves the leftover data in fid-\u003eaux for use in the next call.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f",
      "tree": "70fff7f686a9c6c956146e39f656412715d40996",
      "parents": [
        "f91b90993f0d286be89f06c2f547ced8cfe291c6"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:34 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readlink\n\nI do not know if you\u0027ve looked on the patch, but unfortunately it is\nincorrect. A suggested better version is in this email (the old\nversion didn\u0027t work in case the user provided buffer was not long\nenough - it incorrectly appended null byte on a position of last char,\nand thus broke the contract of the readlink method). However, I\u0027m\nstill not sure this is 100% correct thing to do, I think readlink is\nsupposed to return buffer without last null byte in all cases, but we\ndo return last null byte (even the old version).. on the other hand it\nis likely unspecified what is in the remaining part of the buffer, so\nnull character may be fine there ;):\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "f91b90993f0d286be89f06c2f547ced8cfe291c6",
      "tree": "556667dabcd184b7713101c3bb456142fc645642",
      "parents": [
        "b6727b12dd2ffb4a890eb5b13a298230c29ba45d"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:35 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:44 2009 -0600"
      },
      "message": "9p: fix a small bug in readdir for long directories\n\nHere is a proposed patch for bug in readdir. Listing of dirs with\nmany files fails without this patch.\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "5f04eeb8a76521dec371ceb05e8263889a8af2bc",
      "tree": "ec69a41f4e6258994aee7720bdee645ad569bc73",
      "parents": [
        "ad0bf11070ebb3c95f8ce82e6219dbd79c8e8b69"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Nov 02 11:39:42 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 02 11:41:13 2009 +0100"
      },
      "message": "Fix bio_alloc() and bio_kmalloc() documentation\n\nCommit 451a9ebf accidentally broke bio_alloc() and bio_kmalloc() comments by\n(almost) swapping them.\n\nThis patch fixes that, by placing the comments in the right place.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad0bf11070ebb3c95f8ce82e6219dbd79c8e8b69",
      "tree": "a26200377bc006a0a12f33d232ed0e19b87eb618",
      "parents": [
        "b6727b12dd2ffb4a890eb5b13a298230c29ba45d"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Nov 02 11:39:22 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 02 11:39:22 2009 +0100"
      },
      "message": "bio_put(): add bio_clone() to the list of functions in the comment\n\nIn bio_put()\u0027s comment, add bio_clone() to the list of functions that can\ngive you a bio reference.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a80a66caf8110fc33af8013353fe0da0ae553a13",
      "tree": "35cf3ba9ccba371b2e2752cd5cbfc8c3a428f1ea",
      "parents": [
        "bf699c9bac124f0a095d8ef06f2d6b219300a822",
        "c7ff91d722e44c98504e6e2c357b47e1988dfbbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 31 12:12:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 31 12:12:49 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs:\n  xfs: fix xfs_quota remove error\n  xfs: free temporary cursor in xfs_dialloc\n"
    },
    {
      "commit": "c7ff91d722e44c98504e6e2c357b47e1988dfbbd",
      "tree": "ce00b608165eab1f4f647eaed997824992b43664",
      "parents": [
        "3b826386d376e5545d2e92b2da5ebd965cafae97"
      ],
      "author": {
        "name": "Ryota Yamauchi",
        "email": "r-yamauchi@vf.jp.nec.com",
        "time": "Fri Oct 30 09:27:44 2009 +0100"
      },
      "committer": {
        "name": "hch@lst.de",
        "email": "Christoph Hellwig",
        "time": "Fri Oct 30 09:27:44 2009 +0100"
      },
      "message": "xfs: fix xfs_quota remove error\n\nThe xfs_quota returns ENOSYS when remove command is executed.\nReproducable with following steps.\n\n    # mount -t xfs -o uquota /dev/sda7 /mnt/mp1\n    # xfs_quota -x -c off -c remove\n    XFS_QUOTARM: Function not implemented.\n\nThe remove command is allowed during quotaoff, but xfs_fs_set_xstate()\nchecks whether quota is running, and it leads to ENOSYS.\n\nTo solve this problem, add a check for X_QUOTARM.\n\nSigned-off-by: Ryota Yamauchi \u003cr-yamauchi@vf.jp.nec.com\u003e\nSigned-off-by: Utako Kusaka \u003cu-kusaka@wm.jp.nec.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3b826386d376e5545d2e92b2da5ebd965cafae97",
      "tree": "50c017ab5f90a70878291b33c331004b36437cce",
      "parents": [
        "ba313e68facf190317d8db3afdc0f0028c963a96"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Oct 30 09:27:07 2009 +0100"
      },
      "committer": {
        "name": "hch@lst.de",
        "email": "Christoph Hellwig",
        "time": "Fri Oct 30 09:27:07 2009 +0100"
      },
      "message": "xfs: free temporary cursor in xfs_dialloc\n\nCommit bd169565993b39b9b4b102cdac8b13e0a259ce2f seems\nto have a slight regression where this code path:\n\n    if (!--searchdistance) {\n        /*\n         * Not in range - save last search\n         * location and allocate a new inode\n         */\n        ...\n        goto newino;\n    }\n\ndoesn\u0027t free the temporary cursor (tcur) that got dup\u0027d in\nthis function.\n\nThis leaks an item in the xfs_btree_cur zone, and it\u0027s caught\non module unload:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBUG xfs_btree_cur: Objects remaining on kmem_cache_close()\n-----------------------------------------------------------\n\nIt seems like maybe a single free at the end of the function might\nbe cleaner, but for now put a del_cursor right in this code block\nsimilar to the handling in the rest of the function.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5a1eb5c4453207ad9e7f6e8ca4f8db289743c993",
      "tree": "dd2c5de024fe7d7312b6e1234e2c9849e1cb9b75",
      "parents": [
        "2e2ec952350f25242f2e0539db16b1e46f9eb01b"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Oct 30 15:03:54 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Oct 30 15:03:54 2009 +1100"
      },
      "message": "powerpc: Cleanup Kconfig selection of hugetlbfs support\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "68e71d1902a820c9bc7a5a6c23260841caafff33",
      "tree": "a9ba52bdfef99e7bdc5f8623772d76789f7b7c8b",
      "parents": [
        "066455d471e997adbcc98dda62eaf461e8b6556e",
        "592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  backing-dev: ensure that a removed bdi no longer has super_block referencing it\n  block: use after free bug in __blkdev_get\n  block: silently error unsupported empty barriers too\n"
    },
    {
      "commit": "0d43f5123d1456669b3bbc69854faf6fd5b14caa",
      "tree": "e69d4418d579e55a004c2263ac49a46aac161a54",
      "parents": [
        "fb3165b59f9ce510fed07262db20fdb799f88fa6",
        "ffb4a73d8906f71910e6c83ec2b499e70025ee8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:07:15 2009 -0700"
      },
      "message": "Merge branch \u0027sh/for-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Fix hugetlbfs dependencies for SH-3 \u0026\u0026 MMU configurations.\n  sh: Document uImage.bin target in archhelp.\n  sh: add uImage.bin target\n  sh: rsk7203 CONFIG_MTD\u003dn fix\n  sh: Check for return_to_handler when unwinding the stack\n  sh: Build fix: define more __movmem* symbols\n  sh: __irq_entry annotate do_IRQ().\n\nFix up sh/powerpc conflicts in fs/Kconfig\n"
    },
    {
      "commit": "fb3165b59f9ce510fed07262db20fdb799f88fa6",
      "tree": "b71c9798f79d12a49ee58e059112b3479c15a816",
      "parents": [
        "36f8a53ff2626dbfc3c0a809fe1d2290937ddc96",
        "9a3936aac133037f65124fcb2d676a6c201a90a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:24 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: The link() operation should return any delegation on the file\n  NFSv4: Fix two unbalanced put_rpccred() issues.\n  NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE\n  nfs: Panic when commit fails\n"
    },
    {
      "commit": "36f8a53ff2626dbfc3c0a809fe1d2290937ddc96",
      "tree": "be3d72d55e4bc39a40c55b33e60ba4d942b48367",
      "parents": [
        "575c9ed7798218dc923f319c0d78f0c25ca506b9",
        "8347a5cdd1422eea0470ed586274c7f29e274b47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:01 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fixing to avoid invalid kfree() in cifs_get_tcp_session()\n"
    },
    {
      "commit": "0a53f1693cb956ebd8ba0a9acca6adb2dcb99d5f",
      "tree": "c5028752d115e4cebd90864ffd99c2564bc7e12b",
      "parents": [
        "7fecf0a1f2f0dc334d41f1044198fb5aa6be1905",
        "40578fca24e7f777f3da7a693b030ae28ef7e486"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule\n  powerpc: Minor cleanup to lib/Kconfig.debug\n  powerpc: Minor cleanup to sound/ppc/Kconfig\n  powerpc: Minor cleanup to init/Kconfig\n  powerpc: Limit memory hotplug support to PPC64 Book-3S machines\n  powerpc: Limit hugetlbfs support to PPC64 Book-3S machines\n  powerpc: Fix compile errors found by new ppc64e_defconfig\n  powerpc: Add a Book-3E 64-bit defconfig\n  powerpc/booke: Fix xmon single step on PowerPC Book-E\n  powerpc: Align vDSO base address\n  powerpc: Fix segment mapping in vdso32\n  powerpc/iseries: Remove compiler version dependent hack\n  powerpc/perf_events: Fix priority of MSR HV vs PR bits\n  powerpc/5200: Update defconfigs\n  drivers/serial/mpc52xx_uart.c: Use UPIO_MEM rather than SERIAL_IO_MEM\n  powerpc/boot/dts: drop obsolete \u0027fsl5200-clocking\u0027\n  of: Remove nested function\n  mpc5200: support for the MAN mpc5200 based board mucmc52\n  mpc5200: support for the MAN mpc5200 based board uc101\n"
    },
    {
      "commit": "23756692147c5dfd3328afd42e16e9d943ff756c",
      "tree": "63dedb075b4ae9ef16553a7ddf053cddea4beb06",
      "parents": [
        "0b3dc0e9c8ed4f09605fa844081503bf752388b0",
        "05277c75f6dea8ecf59138cd1b6781fb54ae08bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:18:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:18:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix double IRELE in xfs_dqrele_inode\n"
    },
    {
      "commit": "47f365eb575735c6b2edf5d08e0d16d26a9c23bd",
      "tree": "3a6cbb4a7e6bbb9365c8092541a04d3ea1f77ce6",
      "parents": [
        "cf6e693212263d33c5882e4653df89a2fca4c0c4"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Oct 26 16:49:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:29 2009 -0700"
      },
      "message": "hfs: fix oops on mount with corrupted btree extent records\n\nA particular fsfuzzer run caused an hfs file system to crash on mount.\nThis is due to a corrupted MDB extent record causing a miscalculation of\nHFS_I(inode)-\u003efirst_blocks for the extent tree.  If the extent records are\nzereod out, it won\u0027t trigger the first_blocks special case.  Instead it\nfalls through to the extent code which we\u0027re still in the middle of\ninitializing.\n\nThis patch catches the 0 size extent records, reports the corruption, and\nfails the mount.\n\nReported-by: Ramon de Carvalho Valle \u003crcvalle@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c36fe3d87b3f0c85894a49193c66096a3d6b26f",
      "tree": "8c2953fe31004115794e7834cfbc7136186aca5c",
      "parents": [
        "b5654f5e7fc414a6e69b3647db2b043257c9e62e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 26 16:49:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "hfsplus: refuse to mount volumes larger than 2TB\n\nAs found in \u003chttp://bugs.debian.org/550010\u003e, hfsplus is using type u32\nrather than sector_t for some sector number calculations.\n\nIn particular, hfsplus_get_block() does:\n\n        u32 ablock, dblock, mask;\n...\n        map_bh(bh_result, sb, (dblock \u003c\u003c HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock \u0026 mask));\n\nI am not confident that I can find and fix all cases where a sector number\nmay be truncated.  For now, avoid data loss by refusing to mount HFS+\nvolumes with more than 2^32 sectors (2TB).\n\n[akpm@linux-foundation.org: fix 32 and 64-bit issues]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "370c28def65b3a5765192753a164403619b41d01",
      "tree": "cb77542b92402cdd3aec14d01597fe04bd19b44b",
      "parents": [
        "92f7ba70eecf4da8264a767b181cc2090f62d4ad"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Oct 26 16:49:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "hwpoison: fix/proc/meminfo alignment\n\nGiven such a long name, the kB count in /proc/meminfo\u0027s HardwareCorrupted\nline is being shown too far right (it does align with x86_64\u0027s VmallocChunk\nabove, but I hope nobody will ever have that much corrupted!).  Align it.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cd9ad73b8d181737005ff4e506b9b6bd043f4dd",
      "tree": "1bcd239e6740b2db824f7fd2d60fb946bb9d3822",
      "parents": [
        "ce7a35c73a308c62f9f0ca9f0821ebe0dc553008"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Oct 16 07:21:35 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 27 16:42:41 2009 +1100"
      },
      "message": "powerpc: Limit hugetlbfs support to PPC64 Book-3S machines\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ffb4a73d8906f71910e6c83ec2b499e70025ee8e",
      "tree": "d63a6a36f73536f710cc8e8ce7294ce79f07d53e",
      "parents": [
        "a5c461bb3f74646d99464652cd5363e88434c3e1"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Oct 27 07:22:37 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Oct 27 07:22:37 2009 +0900"
      },
      "message": "sh: Fix hugetlbfs dependencies for SH-3 \u0026\u0026 MMU configurations.\n\nThe hugetlb dependencies presently depend on SUPERH \u0026\u0026 MMU while the\nhugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This\nunfortunately allows SH-3 + MMU configurations to enable hugetlbfs\nwithout a corresponding HPAGE_SHIFT definition, resulting in the build\nblowing up.\n\nAs SH-3 doesn\u0027t support variable page sizes, we tighten up the\ndependenies a bit to prevent hugetlbfs from being enabled. These days\nwe also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using\nthat rather than adding to the list of corner cases in fs/Kconfig.\n\nReported-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "960cc0f4fef607baabc2232fbd7cce5368a9dcfd",
      "tree": "5920396618a0c1cf406b999d2cf5b68eafcdd7e8",
      "parents": [
        "6cafb12dc85a5bdc722791cc5070968413264909"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 26 08:59:17 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 26 15:27:11 2009 +0100"
      },
      "message": "block: use after free bug in __blkdev_get\n\ncommit 0762b8bde9729f10f8e6249809660ff2ec3ad735\n(from 14 months ago) introduced a use-after-free bug which has just\nrecently started manifesting in my md testing.\nI tried git bisect to find out what caused the bug to start\nmanifesting, and it could have been the recent change to\nblk_unregister_queue (48c0d4d4c04) but the results were inconclusive.\n\nThis patch certainly fixes my symptoms and looks correct as the two\ncalls are now in the same order as elsewhere in that function.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9a3936aac133037f65124fcb2d676a6c201a90a4",
      "tree": "164fa366bf66e5596ff11d24daab4caf5266d27b",
      "parents": [
        "141aeb9f26f9f12f1584c128ce8697cdffb046e7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "message": "NFSv4: The link() operation should return any delegation on the file\n\nOtherwise, we have to wait for the server to recall it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "141aeb9f26f9f12f1584c128ce8697cdffb046e7",
      "tree": "295953858e8ddd265a1d3dae18266b1198c55132",
      "parents": [
        "52567b03ca38b6e556ced450d64dba8d66e23b0e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "message": "NFSv4: Fix two unbalanced put_rpccred() issues.\n\nCommits 29fba38b (nfs41: lease renewal) and fc01cea9 (nfs41: sequence\noperation) introduce a couple of put_rpccred() calls on credentials for\nwhich there is no corresponding get_rpccred().\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d14249\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52567b03ca38b6e556ced450d64dba8d66e23b0e",
      "tree": "a08e14e2a8ab8c69e80eb5ea6208d473b1254582",
      "parents": [
        "a8b40bc7e635831b61c43acc71a86d3a68b2dff0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:46:42 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:46:42 2009 -0400"
      },
      "message": "NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE\n\nRFC 3530 states that when we recieve the error NFS4ERR_RESOURCE, we are not\nsupposed to bump the sequence number on OPEN, LOCK, LOCKU, CLOSE, etc\noperations. The problem is that we map that error into EREMOTEIO in the XDR\nlayer, and so the NFSv4 middle-layer routines like seqid_mutating_err(),\nand nfs_increment_seqid() don\u0027t recognise it.\n\nThe fix is to defer the mapping until after the middle layers have\nprocessed the error.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8b40bc7e635831b61c43acc71a86d3a68b2dff0",
      "tree": "8a91dcd2149f47d2a2b6f7b49d653dd168c908a8",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Terry Loftin",
        "email": "terry.loftin@hp.com",
        "time": "Thu Oct 22 21:36:01 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:16:30 2009 -0400"
      },
      "message": "nfs: Panic when commit fails\n\nActually pass the NFS_FILE_SYNC option to the server to avoid a\nPanic in nfs_direct_write_complete() when a commit fails.\n\nAt the end of an nfs write, if the nfs commit fails, all the writes\nwill be rescheduled.  They are supposed to be rescheduled as NFS_FILE_SYNC\nwrites, but the rpc_task structure is not completely intialized and so\nthe option is not passed.  When the rescheduled writes complete, the\nreturn indicates that they are NFS_UNSTABLE and we try to do another\ncommit.  This leads to a Panic because the commit data structure pointer\nwas set to null in the initial (failed) commit attempt.\n\nSigned-off-by: Terry Loftin \u003cterry.loftin@hp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d995053d045d777e78ba7eba71a6a0733f3aa726",
      "tree": "35cb9e017f55034534b3fdf944e6f263785c49ac",
      "parents": [
        "be8db0b843d4eef193e996c3e31aabf15b2d7004",
        "945526846a84c00adac1efd1c6befdaa77039623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  dnotify: ignore FS_EVENT_ON_CHILD\n  inotify: fix coalesce duplicate events into a single event in special case\n  inotify: deprecate the inotify kernel interface\n  fsnotify: do not set group for a mark before it is on the i_list\n"
    },
    {
      "commit": "4223a4a155f245d41c350ed9eba4fc32e965c4da",
      "tree": "521f5a2c9e3ae1e17415e93489da015b9b5b2c5d",
      "parents": [
        "ad3960243e55320d74195fb85c975e0a8cc4466c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Oct 20 14:13:46 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:15:23 2009 +0900"
      },
      "message": "nfs: Fix nfs_parse_mount_options() kfree() leak\n\nFix a (small) memory leak in one of the error paths of the NFS mount\noptions parsing code.\n\nRegression introduced in 2.6.30 by commit a67d18f (NFS: load the\nrpc/rdma transport module automatically).\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReported-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad3960243e55320d74195fb85c975e0a8cc4466c",
      "tree": "e17b79f2bc7a2fd76d8598fb0075f8c78cd5714a",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Earl Chew",
        "email": "earl_chew@agilent.com",
        "time": "Mon Oct 19 15:55:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:11:44 2009 +0900"
      },
      "message": "fs: pipe.c null pointer dereference\n\nThis patch fixes a null pointer exception in pipe_rdwr_open() which\ngenerates the stack trace:\n\n\u003e Unable to handle kernel NULL pointer dereference at 0000000000000028 RIP:\n\u003e  [\u003cffffffff802899a5\u003e] pipe_rdwr_open+0x35/0x70\n\u003e  [\u003cffffffff8028125c\u003e] __dentry_open+0x13c/0x230\n\u003e  [\u003cffffffff8028143d\u003e] do_filp_open+0x2d/0x40\n\u003e  [\u003cffffffff802814aa\u003e] do_sys_open+0x5a/0x100\n\u003e  [\u003cffffffff8021faf3\u003e] sysenter_do_call+0x1b/0x67\n\nThe failure mode is triggered by an attempt to open an anonymous\npipe via /proc/pid/fd/* as exemplified by this script:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nwhile : ; do\n   { echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } \u0026\n   PID\u003d$!\n   OUT\u003d$(ps -efl | grep \u0027sleep 1\u0027 | grep -v grep |\n        { read PID REST ; echo $PID; } )\n   OUT\u003d\"${OUT%% *}\"\n   DELAY\u003d$((RANDOM * 1000 / 32768))\n   usleep $((DELAY * 1000 + RANDOM % 1000 ))\n   echo n \u003e /proc/$OUT/fd/1                 # Trigger defect\ndone\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\n\nNote that the failure window is quite small and I could only\nreliably reproduce the defect by inserting a small delay\nin pipe_rdwr_open(). For example:\n\n static int\n pipe_rdwr_open(struct inode *inode, struct file *filp)\n {\n       msleep(100);\n       mutex_lock(\u0026inode-\u003ei_mutex);\n\nAlthough the defect was observed in pipe_rdwr_open(), I think it\nmakes sense to replicate the change through all the pipe_*_open()\nfunctions.\n\nThe core of the change is to verify that inode-\u003ei_pipe has not\nbeen released before attempting to manipulate it. If inode-\u003ei_pipe\nis no longer present, return ENOENT to indicate so.\n\nThe comment about potentially using atomic_t for i_pipe-\u003ereaders\nand i_pipe-\u003ewriters has also been removed because it is no longer\nrelevant in this context. The inode-\u003ei_mutex lock must be used so\nthat inode-\u003ei_pipe can be dealt with correctly.\n\nSigned-off-by: Earl Chew \u003cearl_chew@agilent.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "945526846a84c00adac1efd1c6befdaa77039623",
      "tree": "36a3ca9188af8d1154af8684f541f3abbf2cd3c7",
      "parents": [
        "3de0ef4f2067da58fa5126d821a56dcb98cdb565"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Oct 15 00:13:23 2009 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Oct 20 18:02:33 2009 -0400"
      },
      "message": "dnotify: ignore FS_EVENT_ON_CHILD\n\nMask off FS_EVENT_ON_CHILD in dnotify_handle_event().  Otherwise, when there\nis more than one watch on a directory and dnotify_should_send_event()\nsucceeds, events with FS_EVENT_ON_CHILD set will trigger all watches and cause\nspurious events.\n\nThis case was overlooked in commit e42e2773.\n\n\t#define _GNU_SOURCE\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cstdlib.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csignal.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cfcntl.h\u003e\n\t#include \u003cstring.h\u003e\n\n\tstatic void create_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"create\\n\");\n\t}\n\n\tstatic void delete_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"delete\\n\");\n\t}\n\n\tint main (void) {\n\t\tstruct sigaction action;\n\t\tchar *tmpdir, *file;\n\t\tint fd1, fd2;\n\n\t\tsigemptyset (\u0026action.sa_mask);\n\t\taction.sa_flags \u003d SA_SIGINFO;\n\n\t\taction.sa_sigaction \u003d create_event;\n\t\tsigaction (SIGRTMIN + 0, \u0026action, NULL);\n\n\t\taction.sa_sigaction \u003d delete_event;\n\t\tsigaction (SIGRTMIN + 1, \u0026action, NULL);\n\n\t#\tdefine TMPDIR \"/tmp/test.XXXXXX\"\n\t\ttmpdir \u003d malloc(strlen(TMPDIR) + 1);\n\t\tstrcpy(tmpdir, TMPDIR);\n\t\tmkdtemp(tmpdir);\n\n\t#\tdefine TMPFILE \"/file\"\n\t\tfile \u003d malloc(strlen(tmpdir) + strlen(TMPFILE) + 1);\n\t\tsprintf(file, \"%s/%s\", tmpdir, TMPFILE);\n\n\t\tfd1 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd1, F_SETSIG, SIGRTMIN);\n\t\tfcntl(fd1, F_NOTIFY, DN_MULTISHOT | DN_CREATE);\n\n\t\tfd2 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd2, F_SETSIG, SIGRTMIN + 1);\n\t\tfcntl(fd2, F_NOTIFY, DN_MULTISHOT | DN_DELETE);\n\n\t\tif (fork()) {\n\t\t\t/* This triggers a create event */\n\t\t\tcreat(file, 0600);\n\t\t\t/* This triggers a create and delete event (!) */\n\t\t\tunlink(file);\n\t\t} else {\n\t\t\tsleep(1);\n\t\t\trmdir(tmpdir);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3de0ef4f2067da58fa5126d821a56dcb98cdb565",
      "tree": "d88103aaf3e5ed019afef5b11d4241ecf3eb1cea",
      "parents": [
        "cdc321ff0af78e818c97d4787f62bf52bdf9db2a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Oct 14 20:54:03 2009 +0800"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "inotify: fix coalesce duplicate events into a single event in special case\n\nIf we do rename a dir entry, like this:\n\n  rename(\"/tmp/ino7UrgoJ.rename1\", \"/tmp/ino7UrgoJ.rename2\")\n  rename(\"/tmp/ino7UrgoJ.rename2\", \"/tmp/ino7UrgoJ\")\n\nThe duplicate events should be coalesced into a single event. But those two\nevents do not be coalesced into a single event, due to some bad check in\nevent_compare(). It can not match the two NULL inodes as the same event.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9f0d793b52eb2266359661369ef6303838904855",
      "tree": "c884f59a4ad9ce50b033710d47894bc96c214a6c",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Sep 11 13:03:19 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "fsnotify: do not set group for a mark before it is on the i_list\n\nfsnotify_add_mark is supposed to add a mark to the g_list and i_list and to\nset the group and inode for the mark.  fsnotify_destroy_mark_by_entry uses\nthe fact that -\u003egroup !\u003d NULL to know if this group should be destroyed or\nif it\u0027s already been done.\n\nBut fsnotify_add_mark sets the group and inode before it actually adds the\nmark to the i_list and g_list.  This can result in a race in inotify, it\nrequires 3 threads.\n\nsys_inotify_add_watch(\"file\")\tsys_inotify_add_watch(\"file\")\tsys_inotify_rm_watch([a])\ninotify_update_watch()\ninotify_new_watch()\ninotify_add_to_idr()\n   ^--- returns wd \u003d [a]\n\t\t\t\tinotfiy_update_watch()\n\t\t\t\tinotify_new_watch()\n\t\t\t\tinotify_add_to_idr()\n\t\t\t\tfsnotify_add_mark()\n\t\t\t\t   ^--- returns wd \u003d [b]\n\t\t\t\treturns to userspace;\n\t\t\t\t\t\t\t\tinotify_idr_find([a])\n\t\t\t\t\t\t\t\t   ^--- gives us the pointer from task 1\nfsnotify_add_mark()\n   ^--- this is going to set the mark-\u003egroup and mark-\u003einode fields, but will\nreturn -EEXIST because of the race with [b].\n\t\t\t\t\t\t\t\tfsnotify_destroy_mark()\n\t\t\t\t\t\t\t\t   ^--- since -\u003egroup !\u003d NULL we call back\n\t\t\t\t\t\t\t\t\tinto inotify_freeing_mark() which calls\n\t\t\t\t\t\t\t\tinotify_remove_from_idr([a])\n\nsince fsnotify_add_mark() failed we call:\ninotify_remove_from_idr([a])     \u003c------WHOOPS it\u0027s not in the idr, this could\n\t\t\t\t\thave been any entry added later!\n\nThe fix is to make sure we don\u0027t set mark-\u003egroup until we are sure the mark is\non the inode and fsnotify_add_mark will return success.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8e7768d3f40d4ab79e6af58462e173cdbfad9cc6",
      "tree": "5f47b220e4232d6483fff490290f6491d34a2a74",
      "parents": [
        "36d6f3ecbd0bedfbda8b9f7c5fc36edb62a417ad",
        "6861f350785bf476c2d4e3b9cb69ee36b78df2fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix socket fd translation\n  dlm: fix lowcomms_connect_node for sctp\n"
    },
    {
      "commit": "dcbeb0bec5f2695c3ff53f174efb8e03c209f3f3",
      "tree": "30d223a3a3c7470c657284ef030657bd1753d4d3",
      "parents": [
        "2b650df2cea96e487f2fd9ecaa68e533ea9b5ed7",
        "444528b3e614f7f2391488d9bca8e0b872db909b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: always pin metadata in discard mode\n  Btrfs: enable discard support\n  Btrfs: add -o discard option\n  Btrfs: properly wait log writers during log sync\n  Btrfs: fix possible ENOSPC problems with truncate\n  Btrfs: fix btrfs acl #ifdef checks\n  Btrfs: streamline tree-log btree block writeout\n  Btrfs: avoid tree log commit when there are no changes\n  Btrfs: only write one super copy during fsync\n"
    },
    {
      "commit": "83db93f4de2d9ae441a491d1dc61c2204f0195de",
      "tree": "13fb296040c8284cf09f318923aa170212cc245d",
      "parents": [
        "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 15 16:05:51 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_notify_dirent to be called from interrupt context.\n\nsysfs_notify_dirent is a simple atomic operation that can be used to\nalert user-space that new data can be read from a sysfs attribute.\n\nUnfortunately it cannot currently be called from non-process context\nbecause of its use of spin_lock which is sometimes taken with\ninterrupts enabled.\n\nSo change all lockers of sysfs_open_dirent_lock to disable interrupts,\nthus making sysfs_notify_dirent safe to be called from non-process\ncontext (as drivers/md does in md_safemode_timeout).\n\nsysfs_get_open_dirent is (documented as being) only called from\nprocess context, so it uses spin_lock_irq.  Other places\nuse spin_lock_irqsave.\n\nThe usage for sysfs_notify_dirent in md_safemode_timeout was\nintroduced in 2.6.28, so this patch is suitable for that and more\nrecent kernels.\n\nReported-by: Joel Andres Granados \u003cjgranado@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "444528b3e614f7f2391488d9bca8e0b872db909b",
      "tree": "5326be87610ed3fc7a14d0f28e96e5e22207cf5f",
      "parents": [
        "0634857488ec6e28fa22920cd0bee3c2ac07ccfd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 09:38:28 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:50 2009 -0400"
      },
      "message": "Btrfs: always pin metadata in discard mode\n\nWe have an optimization in btrfs to allow blocks to be\nimmediately freed if they were allocated in this transaction and never\nwritten.  Otherwise they are pinned and freed when the transaction\ncommits.\n\nThis isn\u0027t optimal for discard mode because immediately freeing\nthem means immediately discarding them.  It is better to give the\nblock to the pinning code and letting the (slow) discard happen later.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0634857488ec6e28fa22920cd0bee3c2ac07ccfd",
      "tree": "6cfa348aea76f39b658d3a36ab51807a4ac7bcf7",
      "parents": [
        "e244a0aeb6a599c19a7c802cda6e2d67c847b154"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: enable discard support\n\nThe discard support code in btrfs currently is guarded by ifdefs for\nBIO_RW_DISCARD, which is never defines as it\u0027s the name of an enum\nmemeber.  Just remove the useless ifdefs to actually enable the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e244a0aeb6a599c19a7c802cda6e2d67c847b154",
      "tree": "392d8d48c4e6676a552230135ad448d522007ece",
      "parents": [
        "86df7eb921a009515285e7171363fa57dd2d7d31"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: add -o discard option\n\nEnable discard by default is not a good idea given the the trim speed\nof SSD prototypes we\u0027ve seen, and the carecteristics for many high-end\narrays.  Turn of discards by default and require the -o discard option\nto enable them on.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "86df7eb921a009515285e7171363fa57dd2d7d31",
      "tree": "884e8cda2535dc43cf57ce9fa273381b827d2f4f",
      "parents": [
        "5d5e103a70f74ae98e3965a4add1ab951d0651d1"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:48 2009 -0400"
      },
      "message": "Btrfs: properly wait log writers during log sync\n\nA recently fsync optimization make btrfs_sync_log skip calling\nwait_for_writer in the single log writer case. This is incorrect\nsince the writer count can also be increased by btrfs_pin_log.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5d5e103a70f74ae98e3965a4add1ab951d0651d1",
      "tree": "83b1cc73830f72f592aa804207a679912beef101",
      "parents": [
        "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Oct 13 16:46:49 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:47 2009 -0400"
      },
      "message": "Btrfs: fix possible ENOSPC problems with truncate\n\nThere\u0027s a problem where we don\u0027t do any space reservation for truncates, which\ncan cause you to OOPs because you will be allowed to go off in the weeds a bit\nsince we don\u0027t account for the delalloc bytes that are created as a result of\nthe truncate.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ba313e68facf190317d8db3afdc0f0028c963a96",
      "tree": "7bce97bc386f4359687238afae5840aa9e0161ee",
      "parents": [
        "e09d39968bd8befa087f10f970fa236e8694b643",
        "05277c75f6dea8ecf59138cd1b6781fb54ae08bd"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 15:47:22 2009 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 15:47:22 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://oss.sgi.com/oss/git/xfs/xfs into for-linus\n"
    },
    {
      "commit": "05277c75f6dea8ecf59138cd1b6781fb54ae08bd",
      "tree": "e61d1206c3201b306f4fadeb1a4fb2cdd55fa887",
      "parents": [
        "d0800703febc04827b8fa91921aa4e254d01e8d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 12 23:42:10 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 13:16:36 2009 -0500"
      },
      "message": "xfs: fix double IRELE in xfs_dqrele_inode\n\nxfs_dqrele_inode calls xfs_iput to release the ilock and a reference\nand then also calls IRELE which does a second decrement of the reference\ncount.  This leads to a premature freeing of inodes when quotas were turned\noff while the filesystem was mounted.\n\nThanks to Utako Kusaka for reporting the bug and provinding a good testcase.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Utako Kusaka \u003cu-kusaka@wm.jp.nec.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb",
      "tree": "478b0abfda753196fcb8842d002e5bb600051618",
      "parents": [
        "690587d109ffe19d6743e4cc80c18b0906b7f9ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:50:18 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:51:39 2009 -0400"
      },
      "message": "Btrfs: fix btrfs acl #ifdef checks\n\nThe btrfs acl code was #ifdefing for a define\nthat didn\u0027t exist.  This correctly matches it\nto the values used by the Kconfig file.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "690587d109ffe19d6743e4cc80c18b0906b7f9ff",
      "tree": "788acd32c4ed1463d0166d0c45b233d96bb102e0",
      "parents": [
        "257c62e1bce03e5b9f3f069fd52ad73a56de71fd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:29:19 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: streamline tree-log btree block writeout\n\nSyncing the tree log is a 3 phase operation.\n\n1) write and wait for all the tree log blocks for a given root.\n\n2) write and wait for all the tree log blocks for the\ntree of tree log roots.\n\n3) write and wait for the super blocks (barriers here)\n\nThis isn\u0027t as efficient as it could be because there is\nno requirement to wait for the blocks from step one to hit the disk\nbefore we start writing the blocks from step two.  This commit\nchanges the sequence so that we don\u0027t start waiting until\nall the tree blocks from both steps one and two have been sent\nto disk.\n\nWe do this by breaking up btrfs_write_wait_marked_extents into\ntwo functions, which is trivial because it was already broken\nup into two parts.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "257c62e1bce03e5b9f3f069fd52ad73a56de71fd",
      "tree": "ad047fe5796156aa88e3f3600111bf2b8d12759f",
      "parents": [
        "4722607db6a78bd7748c51fa4c8d7371da797254"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:21:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: avoid tree log commit when there are no changes\n\nrpm has a habit of running fdatasync when the file hasn\u0027t\nchanged.  We already detect if a file hasn\u0027t been changed\nin the current transaction but it might have been sent to\nthe tree-log in this transaction and not changed since\nthe last call to fsync.\n\nIn this case, we want to avoid a tree log sync, which includes\na number of synchronous writes and barriers.  This commit\nextends the existing tracking of the last transaction to change\na file to also track the last sub-transaction.\n\nThe end result is that rpm -ivh and -Uvh are roughly twice as fast,\nand on par with ext3.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4722607db6a78bd7748c51fa4c8d7371da797254",
      "tree": "83c483a3f55d3f024863e1e33c3ac123e688c868",
      "parents": [
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 12:55:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:11 2009 -0400"
      },
      "message": "Btrfs: only write one super copy during fsync\n\nDuring a tree-log commit for fsync, we\u0027ve been writing at least\ntwo copies of the super block and forcing them to disk.\n\nThe other filesystems write only one, and this change brings us on\npar with them.  A full transaction commit will write all the super\ncopies, so we still have redundant info written on a regular\nbasis.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "80f506918fdaaca6b574ba931536a58ce015c7be",
      "tree": "938bddf32e8c5dca114cb1a5f3ca2a62960accc8",
      "parents": [
        "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
        "2ec24ff1d1875defa742c76c9c7d74dca06b7e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cciss: Add cciss_allow_hpsa module parameter\n  cciss: Fix multiple calls to pci_release_regions\n  blk-settings: fix function parameter kernel-doc notation\n  writeback: kill space in debugfs item name\n  writeback: account IO throttling wait as iowait\n  elv_iosched_store(): fix strstrip() misuse\n  cfq-iosched: avoid probable slice overrun when idling\n  cfq-iosched: apply bool value where we return 0/1\n  cfq-iosched: fix think time allowed for seekers\n  cfq-iosched: fix the slice residual sign\n  cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n  block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n  block: Seperate read and write statistics of in_flight requests v2\n  block: get rid of kblock_schedule_delayed_work()\n  cfq-iosched: fix possible problem with jiffies wraparound\n  cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n"
    },
    {
      "commit": "96ec2e0a719fd61791dd2b0dd01325c5d20e1233",
      "tree": "b68be3b6d76ee13dbd80f4877c7b9e45b8926e02",
      "parents": [
        "2caa731819a633bec5a56736e64c562b7e193666"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 11:21:13 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Oct 13 00:06:43 2009 +0200"
      },
      "message": "ext3: Don\u0027t update superblock write time when filesystem is read-only\n\nThis avoids updating the superblock write time when we are mounting\nthe root file system read/only but we need to replay the journal; at\nthat point, for people who are east of GMT and who make their clock\ntick in localtime for Windows bug-for-bug compatibility, and this will\ncause e2fsck to complain and force a full file system check.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a1be9eee2996fd9969625e7b5e2f2bc2032fd3cb",
      "tree": "b2f9bd708207a4013605320487b480a3a1ba56f8",
      "parents": [
        "eea7e17e0eb23729d58368420659f8e7c357d82e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Oct 12 11:26:12 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 12 10:25:12 2009 -0700"
      },
      "message": "NFS: suppress a build warning\n\nstruct sockaddr_storage * can safely be used as struct sockaddr *.\nSuppress an \"incompatible pointer type\" warning.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef1f7a7e878e4ae37b3a78ebdeef9f911bae59df",
      "tree": "e73d6e0e852d370effdb9e6fb624e696321683ac",
      "parents": [
        "c6c599272374a358b4171d50ffd605e6cf7b481c"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Tue Oct 06 09:55:26 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:33:56 2009 -0700"
      },
      "message": "ROMFS: fix length used with romfs_dev_strnlen() function\n\nAn interestingly corrupted romfs file system exposed a problem with the\nromfs_dev_strnlen function: it\u0027s passing the wrong value to its helpers.\nRather than limit the string to the length passed in by the callers, it\nuses the size of the device as the limit.\n\nSigned-off-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "474a503d4bf77ae0cbe484dd0842a2648c0b1c28",
      "tree": "70e3e4023209e741546491a58622bd45fb13e308",
      "parents": [
        "d43c36dc6b357fa1806800f18aa30123c747a6d1",
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix file clone ioctl for bookend extents\n  Btrfs: fix uninit compiler warning in cow_file_range_nocow\n  Btrfs: constify dentry_operations\n  Btrfs: optimize back reference update during btrfs_drop_snapshot\n  Btrfs: remove negative dentry when deleting subvolumne\n  Btrfs: optimize fsync for the single writer case\n  Btrfs: async delalloc flushing under space pressure\n  Btrfs: release delalloc reservations on extent item insertion\n  Btrfs: delay clearing EXTENT_DELALLOC for compressed extents\n  Btrfs: cleanup extent_clear_unlock_delalloc flags\n  Btrfs: fix possible softlockup in the allocator\n  Btrfs: fix deadlock on async thread startup\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4047df09a1581284218cb378208a87eaa36f2d2c",
      "tree": "16e0f13b10d68f645b545a1c919714c66f75b863",
      "parents": [
        "a372bf8b6a12f23f68e716113ccaea4bf646dd0f",
        "36520be8e32b49bd85a63b7b8b40cd07c3da59a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ima: ecryptfs fix imbalance message\n  eCryptfs: Remove Kconfig NET dependency and select MD5\n  ecryptfs: depends on CRYPTO\n"
    }
  ],
  "next": "a372bf8b6a12f23f68e716113ccaea4bf646dd0f"
}
