)]}'
{
  "log": [
    {
      "commit": "67f15b06c1a7e5417b7042b515ca2695de30beda",
      "tree": "ba93b80b40ba2a6d89adc74ed4be54b4626c56a3",
      "parents": [
        "94673e968cbcce07fa78dac4b0ae05d24b5816e1",
        "035fe03a7ad56982b30ab3a522b7b08d58feccd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 29 10:27:37 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 29 10:27:37 2010 -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: check total number of devices when removing missing\n  Btrfs: check return value of open_bdev_exclusive properly\n  Btrfs: do not mark the chunk as readonly if in degraded mode\n  Btrfs: run orphan cleanup on default fs root\n  Btrfs: fix a memory leak in btrfs_init_acl\n  Btrfs: Use correct values when updating inode i_size on fallocate\n  Btrfs: remove tree_search() in extent_map.c\n  Btrfs: Add mount -o compress-force\n"
    },
    {
      "commit": "221af7f87b97431e3ee21ce4b0e77d5411cf1549",
      "tree": "480126aada06d87c09cb62e7c8fa292572438c18",
      "parents": [
        "64a028a6de08545a2c94f302bc7694bf48aee5b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 28 22:14:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 29 08:22:01 2010 -0800"
      },
      "message": "Split \u0027flush_old_exec\u0027 into two functions\n\n\u0027flush_old_exec()\u0027 is the point of no return when doing an execve(), and\nit is pretty badly misnamed.  It doesn\u0027t just flush the old executable\nenvironment, it also starts up the new one.\n\nWhich is very inconvenient for things like setting up the new\npersonality, because we want the new personality to affect the starting\nof the new environment, but at the same time we do _not_ want the new\npersonality to take effect if flushing the old one fails.\n\nAs a result, the x86-64 \u002732-bit\u0027 personality is actually done using this\ninsane \"I\u0027m going to change the ABI, but I haven\u0027t done it yet\" bit\n(TIF_ABI_PENDING), with SET_PERSONALITY() not actually setting the\npersonality, but just the \"pending\" bit, so that \"flush_thread()\" can do\nthe actual personality magic.\n\nThis patch in no way changes any of that insanity, but it does split the\n\u0027flush_old_exec()\u0027 function up into a preparatory part that can fail\n(still called flush_old_exec()), and a new part that will actually set\nup the new exec environment (setup_new_exec()).  All callers are changed\nto trivially comply with the new world order.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "035fe03a7ad56982b30ab3a522b7b08d58feccd0",
      "tree": "f3502142234e7d28df3e32b9b2cd26869db4b4d6",
      "parents": [
        "7f59203abeaf18bf3497b308891f95a4489810ad"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jan 27 02:09:38 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:39 2010 -0500"
      },
      "message": "Btrfs: check total number of devices when removing missing\n\nIf you have a disk failure in RAID1 and then add a new disk to the\narray, and then try to remove the missing volume, it will fail.  The\nreason is the sanity check only looks at the total number of rw devices,\nwhich is just 2 because we have 2 good disks and 1 bad one.  Instead\ncheck the total number of devices in the array to make sure we can\nactually remove the device.  Tested this with a failed disk setup and\nwith this test we can now run\n\nbtrfs-vol -r missing /mount/point\n\nand it works fine.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7f59203abeaf18bf3497b308891f95a4489810ad",
      "tree": "aa10db576f08b2acf4b1f01ac86997311a936727",
      "parents": [
        "f48b90756bd834dda852ff514f2690d3175b1f44"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jan 27 02:09:00 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:39 2010 -0500"
      },
      "message": "Btrfs: check return value of open_bdev_exclusive properly\n\nHit this problem while testing RAID1 failure stuff.  open_bdev_exclusive\nreturns ERR_PTR(), not NULL.  So change the return value properly.  This\nis important if you accidently specify a device that doesn\u0027t exist when\ntrying to add a new device to an array, you will panic the box\ndereferencing bdev.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f48b90756bd834dda852ff514f2690d3175b1f44",
      "tree": "071f502edbe6668f9451d676ae3a0f751da5e105",
      "parents": [
        "e3acc2a6850efff647f1c5458524eb3a8bcba20a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jan 27 02:07:59 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:39 2010 -0500"
      },
      "message": "Btrfs: do not mark the chunk as readonly if in degraded mode\n\nIf a RAID setup has chunks that span multiple disks, and one of those\ndisks has failed, btrfs_chunk_readonly will return 1 since one of the\ndisks in that chunk\u0027s stripes is dead and therefore not writeable.  So\ninstead if we are in degraded mode, return 0 so we can go ahead and\nallocate stuff.  Without this patch all of the block groups in a RAID1\nsetup will end up read-only, which will mean we can\u0027t add new disks to\nthe array since we won\u0027t be able to make allocations.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e3acc2a6850efff647f1c5458524eb3a8bcba20a",
      "tree": "a111740f879f5f0cbbcaf079c2500535263c1278",
      "parents": [
        "f858153c367a397235d3e81136741e40e44faf1d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jan 26 14:30:53 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:39 2010 -0500"
      },
      "message": "Btrfs: run orphan cleanup on default fs root\n\nThis patch revert\u0027s commit\n\n6c090a11e1c403b727a6a8eff0b97d5fb9e95cb5\n\nSince it introduces this problem where we can run orphan cleanup on a\nvolume that can have orphan entries re-added.  Instead of my original\nfix, Yan Zheng pointed out that we can just revert my original fix and\nthen run the orphan cleanup in open_ctree after we look up the fs_root.\nI have tested this with all the tests that gave me problems and this\npatch fixes both problems.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f858153c367a397235d3e81136741e40e44faf1d",
      "tree": "bb346105a3e4c9d1cfc4211fe7c3c578e6668d94",
      "parents": [
        "d1ea6a61454e7d7ff0873d0ad1ae27d5807da0d3"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Tue Jan 26 00:48:23 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:39 2010 -0500"
      },
      "message": "Btrfs: fix a memory leak in btrfs_init_acl\n\nIn btrfs_init_acl() cloned acl is not released\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d1ea6a61454e7d7ff0873d0ad1ae27d5807da0d3",
      "tree": "73645e52ffa4a38ea4a2a871489d0e2622e7304e",
      "parents": [
        "b8d9bfeb18f9af794020d96e9bee984d18a8d737"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jan 20 07:28:54 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:38 2010 -0500"
      },
      "message": "Btrfs: Use correct values when updating inode i_size on fallocate\n\ncommit f2bc9dd07e3424c4ec5f3949961fe053d47bc825\nAuthor: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nDate:   Wed Jan 20 12:57:53 2010 +0530\n\n    Btrfs: Use correct values when updating inode i_size on fallocate\n\n    Even though we allocate more, we should be updating inode i_size\n    as per the arguments passed\n\n    Signed-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b8d9bfeb18f9af794020d96e9bee984d18a8d737",
      "tree": "1f71e31e423562b45c895cc4b24c62541b0b891d",
      "parents": [
        "a555f810af6d63ea5960abaed88e150ad95c3011"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Dec 15 06:54:17 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:20:38 2010 -0500"
      },
      "message": "Btrfs: remove tree_search() in extent_map.c\n\nThis patch removes tree_search() in extent_map.c because it is not called by\nanything.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a555f810af6d63ea5960abaed88e150ad95c3011",
      "tree": "643fd3e94c352dc0006ff9333de8b7b4dc2b8785",
      "parents": [
        "11dfe35a0108097f2df1f042c485fa7f758c2cdf"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:18:15 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jan 28 16:18:15 2010 -0500"
      },
      "message": "Btrfs: Add mount -o compress-force\n\nThe default btrfs mount -o compress mode will quickly back off\ncompressing a file if it notices that compression does not reduce the\nsize of the data being written.  This can save considerable CPU because\nall future writes to the file go through uncompressed.\n\nBut some files are both very large and have mixed data stored in\nthem.  In that case, we want to add the ability to always try\ncompressing data before writing it.\n\nThis commit adds mount -o compress-force.  A later commit will add\na new inode flag that does the same thing.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "083c73c253c23c20359a344dfe1198ea628e6259",
      "tree": "22f4f25627db5569f7ce78ef3b9270a828ae924a",
      "parents": [
        "7e32b7bb734047c5e3cecf2e896b9cf8fc35d1e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 25 06:16:19 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:27 2010 -0500"
      },
      "message": "fix oops in fs/9p late mount failure\n\nif 9P -\u003eget_sb() fails late (at root inode or root dentry\nallocation), we\u0027ll hit its -\u003ekill_sb() with NULL -\u003es_root\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e32b7bb734047c5e3cecf2e896b9cf8fc35d1e8",
      "tree": "5f26e01b5803489134e32b97d182fda160a34647",
      "parents": [
        "ef52c75e4b1603f6e6102967ad90118205168eae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 25 06:05:54 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:26 2010 -0500"
      },
      "message": "fix leak in romfs_fill_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ef52c75e4b1603f6e6102967ad90118205168eae",
      "tree": "abd54af0a688ab20006fa8b51d02a2dd94af4889",
      "parents": [
        "5998649f779b7148a8a0c10c46cfa99e27d34dfe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 25 04:50:43 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:26 2010 -0500"
      },
      "message": "get rid of pointless checks after simple_pin_fs()\n\nif we\u0027d just got success from it, vfsmount won\u0027t be NULL\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5998649f779b7148a8a0c10c46cfa99e27d34dfe",
      "tree": "ebf9f93575488d45884595527b34a2947b1df938",
      "parents": [
        "217686e98321a4ff4c1a6cc535e511e37c5d2dbf"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 24 00:52:22 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:25 2010 -0500"
      },
      "message": "Fix failure exits in bfs_fill_super()\n\ndouble iput(), leaks...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "217686e98321a4ff4c1a6cc535e511e37c5d2dbf",
      "tree": "8b68ea06a602d92d52e6c5a9d3c976a8991cccc7",
      "parents": [
        "29333920a5a46edcc9b728e2cf0134d5a9b516ee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 24 00:06:22 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:25 2010 -0500"
      },
      "message": "fix affs parse_options()\n\nError handling in that sucker got broken back in 2003.  If function\nreturns 0 on failure, it\u0027s not nice to add return -EINVAL into it.\nAdding return 1 on other failure exits is also not a good thing (and\nyes, original success exits with 1 and some of failure exits with 0\nare still there; so\u0027s the original logics in callers).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "29333920a5a46edcc9b728e2cf0134d5a9b516ee",
      "tree": "2991b9f6d82d43c712278d6364da4faad4a0180d",
      "parents": [
        "afc70ed05a07bfe171f7a5b8fdc80bdb073d314f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 24 00:04:07 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:24 2010 -0500"
      },
      "message": "Fix remount races with symlink handling in affs\n\nA couple of fields in affs_sb_info is used in follow_link() and\nsymlink() for handling AFFS \"absolute\" symlinks.  Need locking\nagainst affs_remount() updates.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "afc70ed05a07bfe171f7a5b8fdc80bdb073d314f",
      "tree": "817642530572c378ceb2e5b56fb4f2b189beb11f",
      "parents": [
        "b04da8bfdfbbd79544cab2fadfdc12e87eb01600"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 23 23:38:27 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 26 22:22:24 2010 -0500"
      },
      "message": "Fix a leak in affs_fill_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b04da8bfdfbbd79544cab2fadfdc12e87eb01600",
      "tree": "f45ce22866beb7d931b2b19ef2c08b8e03fd6d17",
      "parents": [
        "9a3cbe3265c7714e8ee423feb6e27a080af79608"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 26 15:04:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 26 17:25:38 2010 -0800"
      },
      "message": "fnctl: f_modown should call write_lock_irqsave/restore\n\nCommit 703625118069f9f8960d356676662d3db5a9d116 exposed that f_modown()\nshould call write_lock_irqsave instead of just write_lock_irq so that\nbecause a caller could have a spinlock held and it would not be good to\nrenable interrupts.\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Tavis Ormandy \u003ctaviso@google.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a3cbe3265c7714e8ee423feb6e27a080af79608",
      "tree": "fb9740372e2a6ebbd815cb8e40f7c5849371b941",
      "parents": [
        "01974ea61fc22f086d2987b4b717cbda055f0d03",
        "1296cc85c26e94eb865d03f82140f27d598de467"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 25 19:05:06 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 25 19:05:06 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag\n  ext4: Fix quota accounting error with fallocate\n  ext4: Handle -EDQUOT error on write\n"
    },
    {
      "commit": "cb289d6244a37cf932c571d6deb0daa8030f931b",
      "tree": "05bea15a25c9d9a4dcc0658a6a8bf845daca535a",
      "parents": [
        "a6085fbaf65ab09bfb5ec8d902d6d21680fe1895"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Jan 13 09:34:36 2010 -0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Jan 25 12:26:38 2010 -0200"
      },
      "message": "eventfd - allow atomic read and waitqueue remove\n\nKVM needs a wait to atomically remove themselves from the eventfd -\u003epoll()\nwait queue head, in order to handle correctly their IRQfd deassign\noperation.\n\nThis patch introduces such API, plus a way to read an eventfd from its\ncontext.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "bdeef61cd053b6a88be7d2c82fd43e12f8c9f75e",
      "tree": "6980d178f5402260dfc3c35840b95dc5584cf85e",
      "parents": [
        "4caca5f917ce991dc67fbb42fa82a1f044538e23",
        "703625118069f9f8960d356676662d3db5a9d116"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:37:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:37:20 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  tty: fix race in tty_fasync\n  serial: serial_cs: oxsemi quirk breaks resume\n  serial: imx: bit \u0026/| confusion\n  serial: Fix crash if the minimum rate of the device is \u003e 9600 baud\n  serial-core: resume serial hardware with no_console_suspend\n  serial: 8250_pnp: use wildcard for serial Wacom tablets\n  nozomi: quick fix for the close/close bug\n  compat_ioctl: Supress \"unknown cmd\" message on serial /dev/console\n"
    },
    {
      "commit": "456eac94789e1b512515e6974e091ef655f343de",
      "tree": "79f277d02e5e480a373c129bdce7564421d360c7",
      "parents": [
        "dedd0c2a48d1eb779373de5eddd04a3e059ce540",
        "f06f135d8642e2f6812cfcb4ea8e4e9122d4d58c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:32:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:32:11 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  fs/bio.c: fix shadows sparse warning\n  drbd: The kernel code is now equivalent to out of tree release 8.3.7\n  drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)\n  drbd: Don\u0027t go into StandAlone mode when authentification failes because of network error\n  drivers/block/drbd/drbd_receiver.c: correct NULL test\n  cfq-iosched: Respect ioprio_class when preempting\n  genhd: overlapping variable definition\n  block: removed unused as_io_context\n  DM: Fix device mapper topology stacking\n  block: bdev_stack_limits wrapper\n  block: Fix discard alignment calculation and printing\n  block: Correct handling of bottom device misaligment\n  drbd: check on CONFIG_LBDAF, not LBD\n  drivers/block/drbd: Correct NULL test\n  drbd: Silenced an assert that could triggered after changing write ordering method\n  drbd: Kconfig fix\n  drbd: Fix for a race between IO and a detach operation [Bugz 262]\n  drbd: Use drbd_crypto_is_hash() instead of an open coded check\n"
    },
    {
      "commit": "15e551e52bf62f595f06ddf7a66b750ccfe41683",
      "tree": "c8364383eca64ad2e66a44d897fe16f0f40cb926",
      "parents": [
        "30a0f5e1fb510f17c25ff159a9fffbe01ae0f34e",
        "ece550f51ba175c14ec3ec047815927d7386ea1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:28:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:28:54 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: use after free\n  ecryptfs: Eliminate useless code\n  ecryptfs: fix interpose/interpolate typos in comments\n  ecryptfs: pass matching flags to interpose as defined and used there\n  ecryptfs: remove unnecessary d_drop calls in ecryptfs_link\n  ecryptfs: don\u0027t ignore return value from lock_rename\n  ecryptfs: initialize private persistent file before dereferencing pointer\n  eCryptfs: Remove mmap from directory operations\n  eCryptfs: Add getattr function\n  eCryptfs: Use notify_change for truncating lower inodes\n"
    },
    {
      "commit": "30a0f5e1fb510f17c25ff159a9fffbe01ae0f34e",
      "tree": "3392e115d4d5767c8bdaeac8696a2465d65a1e91",
      "parents": [
        "88f5004430babb836cfce886d5d54c82166f8ba4",
        "11dfe35a0108097f2df1f042c485fa7f758c2cdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:28:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 21 07:28:05 2010 -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 possible panic on unmount\n  Btrfs: deal with NULL acl sent to btrfs_set_acl\n  Btrfs: fix regression in orphan cleanup\n  Btrfs: Fix race in btrfs_mark_extent_written\n  Btrfs, fix memory leaks in error paths\n  Btrfs: align offsets for btrfs_ordered_update_i_size\n  btrfs: fix missing last-entry in readdir(3)\n"
    },
    {
      "commit": "3f00171125384b46e5088b7d7a5d0b3e6972f1ee",
      "tree": "d806f7ac7b189192459645fd4cbda5120fa11f90",
      "parents": [
        "24bc7347da73a9ed3383056c3d0f28c0e361621e"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sun Jan 10 23:29:16 2010 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 20 15:03:26 2010 -0800"
      },
      "message": "compat_ioctl: Supress \"unknown cmd\" message on serial /dev/console\n\nAfter the commit fb07a5f8 (\"compat_ioctl: remove all VT ioctl\nhandling\"), I got this error message on 64-bit mips kernel with 32-bit\nbusybox userland:\n\nioctl32(init:1): Unknown cmd fd(0) cmd(00005600){t:\u0027V\u0027;sz:0} arg(7fd76480) on /dev/console\n\nThe cmd 5600 is VT_OPENQRY.  The busybox\u0027s init issues this ioctl to\nknow vt-console or serial-console.  If the console was serial console,\nVT ioctls are not handled by the serial driver.\n\nAnd by quick search, I found some programs using VT_GETMODE to check\nvt-console is available or not.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ece550f51ba175c14ec3ec047815927d7386ea1f",
      "tree": "759c930b24718b3feacf149a8e4759f7725ee8e5",
      "parents": [
        "4aa25bcb7dac2d583f1557e2be2d0b598581da54"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Jan 19 12:34:32 2010 +0300"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:36:06 2010 -0600"
      },
      "message": "ecryptfs: use after free\n\nThe \"full_alg_name\" variable is used on a couple error paths, so we\nshouldn\u0027t free it until the end.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4aa25bcb7dac2d583f1557e2be2d0b598581da54",
      "tree": "6627afceaed30b0897298e83ceb4ecd580eeb9f0",
      "parents": [
        "fe0fc013cd8bbd2f4737c1b2694b37dd7fe459cb"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Jan 16 17:00:26 2010 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:36:05 2010 -0600"
      },
      "message": "ecryptfs: Eliminate useless code\n\nThe variable lower_dentry is initialized twice to the same (side effect-free)\nexpression.  Drop one initialization.\n\nA simplified version of the semantic match that finds this problem is:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@forall@\nidexpression *x;\nidentifier f!\u003dERR_PTR;\n@@\n\nx \u003d f(...)\n... when !\u003d x\n(\nx \u003d f(...,\u003c+...x...+\u003e,...)\n|\n* x \u003d f(...)\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fe0fc013cd8bbd2f4737c1b2694b37dd7fe459cb",
      "tree": "e14e4769d95b419be630547ad3d902bc63f71678",
      "parents": [
        "3469b57329f80db5a41cf42d1c8f7690269f57e7"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Mon Jan 04 18:17:02 2010 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:36:03 2010 -0600"
      },
      "message": "ecryptfs: fix interpose/interpolate typos in comments\n\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3469b57329f80db5a41cf42d1c8f7690269f57e7",
      "tree": "1672f23b8742dd5426cd3448ab2592342e99e091",
      "parents": [
        "c44a66d674688f1e1d0b2f6f56bd9c6a1b061cae"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Sun Dec 06 18:51:15 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:36:02 2010 -0600"
      },
      "message": "ecryptfs: pass matching flags to interpose as defined and used there\n\necryptfs_interpose checks if one of the flags passed is\nECRYPTFS_INTERPOSE_FLAG_D_ADD, defined as 0x00000001 in ecryptfs_kernel.h.\nBut the only user of ecryptfs_interpose to pass a non-zero flag to it, has\nhard-coded the value as \"1\". This could spell trouble if any of these values\nchanges in the future.\n\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c44a66d674688f1e1d0b2f6f56bd9c6a1b061cae",
      "tree": "52ff029a1c19b11b75ccc25ed7a5e00619e05800",
      "parents": [
        "0d132f7364694da8f7cafd49e2fc2721b73e96e4"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Sun Dec 06 18:05:30 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:36:00 2010 -0600"
      },
      "message": "ecryptfs: remove unnecessary d_drop calls in ecryptfs_link\n\nUnnecessary because it would unhash perfectly valid dentries, causing them\nto have to be re-looked up the next time they\u0027re needed, which presumably is\nright after.\n\nSigned-off-by: Aseem Rastogi \u003carastogi@cs.sunysb.edu\u003e\nSigned-off-by: Shrikar archak \u003cshrikar84@gmail.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Saumitra Bhanage \u003csbhanage@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0d132f7364694da8f7cafd49e2fc2721b73e96e4",
      "tree": "8603d76664307d039830796cc04a0e0363cf3b60",
      "parents": [
        "e27759d7a333d1f25d628c4f7caf845c51be51c2"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Sat Dec 05 21:17:09 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:35:59 2010 -0600"
      },
      "message": "ecryptfs: don\u0027t ignore return value from lock_rename\n\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e27759d7a333d1f25d628c4f7caf845c51be51c2",
      "tree": "6181c5f5abe8b2e4b7bdc45f1231c769cc57a403",
      "parents": [
        "38e3eaeedcac75360af8a92e7b66956ec4f334e5"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Thu Dec 03 13:35:27 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:32:54 2010 -0600"
      },
      "message": "ecryptfs: initialize private persistent file before dereferencing pointer\n\nEcryptfs_open dereferences a pointer to the private lower file (the one\nstored in the ecryptfs inode), without checking if the pointer is NULL.\nRight afterward, it initializes that pointer if it is NULL.  Swap order of\nstatements to first initialize.  Bug discovered by Duckjin Kang.\n\nSigned-off-by: Duckjin Kang \u003cfromdj2k@gmail.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "38e3eaeedcac75360af8a92e7b66956ec4f334e5",
      "tree": "ba194b5451033e29137d4c797edd8d508c470d42",
      "parents": [
        "f8f484d1b6677dd5cd5e7e605db747e8c30bbd47"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Nov 03 14:56:06 2009 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:32:11 2010 -0600"
      },
      "message": "eCryptfs: Remove mmap from directory operations\n\nAdrian reported that mkfontscale didn\u0027t work inside of eCryptfs mounts.\nStrace revealed the following:\n\nopen(\"./\", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) \u003d 3\nfcntl64(3, F_GETFD) \u003d 0x1 (flags FD_CLOEXEC)\nopen(\"./fonts.scale\", O_WRONLY|O_CREAT|O_TRUNC, 0666) \u003d 4\ngetdents(3, /* 80 entries */, 32768) \u003d 2304\nopen(\"./.\", O_RDONLY) \u003d 5\nfcntl64(5, F_SETFD, FD_CLOEXEC) \u003d 0\nfstat64(5, {st_mode\u003dS_IFDIR|0755, st_size\u003d16384, ...}) \u003d 0\nmmap2(NULL, 16384, PROT_READ, MAP_PRIVATE, 5, 0) \u003d 0xb7fcf000\nclose(5) \u003d 0\n--- SIGBUS (Bus error) @ 0 (0) ---\n+++ killed by SIGBUS +++\n\nThe mmap2() on a directory was successful, resulting in a SIGBUS\nsignal later.  This patch removes mmap() from the list of possible\necryptfs_dir_fops so that mmap() isn\u0027t possible on eCryptfs directory\nfiles.\n\nhttps://bugs.launchpad.net/ecryptfs/+bug/400443\n\nReported-by: Adrian C. \u003canrxc@sysphere.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f8f484d1b6677dd5cd5e7e605db747e8c30bbd47",
      "tree": "67acfc58f5e952e4fd2720d2e5e77409db40b6b8",
      "parents": [
        "5f3ef64f4da1c587cdcfaaac72311225b7df094c"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Nov 04 02:48:01 2009 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:32:09 2010 -0600"
      },
      "message": "eCryptfs: Add getattr function\n\nThe i_blocks field of an eCryptfs inode cannot be trusted, but\ngeneric_fillattr() uses it to instantiate the blocks field of a stat()\nsyscall when a filesystem doesn\u0027t implement its own getattr().  Users\nhave noticed that the output of du is incorrect on newly created files.\n\nThis patch creates ecryptfs_getattr() which calls into the lower\nfilesystem\u0027s getattr() so that eCryptfs can use its kstat.blocks value\nafter calling generic_fillattr().  It is important to note that the\nblock count includes the eCryptfs metadata stored in the beginning of\nthe lower file plus any padding used to fill an extent before\nencryption.\n\nhttps://bugs.launchpad.net/ecryptfs/+bug/390833\n\nReported-by: Dominic Sacré \u003cdominic.sacre@gmx.de\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5f3ef64f4da1c587cdcfaaac72311225b7df094c",
      "tree": "0bdf086980df60d73bc650cdc520b59029faaa5a",
      "parents": [
        "24bc7347da73a9ed3383056c3d0f28c0e361621e"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Oct 14 16:18:27 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Jan 19 22:32:07 2010 -0600"
      },
      "message": "eCryptfs: Use notify_change for truncating lower inodes\n\nWhen truncating inodes in the lower filesystem, eCryptfs directly\ninvoked vmtruncate(). As Christoph Hellwig pointed out, vmtruncate() is\na filesystem helper function, but filesystems may need to do more than\njust a call to vmtruncate().\n\nThis patch moves the lower inode truncation out of ecryptfs_truncate()\nand renames the function to truncate_upper().  truncate_upper() updates\nan iattr for the lower inode to indicate if the lower inode needs to be\ntruncated upon return.  ecryptfs_setattr() then calls notify_change(),\nusing the updated iattr for the lower inode, to complete the truncation.\n\nFor eCryptfs functions needing to truncate, ecryptfs_truncate() is\nreintroduced as a simple way to truncate the upper inode to a specified\nsize and then truncate the lower inode accordingly.\n\nhttps://bugs.launchpad.net/bugs/451368\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f06f135d8642e2f6812cfcb4ea8e4e9122d4d58c",
      "tree": "efef71a7083eda0c471a1c5aebb9132e37b61ade",
      "parents": [
        "2705ca7959111882097da1ebbe401d5566780904"
      ],
      "author": {
        "name": "Thiago Farina",
        "email": "tfransosi@gmail.com",
        "time": "Tue Jan 19 14:07:09 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 19 14:07:09 2010 +0100"
      },
      "message": "fs/bio.c: fix shadows sparse warning\n\nfs/bio.c:81:33: warning: symbol \u0027bslab\u0027 shadows an earlier one\nfs/bio.c:74:25: originally declared here\n\nSigned-off-by: Thiago Farina \u003ctfransosi@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1e868d8e6d2c4b8736cdf7a4bd5701e4f527f722",
      "tree": "ce9ab0c1e5b4fd1610e8bf49a089a5cd5a474566",
      "parents": [
        "2faae42233778676607a2a45b95aeb375bebe2c6",
        "e09f98606dcc156de1146c209d45a0d6d5f51c3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 18 14:08:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 18 14:08:07 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: xfs_swap_extents needs to handle dynamic fork offsets\n  xfs: fix missing error check in xfs_rtfree_range\n  xfs: fix stale inode flush avoidance\n  xfs: Remove inode iolock held check during allocation\n  xfs: reclaim all inodes by background tree walks\n  xfs: Avoid inodes in reclaim when flushing from inode cache\n  xfs: reclaim inodes under a write lock\n"
    },
    {
      "commit": "11dfe35a0108097f2df1f042c485fa7f758c2cdf",
      "tree": "83d5af6992db15ee61bc0c960626c378a2f5b436",
      "parents": [
        "a9cc71a60c29a09174bee2fcef8f924c529fd4b7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 13 20:12:59 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:40:30 2010 -0500"
      },
      "message": "Btrfs: fix possible panic on unmount\n\nWe can race with the unmount of an fs and the stopping of a kthread where we\nwill free the block group before we\u0027re done using it.  The reason for this is\nbecause we do not hold a reference on the block group while its caching, since\nthe allocator drops its reference once it exits or moves on to the next block\ngroup.  This patch fixes the problem by taking a reference to the block group\nbefore we start caching and dropping it when we\u0027re done to make sure all\naccesses to the block group are safe.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a9cc71a60c29a09174bee2fcef8f924c529fd4b7",
      "tree": "d8ae909f351fda769f21ad58ce9fbe211657ecf2",
      "parents": [
        "6c090a11e1c403b727a6a8eff0b97d5fb9e95cb5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:36:18 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:40:22 2010 -0500"
      },
      "message": "Btrfs: deal with NULL acl sent to btrfs_set_acl\n\nIt is legal for btrfs_set_acl to be sent a NULL acl.  This\nmakes sure we don\u0027t dereference it.  A similar patch was sent by\nJohannes Hirte \u003cjohannes.hirte@fem.tu-ilmenau.de\u003e\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6c090a11e1c403b727a6a8eff0b97d5fb9e95cb5",
      "tree": "51ff4a540d71e1cd6421041c3d3ec466e21a860f",
      "parents": [
        "6c7d54ac87f338c479d9729e8392eca3f76e11e1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Jan 15 20:08:22 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:40:21 2010 -0500"
      },
      "message": "Btrfs: fix regression in orphan cleanup\n\nCurrently orphan cleanup only ever gets triggered if we cross subvolumes during\na lookup, which means that if we just mount a plain jane fs that has orphans in\nit, they will never get cleaned up.  This results in panic\u0027s like these\n\nhttp://www.kerneloops.org/oops.php?number\u003d1109085\n\nwhere adding an orphan entry results in -EEXIST being returned and we panic.  In\norder to fix this, we check to see on lookup if our root has had the orphan\ncleanup done, and if not go ahead and do it.  This is easily reproduceable by\nrunning this testcase\n\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n\nint main(int argc, char **argv)\n{\n\tchar data[4096];\n\tchar newdata[4096];\n\tint fd1, fd2;\n\n\tmemset(data, \u0027a\u0027, 4096);\n\tmemset(newdata, \u0027b\u0027, 4096);\n\n\twhile (1) {\n\t\tint i;\n\n\t\tfd1 \u003d creat(\"file1\", 0666);\n\t\tif (fd1 \u003c 0)\n\t\t\tbreak;\n\n\t\tfor (i \u003d 0; i \u003c 512; i++)\n\t\t\twrite(fd1, data, 4096);\n\n\t\tfsync(fd1);\n\t\tclose(fd1);\n\n\t\tfd2 \u003d creat(\"file2\", 0666);\n\t\tif (fd2 \u003c 0)\n\t\t\tbreak;\n\n\t\tftruncate(fd2, 4096 * 512);\n\n\t\tfor (i \u003d 0; i \u003c 512; i++)\n\t\t\twrite(fd2, newdata, 4096);\n\t\tclose(fd2);\n\n\t\ti \u003d rename(\"file2\", \"file1\");\n\t\tunlink(\"file1\");\n\t}\n\n\treturn 0;\n}\n\nand then pulling the power on the box, and then trying to run that test again\nwhen the box comes back up.  I\u0027ve tested this locally and it fixes the problem.\nThanks to Tomas Carnecky for helping me track this down initially.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6c7d54ac87f338c479d9729e8392eca3f76e11e1",
      "tree": "3815913df585d7cbc8ba6a4c151328daa4720c7c",
      "parents": [
        "2423fdfb96e3f9ff3baeb6c4c78d74145547891d"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Jan 15 08:43:09 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:40:21 2010 -0500"
      },
      "message": "Btrfs: Fix race in btrfs_mark_extent_written\n\nFix bug reported by Johannes Hirte. The reason of that bug\nis btrfs_del_items is called after btrfs_duplicate_item and\nbtrfs_del_items triggers tree balance. The fix is check that\ncase and call btrfs_search_slot when needed.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2423fdfb96e3f9ff3baeb6c4c78d74145547891d",
      "tree": "a47f7712849dd9ab5c4a1c3371511e072abcdb29",
      "parents": [
        "a038fab0cb873c75d6675e2bcffce8a3935bdce7"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Jan 06 16:57:22 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:40:20 2010 -0500"
      },
      "message": "Btrfs, fix memory leaks in error paths\n\nStanse found 2 memory leaks in relocate_block_group and\n__btrfs_map_block. cluster and multi are not freed/assigned on all\npaths. Fix that.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-btrfs@vger.kernel.org\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a038fab0cb873c75d6675e2bcffce8a3935bdce7",
      "tree": "f128cf83728dccb1a5f392acb053ceccb4491aa3",
      "parents": [
        "406266ab9ac8ed8b085c58aacd9e3161480dc5d5"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Mon Dec 28 05:01:58 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:06:27 2010 -0500"
      },
      "message": "Btrfs: align offsets for btrfs_ordered_update_i_size\n\nSome callers of btrfs_ordered_update_i_size can now pass in\na NULL for the ordered extent to update against.  This makes\nsure we properly align the offset they pass in when deciding\nhow much to bump the on disk i_size.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "406266ab9ac8ed8b085c58aacd9e3161480dc5d5",
      "tree": "811d305c4c4fdf6b19279173959d06698a304416",
      "parents": [
        "3a1abec9f6880cf406593c392636199ea1c6c917"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Dec 09 22:00:38 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Jan 17 20:06:27 2010 -0500"
      },
      "message": "btrfs: fix missing last-entry in readdir(3)\n\nparent 49313cdac7b34c9f7ecbb1780cfc648b1c082cd7 (v2.6.32-1-g49313cd)\ncommit ff48c08e1c05c67e8348ab6f8a24de8034e0e34d\nAuthor: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nDate:   Wed Dec 9 22:57:36 2009 +0100\n\nBtrfs: fix missing last-entry in readdir(3)\n\nWhen one does a 32-bit readdir(3), the last entry of a directory is\nmissing. This is however not due to passing a large value to filldir,\nbut it seems to have to do with glibc doing telldir or something\nquirky. In any case, this patch fixes it in practice.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7dc9c484a71525794ca05cf7a47f283f1b54cd12",
      "tree": "e150ea705069b06af5c6e0d077a94437f24e991a",
      "parents": [
        "3a5dd791abef032fe57fc652c0232913c696e59b",
        "27d55f1f4c190b14092fcca3069c7d15df83514f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 17 11:01:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 17 11:01:16 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  do_add_mount() should sanitize mnt_flags\n  CIFS shouldn\u0027t make mountpoints shrinkable\n  mnt_flags fixes in do_remount()\n  attach_recursive_mnt() needs to hold vfsmount_lock over set_mnt_shared()\n  may_umount() needs namespace_sem\n  Fix configfs leak\n  Fix the -ESTALE handling in do_filp_open()\n  ecryptfs: Fix refcnt leak on ecryptfs_follow_link() error path\n  Fix ACC_MODE() for real\n  Unrot uml mconsole a bit\n  hppfs: handle -\u003eput_link()\n  Kill 9p readlink()\n  fix autofs/afs/etc. magic mountpoint breakage\n"
    },
    {
      "commit": "7e6608724c640924aad1d556d17df33ebaa6124d",
      "tree": "b2d90646f5ee52f5b7807bbc0abe09db9adbe478",
      "parents": [
        "81759b5b221107488bda99fe7beeb7b734f61133"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: fix shared mmap after truncate shrinkage problems\n\nFix a problem in NOMMU mmap with ramfs whereby a shared mmap can happen\nover the end of a truncation.  The problem is that\nramfs_nommu_check_mappings() checks that the reduced file size against the\nVMA tree, but not the vm_region tree.\n\nThe following sequence of events can cause the problem:\n\n\tfd \u003d open(\"/tmp/x\", O_RDWR|O_TRUNC|O_CREAT, 0600);\n\tftruncate(fd, 32 * 1024);\n\ta \u003d mmap(NULL, 32 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\tb \u003d mmap(NULL, 16 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\tmunmap(a, 32 * 1024);\n\tftruncate(fd, 16 * 1024);\n\tc \u003d mmap(NULL, 32 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\nMapping \u0027a\u0027 creates a vm_region covering 32KB of the file.  Mapping \u0027b\u0027\nsees that the vm_region from \u0027a\u0027 is covering the region it wants and so\nshares it, pinning it in memory.\n\nMapping \u0027a\u0027 then goes away and the file is truncated to the end of VMA\n\u0027b\u0027.  However, the region allocated by \u0027a\u0027 is still in effect, and has\n_not_ been reduced.\n\nMapping \u0027c\u0027 is then created, and because there\u0027s a vm_region covering the\ndesired region, get_unmapped_area() is _not_ called to repeat the check,\nand the mapping is granted, even though the pages from the latter half of\nthe mapping have been discarded.\n\nHowever:\n\n\td \u003d mmap(NULL, 16 * 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\nMapping \u0027d\u0027 should work, and should end up sharing the region allocated by\n\u0027a\u0027.\n\nTo deal with this, we shrink the vm_region struct during the truncation,\nlest do_mmap_pgoff() take it as licence to share the full region\nautomatically without calling the get_unmapped_area() file op again.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81759b5b221107488bda99fe7beeb7b734f61133",
      "tree": "2ca1207d4ae5d6bbdc49db727a35b22a502fc76f",
      "parents": [
        "efc1a3b16930c41d64ffefde16b87d82f603a8a0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 15 17:01:36 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:40 2010 -0800"
      },
      "message": "nommu: fix race between ramfs truncation and shared mmap\n\nFix the race between the truncation of a ramfs file and an attempt to make\na shared mmap of region of that file.\n\nThe problem is that do_mmap_pgoff() calls f_op-\u003eget_unmapped_area() to\nverify that the file region is made of contiguous pages and to find its\nbase address - but there isn\u0027t any locking to guarantee this region until\nvma_prio_tree_insert() is called by add_vma_to_mm().\n\nNote that moving the functionality into f_op-\u003emmap() doesn\u0027t help as that\nis also called before vma_prio_tree_insert().\n\nInstead make ramfs_nommu_check_mappings() grab nommu_region_sem whilst it\ndoes its checks.  This means that this function will wait whilst mmaps\ntake place.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27d55f1f4c190b14092fcca3069c7d15df83514f",
      "tree": "e0d305a30fa5b5655b87ecc1b50d1664fb4bf70e",
      "parents": [
        "7e1295d9f8300e8c8d1af01765f475621c19ee1d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:07:36 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:07:36 2010 -0500"
      },
      "message": "do_add_mount() should sanitize mnt_flags\n\nMNT_WRITE_HOLD shouldn\u0027t leak into new vfsmount and neither\nshould MNT_SHARED (the latter will be set properly, along with\nthe rest of shared-subtree data structures)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e1295d9f8300e8c8d1af01765f475621c19ee1d",
      "tree": "d6043314012a8620c03f5ddf911f31a5e9564ced",
      "parents": [
        "7b43a79f32c0a05e7562043af98e25c05c89b18e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:06:32 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:06:32 2010 -0500"
      },
      "message": "CIFS shouldn\u0027t make mountpoints shrinkable\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7b43a79f32c0a05e7562043af98e25c05c89b18e",
      "tree": "920010b3bad9bd2cb7b9f4f2a7305a40400758da",
      "parents": [
        "df1a1ad29739f032f8905310796e558589403d61"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:01:26 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 13:01:26 2010 -0500"
      },
      "message": "mnt_flags fixes in do_remount()\n\n* need vfsmount_lock over modifying it\n* need to preserve MNT_SHARED/MNT_UNBINDABLE\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "df1a1ad29739f032f8905310796e558589403d61",
      "tree": "e8ef57ed776c5dd5615a6fbdb74609c631b7f2a9",
      "parents": [
        "8ad08d8a0c3823e9b06ef84c362c9361be323d2d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 12:57:40 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 12:57:40 2010 -0500"
      },
      "message": "attach_recursive_mnt() needs to hold vfsmount_lock over set_mnt_shared()\n\nrace in mnt_flags update\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8ad08d8a0c3823e9b06ef84c362c9361be323d2d",
      "tree": "14b02283f72d5f1345af0cd8c0f305306f6925a6",
      "parents": [
        "9b6e31021122babe3b3a67b102479f740928b5eb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 12:56:08 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 12:56:08 2010 -0500"
      },
      "message": "may_umount() needs namespace_sem\n\notherwise it races with clone_mnt() changing mnt_share/mnt_slaves\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "976ae32be45a736acd49215a7e4771ff91f161c3",
      "tree": "c7baae0475304ef84c8f918e67b087cf7f4388a5",
      "parents": [
        "9e572cc9877ee6c43af60778f6b8d5ba0692d935"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jan 15 12:12:25 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 15 14:49:23 2010 -0800"
      },
      "message": "inotify: only warn once for inotify problems\n\ninotify will WARN() if it finds that the idr and the fsnotify internals\nsomehow got out of sync.  It was only supposed to do this once but due\nto this stupid bug it would warn every single time a problem was\ndetected.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e572cc9877ee6c43af60778f6b8d5ba0692d935",
      "tree": "381c6152ffe3eee6cc34aaa3389836d54cb8b863",
      "parents": [
        "61c39bb354a1f791ba6f562b766a72e508a036ee"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jan 15 12:12:24 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 15 14:49:23 2010 -0800"
      },
      "message": "inotify: do not reuse watch descriptors\n\nSince commit 7e790dd5fc937bc8d2400c30a05e32a9e9eef276 (\"inotify: fix\nerror paths in inotify_update_watch\") inotify changed the manor in which\nit gave watch descriptors back to userspace.  Previous to this commit\ninotify acted like the following:\n\n  inotify_add_watch(X, Y, Z) \u003d 1\n  inotify_rm_watch(X, 1);\n  inotify_add_watch(X, Y, Z) \u003d 2\n\nbut after this patch inotify would return watch descriptors like so:\n\n  inotify_add_watch(X, Y, Z) \u003d 1\n  inotify_rm_watch(X, 1);\n  inotify_add_watch(X, Y, Z) \u003d 1\n\nwhich I saw as equivalent to opening an fd where\n\n  open(file) \u003d 1;\n  close(1);\n  open(file) \u003d 1;\n\nseemed perfectly reasonable.  The issue is that quite a bit of userspace\napparently relies on the behavior in which watch descriptors will not be\nquickly reused.  KDE relies on it, I know some selinux packages rely on\nit, and I have heard complaints from other random sources such as debian\nbug 558981.\n\nAlthough the man page implies what we do is ok, we broke userspace so\nthis patch almost reverts us to the old behavior.  It is still slightly\nracey and I have patches that would fix that, but they are rather large\nand this will fix it for all real world cases.  The race is as follows:\n\n - task1 creates a watch and blocks in idr_new_watch() before it updates\n   the hint.\n - task2 creates a watch and updates the hint.\n - task1 updates the hint with it\u0027s older wd\n - task removes the watch created by task2\n - task adds a new watch and will reuse the wd originally given to task2\n\nit requires moving some locking around the hint (last_wd) but this should\nsolve it for the real world and be -stable safe.\n\nAs a side effect this patch papers over a bug in the lib/idr code which\nis causing a large number WARN\u0027s to pop on people\u0027s system and many\nreports in kerneloops.org.  I\u0027m working on the root cause of that idr\nbug seperately but this should make inotify immune to that issue.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e09f98606dcc156de1146c209d45a0d6d5f51c3f",
      "tree": "dd63ab7c2eaedad409fb0c72d4d675b2d3e9f533",
      "parents": [
        "3daeb42c13567e1505f233f6a699cc0e23c8ab5a"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Jan 14 01:33:54 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:49:07 2010 -0600"
      },
      "message": "xfs: xfs_swap_extents needs to handle dynamic fork offsets\n\nWhen swapping extents, we can corrupt inodes by swapping data forks\nthat are in incompatible formats.  This is caused by the two indoes\nhaving different fork offsets due to the presence of an attribute\nfork on an attr2 filesystem.  xfs_fsr tries to be smart about\nsetting the fork offset, but the trick it plays only works on attr1\n(old fixed format attribute fork) filesystems.\n\nChanging the way xfs_fsr sets up the attribute fork will prevent\nthis situation from ever occurring, so in the kernel code we can get\nby with a preventative fix - check that the data fork in the\ndefragmented inode is in a format valid for the inode it is being\nswapped into.  This will lead to files that will silently and\npotentially repeatedly fail defragmentation, so issue a warning to\nthe log when this particular failure occurs to let us know that\nxfs_fsr needs updating/fixing.\n\nTo help identify how to improve xfs_fsr to avoid this issue, add\ntrace points for the inodes being swapped so that we can determine\nwhy the swap was rejected and to confirm that the code is making the\nright decisions and modifications when swapping forks.\n\nA further complication is even when the swap is allowed to proceed\nwhen the fork offset is different between the two inodes then value\nfor the maximum number of extents the data fork can hold can be\nwrong. Make sure these are also set correctly after the swap occurs.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "3daeb42c13567e1505f233f6a699cc0e23c8ab5a",
      "tree": "a5897b35cb4830d73089aace8abd5b2c8bae1d7f",
      "parents": [
        "4b6a46882cca8349e8942e2650c33b11bc571c92"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Jan 14 08:44:46 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:46:19 2010 -0600"
      },
      "message": "xfs: fix missing error check in xfs_rtfree_range\n\nWhen xfs_rtfind_forw() returns an error, the block is returned\nuninitialised.  xfs_rtfree_range() is not checking the error return,\nso could be using an uninitialised block number for modifying bitmap\nsummary info.\n\nThe problem was found by gcc when compiling the *userspace* libxfs\ncode - it is an copy of the kernel code with the exact same bug.\ngcc gives an uninitialised variable warning on the userspace code\nbut not on the kernel code. You gotta love the consistency (Mmmm,\nslightly chewy today!).\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "4b6a46882cca8349e8942e2650c33b11bc571c92",
      "tree": "5a5ab0783340fa4acd75a172d857d0077a527809",
      "parents": [
        "126976c7c17d3bdfbc1fe9e0af8bee9f62d14cc6"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jan 11 11:45:21 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:46:02 2010 -0600"
      },
      "message": "xfs: fix stale inode flush avoidance\n\nWhen reclaiming stale inodes, we need to guarantee that inodes are\nunpinned before returning with a \"clean\" status. If we don\u0027t we can\nreclaim inodes that are pinned, leading to use after free in the\ntransaction subsystem as transactions complete.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "126976c7c17d3bdfbc1fe9e0af8bee9f62d14cc6",
      "tree": "01b15c25ad8be7402a54fd090771a12084e8f425",
      "parents": [
        "57817c68229984818fea9e614d6f95249c3fb098"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sun Jan 10 23:51:48 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:45:33 2010 -0600"
      },
      "message": "xfs: Remove inode iolock held check during allocation\n\nlockdep complains about a the lock not being initialised as we do an\nASSERT based check that the lock is not held before we initialise it\nto catch inodes freed with the lock held.\n\nlockdep does this check for us in the lock initialisation code, so\nremove the ASSERT to stop the lockdep warning.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "57817c68229984818fea9e614d6f95249c3fb098",
      "tree": "1c3265ae92ccf51617763a568c4c76be3a596578",
      "parents": [
        "018027be90a6946e8cf3f9b17b5582384f7ed117"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sun Jan 10 23:51:47 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:44:44 2010 -0600"
      },
      "message": "xfs: reclaim all inodes by background tree walks\n\nWe cannot do direct inode reclaim without taking the flush lock to\nensure that we do not reclaim an inode under IO. We check the inode\nis clean before doing direct reclaim, but this is not good enough\nbecause the inode flush code marks the inode clean once it has\ncopied the in-core dirty state to the backing buffer.\n\nIt is the flush lock that determines whether the inode is still\nunder IO, even though it is marked clean, and the inode is still\nrequired at IO completion so we can\u0027t reclaim it even though it is\nclean in core. Hence the requirement that we need to take the flush\nlock even on clean inodes because this guarantees that the inode\nwriteback IO has completed and it is safe to reclaim the inode.\n\nWith delayed write inode flushing, we coul dend up waiting a long\ntime on the flush lock even for a clean inode. The background\nreclaim already handles this efficiently, so avoid all the problems\nby killing the direct reclaim path altogether.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "018027be90a6946e8cf3f9b17b5582384f7ed117",
      "tree": "a8816b9884e21eab9cb3342af9de9ddc28f9f0de",
      "parents": [
        "c8e20be020f234c8d492927a424a7d8bbefd5b5d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sun Jan 10 23:51:46 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:44:21 2010 -0600"
      },
      "message": "xfs: Avoid inodes in reclaim when flushing from inode cache\n\nThe reclaim code will handle flushing of dirty inodes before reclaim\noccurs, so avoid them when determining whether an inode is a\ncandidate for flushing to disk when walking the radix trees.  This\nis based on a test patch from Christoph Hellwig.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c8e20be020f234c8d492927a424a7d8bbefd5b5d",
      "tree": "ced84d52bf87d72d36a65e3ddca6b4fc4b7f819f",
      "parents": [
        "7284ce6c9f6153d1777df5f310c959724d1bd446"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sun Jan 10 23:51:45 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 15 13:43:55 2010 -0600"
      },
      "message": "xfs: reclaim inodes under a write lock\n\nMake the inode tree reclaim walk exclusive to avoid races with\nconcurrent sync walkers and lookups. This is a version of a patch\nposted by Christoph Hellwig that avoids all the code duplication.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "1296cc85c26e94eb865d03f82140f27d598de467",
      "tree": "b8a2bc06ecd992a86179ebcd9c087994c676c291",
      "parents": [
        "5f634d064c709ea02c3cdaa850a08323a4a4bf28"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jan 15 01:27:59 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 15 01:27:59 2010 -0500"
      },
      "message": "ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag\n\nWe should update reserve space if it is delalloc buffer\nand that is indicated by EXT4_GET_BLOCKS_DELALLOC_RESERVE flag.\nSo use EXT4_GET_BLOCKS_DELALLOC_RESERVE in place of\nEXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5f634d064c709ea02c3cdaa850a08323a4a4bf28",
      "tree": "3f81e9c56cd8348b7bb94f1d54efff696374c929",
      "parents": [
        "1db913823c0f8360fccbd24ca67eb073966a5ffd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 25 04:00:31 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 25 04:00:31 2010 -0500"
      },
      "message": "ext4: Fix quota accounting error with fallocate\n\nWhen we fallocate a region of the file which we had recently written,\nand which is still in the page cache marked as delayed allocated blocks\nwe need to make sure we don\u0027t do the quota update on writepage path.\nThis is because the needed quota updated would have already be done\nby fallocate.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1db913823c0f8360fccbd24ca67eb073966a5ffd",
      "tree": "ec5f7be2cfa884b04ca3d26c2dee53283fe16ca7",
      "parents": [
        "74d2e4f8d79ae0c4b6ec027958d5b18058662eea"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jan 22 17:06:20 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 22 17:06:20 2010 -0500"
      },
      "message": "ext4: Handle -EDQUOT error on write\n\nWe need to release the journal before we do a write_inode.  Otherwise\nwe could deadlock.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9b6e31021122babe3b3a67b102479f740928b5eb",
      "tree": "aca5a8aa7af09e4aa4c30de4e4479164a44de273",
      "parents": [
        "9850c056559f3633a32d810aaf00ced39437b364"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 13 22:10:57 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:42 2010 -0500"
      },
      "message": "Fix configfs leak\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9850c056559f3633a32d810aaf00ced39437b364",
      "tree": "30e80de94e12ae758736cfb586db39cfa77d69df",
      "parents": [
        "806892e9e12e731a0ca76c8f62ad95cf8eea9614"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 13 15:01:15 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:26 2010 -0500"
      },
      "message": "Fix the -ESTALE handling in do_filp_open()\n\nInstead of playing sick games with path saving, cleanups, just retry\nthe entire thing once with LOOKUP_REVAL added.  Post-.34 we\u0027ll convert\nall -ESTALE handling in there to that style, rather than playing with\nmany retry loops deep in the call chain.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "806892e9e12e731a0ca76c8f62ad95cf8eea9614",
      "tree": "a063df1524ed862ef2475052e1cc1c66de390dc2",
      "parents": [
        "6d125529c6cbfe570ce3bf9a0728548f087499da"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:36:14 2010 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:26 2010 -0500"
      },
      "message": "ecryptfs: Fix refcnt leak on ecryptfs_follow_link() error path\n\nIf -\u003efollow_link handler return the error, it should decrement\nnd-\u003epath refcnt. But, ecryptfs_follow_link() doesn\u0027t decrement.\n\nThis patch fix it by using usual nd_set_link() style error handling,\ninstead of playing with nd-\u003epath.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d125529c6cbfe570ce3bf9a0728548f087499da",
      "tree": "89ba434f76d224741bd0e0b0ef02b10a4ff95136",
      "parents": [
        "4ecf09fd3a7c8858198875171b684c73338fad83"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 24 06:58:56 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:26 2010 -0500"
      },
      "message": "Fix ACC_MODE() for real\n\ncommit 5300990c0370e804e49d9a59d928c5d53fb73487 had stepped on a rather\nnasty mess: definitions of ACC_MODE used to be different.  Fixed the\nresulting breakage, converting them to variant that takes O_... value;\nall callers have that and it actually simplifies life (see tomoyo part\nof changes).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7b264fc2bef4a3de8bc5ff1a6c5b9e890b069a04",
      "tree": "3193dc707b7c6d89b1136d2f3dac2b649032cd86",
      "parents": [
        "204f2f0e82ec5cecbe671cfe2b132146929213d3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 23 00:43:50 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:25 2010 -0500"
      },
      "message": "hppfs: handle -\u003eput_link()\n\ncurrent code works only because nothing in procfs has non-trivial\n-\u003eput_link().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "204f2f0e82ec5cecbe671cfe2b132146929213d3",
      "tree": "0f57a312898ba3d910289fbee5fcd84e073a06da",
      "parents": [
        "86acdca1b63e6890540fa19495cfc708beff3d8b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 23 00:35:54 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:25 2010 -0500"
      },
      "message": "Kill 9p readlink()\n\nFor symlinks generic_readlink() will work just fine and for directories\nwe don\u0027t want -\u003ereadlink() at all.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "86acdca1b63e6890540fa19495cfc708beff3d8b",
      "tree": "f589566363ef4f77098eba9ced48325f410168e6",
      "parents": [
        "004b35063296b6772fa72404a35b498f1e71e87e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 23:45:11 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 09:05:25 2010 -0500"
      },
      "message": "fix autofs/afs/etc. magic mountpoint breakage\n\nWe end up trying to kfree() nd.last.name on open(\"/mnt/tmp\", O_CREAT)\nif /mnt/tmp is an autofs direct mount.  The reason is that nd.last_type\nis bogus here; we want LAST_BIND for everything of that kind and we\nget LAST_NORM left over from finding parent directory.\n\nSo make sure that it *is* set properly; set to LAST_BIND before\ndoing -\u003efollow_link() - for normal symlinks it will be changed\nby __vfs_follow_link() and everything else needs it set that way.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e80c14e1ae3cb637d1959a6c9a199ba2e7af5910",
      "tree": "0506046824f7367e62f4a27023de7819eb6b34d9",
      "parents": [
        "7284ce6c9f6153d1777df5f310c959724d1bd446",
        "53281b6d34d44308372d16acb7fb5327609f68b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 13 13:42:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 13 13:42:49 2010 -0800"
      },
      "message": "Merge branch \u0027fasync-helper\u0027\n\n* fasync-helper:\n  fasync: split \u0027fasync_helper()\u0027 into separate add/remove functions\n"
    },
    {
      "commit": "2c761270d5520dd84ab0b4e47c24d99ff8503c38",
      "tree": "c23a51fdcc96641661b632d3b3c2c46ad7e53a91",
      "parents": [
        "dbf004d7883b3adb058c0c1a5635bc4ec27651c0"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Jan 12 17:39:16 2010 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 12 21:02:00 2010 -0800"
      },
      "message": "lib: Introduce generic list_sort function\n\nThere are two copies of list_sort() in the tree already, one in the DRM\ncode, another in ubifs.  Now XFS needs this as well.  Create a generic\nlist_sort() function from the ubifs version and convert existing users\nto it so we don\u0027t end up with yet another copy in the tree.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nAcked-by: Dave Airlie \u003cairlied@redhat.com\u003e\nAcked-by: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b4d40a517e0657a081d5d63518c4badd31c60ea",
      "tree": "37b3f593288fd9f8fd97f60a84bd57fef8c0d87a",
      "parents": [
        "79ecb043ea0ae046463f03dea46c5e13a9312205",
        "fd45e4784164d1017521086524e3442318c67370"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:48 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Ensure we force all busy extents in range to disk\n  xfs: Don\u0027t flush stale inodes\n  xfs: fix timestamp handling in xfs_setattr\n  xfs: use DECLARE_EVENT_CLASS\n"
    },
    {
      "commit": "79ecb043ea0ae046463f03dea46c5e13a9312205",
      "tree": "7355a535d159caa8e017a490dc78063f125f4208",
      "parents": [
        "db1fc95744827a04f7e127681493bf1c1d3ab688",
        "ba198098a21a5dc8885fddfb308135bc2f138003"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:29 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Use MAX_LFS_FILESIZE for meta inode size\n  GFS2: Fix gfs2_xattr_acl_chmod()\n  GFS2: Fix locking bug in rename\n  GFS2: Ensure uptodate inode size when using O_APPEND\n"
    },
    {
      "commit": "db1fc95744827a04f7e127681493bf1c1d3ab688",
      "tree": "fa1102999c19d48802bca87529cb493460917792",
      "parents": [
        "00fdb75b1959c2f8de8b70bfb63aca422feff2fa",
        "05b5d898235401c489c68e1f3bc5706a29ad5713"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:48:14 2010 -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  quota: Fix dquot_transfer for filesystems different from ext4\n"
    },
    {
      "commit": "7f53a09ed40f08416b3029ada8f02252e7596c18",
      "tree": "51d2bef1ca3a4667e5b9058b6f2b365edd101ebd",
      "parents": [
        "d2b34e20c1f431604e0dde910c3ff271c84ed706"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Fri Jan 08 14:43:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:07 2010 -0800"
      },
      "message": "smaps: fix wrong rss count\n\nA long time ago we regarded zero page as file_rss and vm_normal_page\ndoesn\u0027t return NULL.\n\nBut now, we reinstated ZERO_PAGE and vm_normal_page\u0027s implementation can\nreturn NULL in case of zero page.  Also we don\u0027t count it with file_rss\nany more.\n\nThen, RSS and PSS can\u0027t be matched.  For consistency, Let\u0027s ignore zero\npage in smaps_pte_range.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1306d603fcf1f6682f8575d1ff23631a24184b21",
      "tree": "8e2278cfabf874cb16bf03bd182ae75b87055741",
      "parents": [
        "f146aabfe921006b98dfa4a78506763aedfd3206"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Jan 08 14:42:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "proc: partially revert \"procfs: provide stack information for threads\"\n\nCommit d899bf7b (procfs: provide stack information for threads) introduced\nto show stack information in /proc/{pid}/status.  But it cause large\nperformance regression.  Unfortunately /proc/{pid}/status is used ps\ncommand too and ps is one of most important component.  Because both to\ntake mmap_sem and page table walk are heavily operation.\n\nIf many process run, the ps performance is,\n\n[before d899bf7b]\n\n% perf stat ps \u003e/dev/null\n\n Performance counter stats for \u0027ps\u0027:\n\n     4090.435806  task-clock-msecs         #      0.032 CPUs\n             229  context-switches         #      0.000 M/sec\n               0  CPU-migrations           #      0.000 M/sec\n             234  page-faults              #      0.000 M/sec\n      8587565207  cycles                   #   2099.425 M/sec\n      9866662403  instructions             #      1.149 IPC\n      3789415411  cache-references         #    926.409 M/sec\n        30419509  cache-misses             #      7.437 M/sec\n\n   128.859521955  seconds time elapsed\n\n[after d899bf7b]\n\n% perf stat  ps  \u003e /dev/null\n\n Performance counter stats for \u0027ps\u0027:\n\n     4305.081146  task-clock-msecs         #      0.028 CPUs\n             480  context-switches         #      0.000 M/sec\n               2  CPU-migrations           #      0.000 M/sec\n             237  page-faults              #      0.000 M/sec\n      9021211334  cycles                   #   2095.480 M/sec\n     10605887536  instructions             #      1.176 IPC\n      3612650999  cache-references         #    839.160 M/sec\n        23917502  cache-misses             #      5.556 M/sec\n\n   152.277819582  seconds time elapsed\n\nThus, this patch revert it. Fortunately /proc/{pid}/task/{tid}/smaps\nprovide almost same information. we can use it.\n\nCommit d899bf7b introduced two features:\n\n 1) Add the annotattion of [thread stack: xxxx] mark to\n    /proc/{pid}/task/{tid}/maps.\n 2) Add StackUsage field to /proc/{pid}/status.\n\nI only revert (2), because I haven\u0027t seen (1) cause regression.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\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": "05b5d898235401c489c68e1f3bc5706a29ad5713",
      "tree": "2f8efc6ff1152ed53d297843891b6232a3e14eb1",
      "parents": [
        "3c8ad49b015eb115fbd6982f56d530f53cf57f84"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 06 18:03:36 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 11 13:06:41 2010 +0100"
      },
      "message": "quota: Fix dquot_transfer for filesystems different from ext4\n\nCommit fd8fbfc1 modified the way we find amount of reserved space\nbelonging to an inode. The amount of reserved space is checked\nfrom dquot_transfer and thus inode_reserved_space gets called\neven for filesystems that don\u0027t provide get_reserved_space callback\nwhich results in a BUG.\n\nFix the problem by checking get_reserved_space callback and return 0 if\nthe filesystem does not provide it.\n\nCC: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ba198098a21a5dc8885fddfb308135bc2f138003",
      "tree": "69202dabd5fd67b46da9ed8af230b8adb98c2b21",
      "parents": [
        "e412bdb1260d13ec5e7b90b537fec2179d6f8989"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:44:49 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 11 08:57:55 2010 +0000"
      },
      "message": "GFS2: Use MAX_LFS_FILESIZE for meta inode size\n\nUsing ~0ULL was cauing sign issues in filemap_fdatawrite_range, so\nuse MAX_LFS_FILESIZE instead.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fd45e4784164d1017521086524e3442318c67370",
      "tree": "aaaf8f524d4bf094f6debadc6e580f81038f4915",
      "parents": [
        "44e08c45cc14e6190a424be8d450070c8e508fad"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sat Jan 02 02:38:56 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Sun Jan 10 12:22:02 2010 -0600"
      },
      "message": "xfs: Ensure we force all busy extents in range to disk\n\nWhen we search for and find a busy extent during allocation we\nforce the log out to ensure the extent free transaction is on\ndisk before the allocation transaction. The current implementation\nhas a subtle bug in it--it does not handle multiple overlapping\nranges.\n\nThat is, if we free lots of little extents into a single\ncontiguous extent, then allocate the contiguous extent, the busy\nsearch code stops searching at the first extent it finds that\noverlaps the allocated range. It then uses the commit LSN of the\ntransaction to force the log out to.\n\nUnfortunately, the other busy ranges might have more recent\ncommit LSNs than the first busy extent that is found, and this\nresults in xfs_alloc_search_busy() returning before all the\nextent free transactions are on disk for the range being\nallocated. This can lead to potential metadata corruption or\nstale data exposure after a crash because log replay won\u0027t replay\nall the extent free transactions that cover the allocation range.\n\nModified-by: Alex Elder \u003caelder@sgi.com\u003e\n\n(Dropped the \"found\" argument from the xfs_alloc_busysearch trace\nevent.)\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "44e08c45cc14e6190a424be8d450070c8e508fad",
      "tree": "f0938a953d0bce87cade91ec753293c305925296",
      "parents": [
        "d6d59bada372bcf8bd36c3bbc71c485c29dd2a4b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Sat Jan 02 02:39:40 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Sun Jan 10 12:22:00 2010 -0600"
      },
      "message": "xfs: Don\u0027t flush stale inodes\n\nBecause inodes remain in cache much longer than inode buffers do\nunder memory pressure, we can get the situation where we have\nstale, dirty inodes being reclaimed but the backing storage has\nbeen freed.  Hence we should never, ever flush XFS_ISTALE inodes\nto disk as there is no guarantee that the backing buffer is in\ncache and still marked stale when the flush occurs.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d6d59bada372bcf8bd36c3bbc71c485c29dd2a4b",
      "tree": "140a4625597ffac953ce1d0dbbfed7caa436e053",
      "parents": [
        "ea9a48881e093a41a79305fb1545ca0794b203dc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Dec 23 16:09:13 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Sun Jan 10 12:21:58 2010 -0600"
      },
      "message": "xfs: fix timestamp handling in xfs_setattr\n\nWe currently have some rather odd code in xfs_setattr for\nupdating the a/c/mtime timestamps:\n\n - first we do a non-transaction update if all three are updated\n   together\n - second we implicitly update the ctime for various changes\n   instead of relying on the ATTR_CTIME flag\n - third we set the timestamps to the current time instead of the\n   arguments in the iattr structure in many cases.\n\nThis patch makes sure we update it in a consistent way:\n\n - always transactional\n - ctime is only updated if ATTR_CTIME is set or we do a size\n   update, which is a special case\n - always to the times passed in from the caller instead of the\n   current time\n\nThe only non-size caller of xfs_setattr that doesn\u0027t come from\nthe VFS is updated to set ATTR_CTIME and pass in a valid ctime\nvalue.\n\nReported-by: Eric Blake \u003cebb9@byu.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ea9a48881e093a41a79305fb1545ca0794b203dc",
      "tree": "b17a7fec50d6a1552190235470a24be2078c95ca",
      "parents": [
        "3c8ad49b015eb115fbd6982f56d530f53cf57f84"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Dec 21 14:03:03 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Sun Jan 10 12:21:56 2010 -0600"
      },
      "message": "xfs: use DECLARE_EVENT_CLASS\n\nUsing DECLARE_EVENT_CLASS allows us to to use trace event code\ninstead of duplicating it in the binary.  This was not available\nbefore 2.6.33 so it had to be done as a separate step once the\nprerequisite was merged.\n\nThis only requires changes to xfs_trace.h and the results are\nrather impressive:\n\nhch@brick:~/work/linux-2.6/obj-kvm$ size fs/xfs/xfs.o*\ntext\t   data\t    bss\t    dec\t    hex\tfilename\n 607732\t  41884\t   3616\t 653232\t  9f7b0\tfs/xfs/xfs.o\n1026732\t  41884\t   3808\t1072424\t 105d28\tfs/xfs/xfs.o.old\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "82062e7b50280bcf0feca70ac35a44f375602976",
      "tree": "0321bff42945768990a92c3770d4270497c0e8ee",
      "parents": [
        "dbd6a7cfead4fa2d7ad3fefe47168fcb146ac5ba",
        "31370f62baa1460b785cee9944bdcaf63d19e567"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 14:03:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 14:03:55 2010 -0800"
      },
      "message": "Merge branch \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks\n  reiserfs: Fix unreachable statement\n  reiserfs: Don\u0027t call reiserfs_get_acl() with the reiserfs lock\n  reiserfs: Relax lock on xattr removing\n  reiserfs: Relax the lock before truncating pages\n  reiserfs: Fix recursive lock on lchown\n  reiserfs: Fix mistake in down_write() conversion\n"
    },
    {
      "commit": "dbd6a7cfead4fa2d7ad3fefe47168fcb146ac5ba",
      "tree": "826ac108e6da2b23edbd6dcd9dc126a2ccbbf1c9",
      "parents": [
        "d86527ddcab4684d1a051b5f35f023b4374b1271",
        "a539bd8c86549b545b4ed27a0cfaf53fe649054d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:57:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:57:32 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: kill some warnings on i386 builds\n"
    },
    {
      "commit": "e2b6d02cca533715d6be40fdfc32d3cc47333358",
      "tree": "0b5acc01e1d464f4bd9c133f7cee0de3df7cbc61",
      "parents": [
        "9035a6450d124a7787e5e3272b630a79d201555f",
        "56335936de1a41c8978fde62b2158af77ddc7258"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:55:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 08 13:55:14 2010 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  nfs: fix oops in nfs_rename()\n  sunrpc: fix build-time warning\n  sunrpc: on successful gss error pipe write, don\u0027t return error\n  SUNRPC: Fix the return value in gss_import_sec_context()\n  SUNRPC: Fix up an error return value in gss_import_sec_context_kerberos()\n"
    },
    {
      "commit": "a539bd8c86549b545b4ed27a0cfaf53fe649054d",
      "tree": "b31f3a00cc96147e3872534ba0d713f828f89f5b",
      "parents": [
        "74d2e4f8d79ae0c4b6ec027958d5b18058662eea"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Dec 17 00:20:07 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 08 13:32:29 2010 -0600"
      },
      "message": "xfs: kill some warnings on i386 builds\n\nRandy Dunlap Reported printk() format-related warnings reported\non i386 builds in his environment.  Dave Chinner provided this\npatch to eliminate them.\n\nSigned-off by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e412bdb1260d13ec5e7b90b537fec2179d6f8989",
      "tree": "cf0a89cfefd556c414c5b4a1f47b71ad7218865a",
      "parents": [
        "24b977b5fdea09bf356428870d32c09a275c8a3e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Dec 21 13:55:28 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:59 2010 +0000"
      },
      "message": "GFS2: Fix gfs2_xattr_acl_chmod()\n\nThe ref counting for the bh returned by gfs2_ea_find() was\nwrong. This patch ensures that we always drop the ref count\nto that bh correctly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "24b977b5fdea09bf356428870d32c09a275c8a3e",
      "tree": "60b93ab4d8ac034952d658a35057d5e729bd331a",
      "parents": [
        "56aa616a03feca630d5afce647367a5d8cfc67b8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Dec 09 13:55:12 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:42 2010 +0000"
      },
      "message": "GFS2: Fix locking bug in rename\n\nThe rename code was taking a resource group lock in cases where\nit wasn\u0027t actually needed, this caused problems if the rename\nwas resulting in an inode being unlinked. The patch ensures that\nwe only take the rgrp lock early if it is really needed.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "56aa616a03feca630d5afce647367a5d8cfc67b8",
      "tree": "a4b4feb0d2ac0f329b98748445adb90a6458a2e9",
      "parents": [
        "74d2e4f8d79ae0c4b6ec027958d5b18058662eea"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 08 10:25:33 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:27 2010 +0000"
      },
      "message": "GFS2: Ensure uptodate inode size when using O_APPEND\n\nThe VFS reads the inode size during generic_file_aio_write() but\nwith no locking around it. In order to get the expected result\nfrom O_APPEND opens, this patch updated the inode size before\ncalling generic_file_aio_write()\n\nThere is of course still a race here, in that there is nothing to\nprevent another node coming in and extending the file in the\nmean time. On the other hand, when used with file locking this\nwill ensure that the expected results are obtained.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "31370f62baa1460b785cee9944bdcaf63d19e567",
      "tree": "cc3846f1a623366c61c4f16860f4ed62c68ea03f",
      "parents": [
        "e0baec1b63632f25ea8101b76edaca0accc061ec"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 15:55:31 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 16:02:53 2010 +0100"
      },
      "message": "reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks\n\nFix remaining xattr locks acquired in reiserfs_xattr_set_handle()\nwhile we are holding the reiserfs lock to avoid lock inversions.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0baec1b63632f25ea8101b76edaca0accc061ec",
      "tree": "d4395fde34e5c1d714c14e17ffe38f280ebadb0f",
      "parents": [
        "6c28705418de012216161b14a2ff1dda3da3d786"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Jan 06 23:09:50 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 14:03:18 2010 +0100"
      },
      "message": "reiserfs: Fix unreachable statement\n\nStanse found an unreachable statement in reiserfs_ioctl. There is a\nif followed by error assignment and `break\u0027 with no braces. Add the\nbraces so that we don\u0027t break every time, but only in error case,\nso that REISERFS_IOC_SETVERSION actually works when it returns no\nerror.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Reiserfs \u003creiserfs-devel@vger.kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6c28705418de012216161b14a2ff1dda3da3d786",
      "tree": "f9765f8ef8dc55a61ba354fb2516a4d172ef4591",
      "parents": [
        "4f3be1b5a98587b86cae05aa5d129dd0b3fff466"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 12:57:47 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jan 07 13:46:48 2010 +0100"
      },
      "message": "reiserfs: Don\u0027t call reiserfs_get_acl() with the reiserfs lock\n\nreiserfs_get_acl is usually not called under the reiserfs lock,\nas it doesn\u0027t need it. But it happens when it is called by\nreiserfs_acl_chmod(), which creates a dependency inversion against\nthe private xattr inodes mutexes for the given inode.\n\nWe need to call it without the reiserfs lock, especially since\nit\u0027s unnecessary.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christian Kujau \u003clists@nerdbynature.de\u003e\nCc: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04e4f2b18c8de1389d1e00fef0f42a8099910daf",
      "tree": "cd1ae20d055552a7ea9b9a21ee01a052589a66f5",
      "parents": [
        "93939f4e5df30e6229a0b5257fdcaf3faf88471c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Jan 06 17:23:17 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:16:02 2010 -0800"
      },
      "message": "FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack\n\nThe current code will load the stack size and protection markings, but\nthen only use the markings in the MMU code path.  The NOMMU code path\nalways passes PROT_EXEC to the mmap() call.  While this doesn\u0027t matter\nto most people whilst the code is running, it will cause a pointless\nicache flush when starting every FDPIC application.  Typically this\nicache flush will be of a region on the order of 128KB in size, or may\nbe the entire icache, depending on the facilities available on the CPU.\n\nIn the case where the arch default behaviour seems to be desired\n(EXSTACK_DEFAULT), we probe VM_STACK_FLAGS for VM_EXEC to determine\nwhether we should be setting PROT_EXEC or not.\n\nFor arches that support an MPU (Memory Protection Unit - an MMU without\nthe virtual mapping capability), setting PROT_EXEC or not will make an\nimportant difference.\n\nIt should be noted that this change also affects the executability of\nthe brk region, since ELF-FDPIC has that share with the stack.  However,\nthis is probably irrelevant as NOMMU programs aren\u0027t likely to use the\nbrk region, preferring instead allocation via mmap().\n\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": "93939f4e5df30e6229a0b5257fdcaf3faf88471c",
      "tree": "f30acb3e4a35ea96b342f3b1dd25700e7b531def",
      "parents": [
        "b1c0ec8966fa79891b796f58bf2bda1026ca5566",
        "b292cf9ce70d221c3f04ff62db5ab13d9a249ca8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:10:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 18:10:15 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux:\n  sunrpc: fix peername failed on closed listener\n  nfsd: make sure data is on disk before calling -\u003efsync\n  nfsd: fix \"insecure\" export option\n"
    },
    {
      "commit": "56335936de1a41c8978fde62b2158af77ddc7258",
      "tree": "f0061bef629a1c6a14e08f1b660b3beca0adc7cd",
      "parents": [
        "6c8530993e1fdf1d6af0403e796fe14d80b4b097"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 06 18:48:26 2010 -0500"
      },
      "message": "nfs: fix oops in nfs_rename()\n\nRecent change is missing to update \"rehash\".  With that change, it will\nbecome the cause of adding dentry to hash twice.\n\nThis explains the reason of Oops (dereference the freed dentry in\n__d_lookup()) on my machine.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nReported-by: Marvin \u003cmarvin24@gmx.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7211a4e859ad070b28545c06e0a6cb60b3b8aa31",
      "tree": "2a769132446f73cf593661428e68d7086168a5b2",
      "parents": [
        "f69ac2f5a36948e1adf071074414c5d1907b89b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Dec 25 17:44:45 2009 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 06 17:37:26 2010 -0500"
      },
      "message": "nfsd: make sure data is on disk before calling -\u003efsync\n\nnfsd is not using vfs_fsync, so I missed it when changing the calling\nconvention during the 2.6.32 window.  This patch fixes it to not only\nstart the data writeout, but also wait for it to complete before calling\ninto -\u003efsync.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c6f7afaeeda5b3c42ea8d7b27e197d223a04675e",
      "tree": "9a86bc9593ef8219bfc469e277d1b327f38aed9e",
      "parents": [
        "34e2fde8a496cf9d7c184ef12eafd3dd854586f1",
        "efd124b999fb4d426b30675f1684521af0872789"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 01:41:07 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 06 01:41:07 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: simple_write_end does not mark_inode_dirty\n  exofs: fix pnfs_osd re-definitions in pre-pnfs trees\n"
    },
    {
      "commit": "6307daad8496f5807a2ef60cbada55fe3b59c44e",
      "tree": "fc2e3a56f89c445415fff1e9ce18312f7392b5b4",
      "parents": [
        "f843b0fcc70094d87fea8c7004937388c316ea7a",
        "86470e98cc52532006f47a6cb96d3ebe1ba7ad97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 05 16:01:04 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 05 16:01:04 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Handle O_DIRECT when writing to a refcounted cluster.\n"
    }
  ],
  "next": "efd124b999fb4d426b30675f1684521af0872789"
}
