)]}'
{
  "log": [
    {
      "commit": "d4116f820496ae3af5225d09450edc7791df0045",
      "tree": "54205739d4e65788757882fdda5dbd9687d93966",
      "parents": [
        "608221fdf9a2170962295dcfbea53dc5c50d1a74",
        "4c3da2209b1261af9a948b7509a38904c8eee554"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:57:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:57:39 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n"
    },
    {
      "commit": "411094acb70f171a111710cf32031c749ffdd28c",
      "tree": "c3e23af4b6a9ac242da85861d59268a8e8812114",
      "parents": [
        "8fcf4e5a572af520580b14abd9017760e6fcdada",
        "89240ba059ca468ae7a8346edf7f95082458c2fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:54:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:54:08 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, fs: Fix x86 procfs stack information for threads on 64-bit\n  x86: Add reboot quirk for 3 series Mac mini\n  x86: Fix printk message typo in mtrr cleanup code\n  dma-debug: Fix compile warning with PAE enabled\n  x86/amd-iommu: Un__init function required on shutdown\n  x86/amd-iommu: Workaround for erratum 63\n"
    },
    {
      "commit": "4c3da2209b1261af9a948b7509a38904c8eee554",
      "tree": "74e2f113f8a40885b0df4858a3ba19f4747086a1",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 04 02:50:06 2009 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Nov 05 08:19:18 2009 +1100"
      },
      "message": "sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n\nWhile refreshing my sysfs patches I noticed a leak in the secdata\nimplementation.  We don\u0027t free the secdata when we free the\nsysfs dirent.\n\nThis is a bug in 2.6.32-rc5 that we really should close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "89240ba059ca468ae7a8346edf7f95082458c2fc",
      "tree": "a16b4ce794572d256f568e41fe9ccfc10c35ff39",
      "parents": [
        "1d87cff407ceddf0bc4e825949a4b1bf645418bd"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Nov 03 10:22:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 13:25:03 2009 +0100"
      },
      "message": "x86, fs: Fix x86 procfs stack information for threads on 64-bit\n\nThis patch fixes two issues in the procfs stack information on\nx86-64 linux.\n\nThe 32 bit loader compat_do_execve did not store stack\nstart. (this was figured out by Alexey Dobriyan).\n\nThe stack information on a x64_64 kernel always shows 0 kbyte\nstack usage, because of a missing implementation of the KSTK_ESP\nmacro which always returned -1.\n\nThe new implementation now returns the right value.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c1257240160.4889.24.camel@wall-e\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51bb296b09a83ee1aae025778db38f9d2cc7bb1a",
      "tree": "739f445b953aa77e82a429fe3a939d0b4cb3d222",
      "parents": [
        "dc79d2f21a2dc19df26f0cb0b46be2d6241b627b",
        "4b27e1bb442e964903f8a3fa6bdf33a602dc0941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 18:16:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: limit coop preemption\n  cfq-iosched: fix bad return value cfq_should_preempt()\n  backing-dev: bdi sb prune should be in the unregister path, not destroy\n  Fix bio_alloc() and bio_kmalloc() documentation\n  bio_put(): add bio_clone() to the list of functions in the comment\n"
    },
    {
      "commit": "05b4358ad564d7a6a51b3717afe771d36711e9c4",
      "tree": "ad8473aadd4a8f8e25aa40bf1bef8f16f7490d83",
      "parents": [
        "aeda7f6343e6375a832e52ff5ed389c115023ca5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 01:20:35 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:32:03 2009 +0900"
      },
      "message": "nilfs2: add zero-fill for new btree node buffers\n\nAdds missing initialization of newly allocated b-tree node buffers.\nThis avoids garbage data to be mixed in b-tree node blocks.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "aeda7f6343e6375a832e52ff5ed389c115023ca5",
      "tree": "2543be730f7fff44e23fbe302108afa0093cc643",
      "parents": [
        "b1e19e5601277845b4f17ecd7c9ba04f73ee11aa"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Nov 02 15:08:13 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:32:03 2009 +0900"
      },
      "message": "nilfs2: fix irregular checkpoint creation due to data flush\n\nWhen nilfs flushes out dirty data to reduce memory pressure, creation\nof checkpoints is wrongly postponed.  This bug causes irregular\ncheckpoint creation especially in small footprint systems.\n\nTo correct this issue, a timer for the checkpoint creation has to be\ncontinued if a log writer does not create a checkpoint.\n\nThis will do the correction.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b1e19e5601277845b4f17ecd7c9ba04f73ee11aa",
      "tree": "bdc23c9fcc4bfe58787b63e9c739c0692b79dc4d",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 00:25:53 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:31:36 2009 +0900"
      },
      "message": "nilfs2: fix dirty page accounting leak causing hang at write\n\nBruno Prémont and Dunphy, Bill noticed me that NILFS will certainly\nhang on ARM-based targets.\n\nI found this was caused by an underflow of dirty pages counter.  A\nb-tree cache routine was marking page dirty without adjusting page\naccount information.\n\nThis fixes the dirty page accounting leak and resolves the hang on\narm-based targets.\n\nReported-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nReported-by: Dunphy, Bill \u003cWDunphy@tandbergdata.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
      "tree": "24ebf7cfd598dfef82247044fb3b65110fe22fc8",
      "parents": [
        "333a07437c31ea8c16a2b82071629a540ae1e50f",
        "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix readdir corner cases\n  9p: fix readlink\n  9p: fix a small bug in readdir for long directories\n"
    },
    {
      "commit": "d4da6c9ccf648f3f1cb5bf9d981a62c253d30e28",
      "tree": "709f8bdc50a3a1d47632047eb3670b4a4a6ff045",
      "parents": [
        "c35102c3e15f90fe604523a2fbffd9dc158b455a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "message": "Revert \"ext4: Remove journal_checksum mount option and enable it by default\"\n\nThis reverts commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7, as\nrequested by Eric Sandeen.\n\nIt can basically cause an ext4 filesystem to miss recovery (and thus get\nmounted with errors) if the journal checksum does not match.\n\nQuoth Eric:\n\n   \"My hand-wavy hunch about what is happening is that we\u0027re finding a\n    bad checksum on the last partially-written transaction, which is\n    not surprising, but if we have a wrapped log and we\u0027re doing the\n    initial scan for head/tail, and we abort scanning on that bad\n    checksum, then we are essentially running an unrecovered filesystem.\n\n    But that\u0027s hand-wavy and I need to go look at the code.\n\n    We lived without journal checksums on by default until now, and at\n    this point they\u0027re doing more harm than good, so we should revert\n    the default-changing commit until we can fix it and do some good\n    power-fail testing with the fixes in place.\"\n\nSee\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14354\n\nfor all the gory details.\n\nRequested-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Mathias Burén \u003cmathias.buren@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a",
      "tree": "80bddc0f5d36a589db5a77b9b60e4c94c75994ed",
      "parents": [
        "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:39:28 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readdir corner cases\n\nThe patch below also addresses a couple of other corner cases in readdir\nseen with a large (e.g. 64k) msize.  I\u0027m not sure what people think of\nmy co-opting of fid-\u003eaux here.  I\u0027d be happy to rework if there\u0027s a better\nway.\n\nWhen the size of the user supplied buffer passed to readdir is smaller\nthan the data returned in one go by the 9P read request, v9fs_dir_readdir()\ncurrently discards extra data so that, on the next call, a 9P read\nrequest will be issued with offset \u003c previous offset + bytes returned,\nwhich voilates the constraint described in paragraph 3 of read(5) description.\nThis patch preseves the leftover data in fid-\u003eaux for use in the next call.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f",
      "tree": "70fff7f686a9c6c956146e39f656412715d40996",
      "parents": [
        "f91b90993f0d286be89f06c2f547ced8cfe291c6"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:34 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readlink\n\nI do not know if you\u0027ve looked on the patch, but unfortunately it is\nincorrect. A suggested better version is in this email (the old\nversion didn\u0027t work in case the user provided buffer was not long\nenough - it incorrectly appended null byte on a position of last char,\nand thus broke the contract of the readlink method). However, I\u0027m\nstill not sure this is 100% correct thing to do, I think readlink is\nsupposed to return buffer without last null byte in all cases, but we\ndo return last null byte (even the old version).. on the other hand it\nis likely unspecified what is in the remaining part of the buffer, so\nnull character may be fine there ;):\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "f91b90993f0d286be89f06c2f547ced8cfe291c6",
      "tree": "556667dabcd184b7713101c3bb456142fc645642",
      "parents": [
        "b6727b12dd2ffb4a890eb5b13a298230c29ba45d"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Mon Nov 02 08:39:35 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:44 2009 -0600"
      },
      "message": "9p: fix a small bug in readdir for long directories\n\nHere is a proposed patch for bug in readdir. Listing of dirs with\nmany files fails without this patch.\n\nSigned-off-by: Martin Stava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "5f04eeb8a76521dec371ceb05e8263889a8af2bc",
      "tree": "ec69a41f4e6258994aee7720bdee645ad569bc73",
      "parents": [
        "ad0bf11070ebb3c95f8ce82e6219dbd79c8e8b69"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Nov 02 11:39:42 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 02 11:41:13 2009 +0100"
      },
      "message": "Fix bio_alloc() and bio_kmalloc() documentation\n\nCommit 451a9ebf accidentally broke bio_alloc() and bio_kmalloc() comments by\n(almost) swapping them.\n\nThis patch fixes that, by placing the comments in the right place.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad0bf11070ebb3c95f8ce82e6219dbd79c8e8b69",
      "tree": "a26200377bc006a0a12f33d232ed0e19b87eb618",
      "parents": [
        "b6727b12dd2ffb4a890eb5b13a298230c29ba45d"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Nov 02 11:39:22 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 02 11:39:22 2009 +0100"
      },
      "message": "bio_put(): add bio_clone() to the list of functions in the comment\n\nIn bio_put()\u0027s comment, add bio_clone() to the list of functions that can\ngive you a bio reference.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a80a66caf8110fc33af8013353fe0da0ae553a13",
      "tree": "35cf3ba9ccba371b2e2752cd5cbfc8c3a428f1ea",
      "parents": [
        "bf699c9bac124f0a095d8ef06f2d6b219300a822",
        "c7ff91d722e44c98504e6e2c357b47e1988dfbbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 31 12:12:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 31 12:12:49 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs:\n  xfs: fix xfs_quota remove error\n  xfs: free temporary cursor in xfs_dialloc\n"
    },
    {
      "commit": "c7ff91d722e44c98504e6e2c357b47e1988dfbbd",
      "tree": "ce00b608165eab1f4f647eaed997824992b43664",
      "parents": [
        "3b826386d376e5545d2e92b2da5ebd965cafae97"
      ],
      "author": {
        "name": "Ryota Yamauchi",
        "email": "r-yamauchi@vf.jp.nec.com",
        "time": "Fri Oct 30 09:27:44 2009 +0100"
      },
      "committer": {
        "name": "hch@lst.de",
        "email": "Christoph Hellwig",
        "time": "Fri Oct 30 09:27:44 2009 +0100"
      },
      "message": "xfs: fix xfs_quota remove error\n\nThe xfs_quota returns ENOSYS when remove command is executed.\nReproducable with following steps.\n\n    # mount -t xfs -o uquota /dev/sda7 /mnt/mp1\n    # xfs_quota -x -c off -c remove\n    XFS_QUOTARM: Function not implemented.\n\nThe remove command is allowed during quotaoff, but xfs_fs_set_xstate()\nchecks whether quota is running, and it leads to ENOSYS.\n\nTo solve this problem, add a check for X_QUOTARM.\n\nSigned-off-by: Ryota Yamauchi \u003cr-yamauchi@vf.jp.nec.com\u003e\nSigned-off-by: Utako Kusaka \u003cu-kusaka@wm.jp.nec.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3b826386d376e5545d2e92b2da5ebd965cafae97",
      "tree": "50c017ab5f90a70878291b33c331004b36437cce",
      "parents": [
        "ba313e68facf190317d8db3afdc0f0028c963a96"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Oct 30 09:27:07 2009 +0100"
      },
      "committer": {
        "name": "hch@lst.de",
        "email": "Christoph Hellwig",
        "time": "Fri Oct 30 09:27:07 2009 +0100"
      },
      "message": "xfs: free temporary cursor in xfs_dialloc\n\nCommit bd169565993b39b9b4b102cdac8b13e0a259ce2f seems\nto have a slight regression where this code path:\n\n    if (!--searchdistance) {\n        /*\n         * Not in range - save last search\n         * location and allocate a new inode\n         */\n        ...\n        goto newino;\n    }\n\ndoesn\u0027t free the temporary cursor (tcur) that got dup\u0027d in\nthis function.\n\nThis leaks an item in the xfs_btree_cur zone, and it\u0027s caught\non module unload:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nBUG xfs_btree_cur: Objects remaining on kmem_cache_close()\n-----------------------------------------------------------\n\nIt seems like maybe a single free at the end of the function might\nbe cleaner, but for now put a del_cursor right in this code block\nsimilar to the handling in the rest of the function.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "68e71d1902a820c9bc7a5a6c23260841caafff33",
      "tree": "a9ba52bdfef99e7bdc5f8623772d76789f7b7c8b",
      "parents": [
        "066455d471e997adbcc98dda62eaf461e8b6556e",
        "592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:17:19 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  backing-dev: ensure that a removed bdi no longer has super_block referencing it\n  block: use after free bug in __blkdev_get\n  block: silently error unsupported empty barriers too\n"
    },
    {
      "commit": "0d43f5123d1456669b3bbc69854faf6fd5b14caa",
      "tree": "e69d4418d579e55a004c2263ac49a46aac161a54",
      "parents": [
        "fb3165b59f9ce510fed07262db20fdb799f88fa6",
        "ffb4a73d8906f71910e6c83ec2b499e70025ee8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:07:15 2009 -0700"
      },
      "message": "Merge branch \u0027sh/for-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  sh: Fix hugetlbfs dependencies for SH-3 \u0026\u0026 MMU configurations.\n  sh: Document uImage.bin target in archhelp.\n  sh: add uImage.bin target\n  sh: rsk7203 CONFIG_MTD\u003dn fix\n  sh: Check for return_to_handler when unwinding the stack\n  sh: Build fix: define more __movmem* symbols\n  sh: __irq_entry annotate do_IRQ().\n\nFix up sh/powerpc conflicts in fs/Kconfig\n"
    },
    {
      "commit": "fb3165b59f9ce510fed07262db20fdb799f88fa6",
      "tree": "b71c9798f79d12a49ee58e059112b3479c15a816",
      "parents": [
        "36f8a53ff2626dbfc3c0a809fe1d2290937ddc96",
        "9a3936aac133037f65124fcb2d676a6c201a90a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:24 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: The link() operation should return any delegation on the file\n  NFSv4: Fix two unbalanced put_rpccred() issues.\n  NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE\n  nfs: Panic when commit fails\n"
    },
    {
      "commit": "36f8a53ff2626dbfc3c0a809fe1d2290937ddc96",
      "tree": "be3d72d55e4bc39a40c55b33e60ba4d942b48367",
      "parents": [
        "575c9ed7798218dc923f319c0d78f0c25ca506b9",
        "8347a5cdd1422eea0470ed586274c7f29e274b47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:02:01 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fixing to avoid invalid kfree() in cifs_get_tcp_session()\n"
    },
    {
      "commit": "0a53f1693cb956ebd8ba0a9acca6adb2dcb99d5f",
      "tree": "c5028752d115e4cebd90864ffd99c2564bc7e12b",
      "parents": [
        "7fecf0a1f2f0dc334d41f1044198fb5aa6be1905",
        "40578fca24e7f777f3da7a693b030ae28ef7e486"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:59:06 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule\n  powerpc: Minor cleanup to lib/Kconfig.debug\n  powerpc: Minor cleanup to sound/ppc/Kconfig\n  powerpc: Minor cleanup to init/Kconfig\n  powerpc: Limit memory hotplug support to PPC64 Book-3S machines\n  powerpc: Limit hugetlbfs support to PPC64 Book-3S machines\n  powerpc: Fix compile errors found by new ppc64e_defconfig\n  powerpc: Add a Book-3E 64-bit defconfig\n  powerpc/booke: Fix xmon single step on PowerPC Book-E\n  powerpc: Align vDSO base address\n  powerpc: Fix segment mapping in vdso32\n  powerpc/iseries: Remove compiler version dependent hack\n  powerpc/perf_events: Fix priority of MSR HV vs PR bits\n  powerpc/5200: Update defconfigs\n  drivers/serial/mpc52xx_uart.c: Use UPIO_MEM rather than SERIAL_IO_MEM\n  powerpc/boot/dts: drop obsolete \u0027fsl5200-clocking\u0027\n  of: Remove nested function\n  mpc5200: support for the MAN mpc5200 based board mucmc52\n  mpc5200: support for the MAN mpc5200 based board uc101\n"
    },
    {
      "commit": "23756692147c5dfd3328afd42e16e9d943ff756c",
      "tree": "63dedb075b4ae9ef16553a7ddf053cddea4beb06",
      "parents": [
        "0b3dc0e9c8ed4f09605fa844081503bf752388b0",
        "05277c75f6dea8ecf59138cd1b6781fb54ae08bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:18:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:18:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix double IRELE in xfs_dqrele_inode\n"
    },
    {
      "commit": "47f365eb575735c6b2edf5d08e0d16d26a9c23bd",
      "tree": "3a6cbb4a7e6bbb9365c8092541a04d3ea1f77ce6",
      "parents": [
        "cf6e693212263d33c5882e4653df89a2fca4c0c4"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Oct 26 16:49:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:29 2009 -0700"
      },
      "message": "hfs: fix oops on mount with corrupted btree extent records\n\nA particular fsfuzzer run caused an hfs file system to crash on mount.\nThis is due to a corrupted MDB extent record causing a miscalculation of\nHFS_I(inode)-\u003efirst_blocks for the extent tree.  If the extent records are\nzereod out, it won\u0027t trigger the first_blocks special case.  Instead it\nfalls through to the extent code which we\u0027re still in the middle of\ninitializing.\n\nThis patch catches the 0 size extent records, reports the corruption, and\nfails the mount.\n\nReported-by: Ramon de Carvalho Valle \u003crcvalle@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c36fe3d87b3f0c85894a49193c66096a3d6b26f",
      "tree": "8c2953fe31004115794e7834cfbc7136186aca5c",
      "parents": [
        "b5654f5e7fc414a6e69b3647db2b043257c9e62e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 26 16:49:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "hfsplus: refuse to mount volumes larger than 2TB\n\nAs found in \u003chttp://bugs.debian.org/550010\u003e, hfsplus is using type u32\nrather than sector_t for some sector number calculations.\n\nIn particular, hfsplus_get_block() does:\n\n        u32 ablock, dblock, mask;\n...\n        map_bh(bh_result, sb, (dblock \u003c\u003c HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock \u0026 mask));\n\nI am not confident that I can find and fix all cases where a sector number\nmay be truncated.  For now, avoid data loss by refusing to mount HFS+\nvolumes with more than 2^32 sectors (2TB).\n\n[akpm@linux-foundation.org: fix 32 and 64-bit issues]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "370c28def65b3a5765192753a164403619b41d01",
      "tree": "cb77542b92402cdd3aec14d01597fe04bd19b44b",
      "parents": [
        "92f7ba70eecf4da8264a767b181cc2090f62d4ad"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Oct 26 16:49:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "hwpoison: fix/proc/meminfo alignment\n\nGiven such a long name, the kB count in /proc/meminfo\u0027s HardwareCorrupted\nline is being shown too far right (it does align with x86_64\u0027s VmallocChunk\nabove, but I hope nobody will ever have that much corrupted!).  Align it.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0cd9ad73b8d181737005ff4e506b9b6bd043f4dd",
      "tree": "1bcd239e6740b2db824f7fd2d60fb946bb9d3822",
      "parents": [
        "ce7a35c73a308c62f9f0ca9f0821ebe0dc553008"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Oct 16 07:21:35 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Oct 27 16:42:41 2009 +1100"
      },
      "message": "powerpc: Limit hugetlbfs support to PPC64 Book-3S machines\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ffb4a73d8906f71910e6c83ec2b499e70025ee8e",
      "tree": "d63a6a36f73536f710cc8e8ce7294ce79f07d53e",
      "parents": [
        "a5c461bb3f74646d99464652cd5363e88434c3e1"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Oct 27 07:22:37 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue Oct 27 07:22:37 2009 +0900"
      },
      "message": "sh: Fix hugetlbfs dependencies for SH-3 \u0026\u0026 MMU configurations.\n\nThe hugetlb dependencies presently depend on SUPERH \u0026\u0026 MMU while the\nhugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This\nunfortunately allows SH-3 + MMU configurations to enable hugetlbfs\nwithout a corresponding HPAGE_SHIFT definition, resulting in the build\nblowing up.\n\nAs SH-3 doesn\u0027t support variable page sizes, we tighten up the\ndependenies a bit to prevent hugetlbfs from being enabled. These days\nwe also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using\nthat rather than adding to the list of corner cases in fs/Kconfig.\n\nReported-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "960cc0f4fef607baabc2232fbd7cce5368a9dcfd",
      "tree": "5920396618a0c1cf406b999d2cf5b68eafcdd7e8",
      "parents": [
        "6cafb12dc85a5bdc722791cc5070968413264909"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 26 08:59:17 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 26 15:27:11 2009 +0100"
      },
      "message": "block: use after free bug in __blkdev_get\n\ncommit 0762b8bde9729f10f8e6249809660ff2ec3ad735\n(from 14 months ago) introduced a use-after-free bug which has just\nrecently started manifesting in my md testing.\nI tried git bisect to find out what caused the bug to start\nmanifesting, and it could have been the recent change to\nblk_unregister_queue (48c0d4d4c04) but the results were inconclusive.\n\nThis patch certainly fixes my symptoms and looks correct as the two\ncalls are now in the same order as elsewhere in that function.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9a3936aac133037f65124fcb2d676a6c201a90a4",
      "tree": "164fa366bf66e5596ff11d24daab4caf5266d27b",
      "parents": [
        "141aeb9f26f9f12f1584c128ce8697cdffb046e7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "message": "NFSv4: The link() operation should return any delegation on the file\n\nOtherwise, we have to wait for the server to recall it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "141aeb9f26f9f12f1584c128ce8697cdffb046e7",
      "tree": "295953858e8ddd265a1d3dae18266b1198c55132",
      "parents": [
        "52567b03ca38b6e556ced450d64dba8d66e23b0e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 26 08:09:46 2009 -0400"
      },
      "message": "NFSv4: Fix two unbalanced put_rpccred() issues.\n\nCommits 29fba38b (nfs41: lease renewal) and fc01cea9 (nfs41: sequence\noperation) introduce a couple of put_rpccred() calls on credentials for\nwhich there is no corresponding get_rpccred().\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d14249\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52567b03ca38b6e556ced450d64dba8d66e23b0e",
      "tree": "a08e14e2a8ab8c69e80eb5ea6208d473b1254582",
      "parents": [
        "a8b40bc7e635831b61c43acc71a86d3a68b2dff0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:46:42 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:46:42 2009 -0400"
      },
      "message": "NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE\n\nRFC 3530 states that when we recieve the error NFS4ERR_RESOURCE, we are not\nsupposed to bump the sequence number on OPEN, LOCK, LOCKU, CLOSE, etc\noperations. The problem is that we map that error into EREMOTEIO in the XDR\nlayer, and so the NFSv4 middle-layer routines like seqid_mutating_err(),\nand nfs_increment_seqid() don\u0027t recognise it.\n\nThe fix is to defer the mapping until after the middle layers have\nprocessed the error.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8b40bc7e635831b61c43acc71a86d3a68b2dff0",
      "tree": "8a91dcd2149f47d2a2b6f7b49d653dd168c908a8",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Terry Loftin",
        "email": "terry.loftin@hp.com",
        "time": "Thu Oct 22 21:36:01 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 23 14:16:30 2009 -0400"
      },
      "message": "nfs: Panic when commit fails\n\nActually pass the NFS_FILE_SYNC option to the server to avoid a\nPanic in nfs_direct_write_complete() when a commit fails.\n\nAt the end of an nfs write, if the nfs commit fails, all the writes\nwill be rescheduled.  They are supposed to be rescheduled as NFS_FILE_SYNC\nwrites, but the rpc_task structure is not completely intialized and so\nthe option is not passed.  When the rescheduled writes complete, the\nreturn indicates that they are NFS_UNSTABLE and we try to do another\ncommit.  This leads to a Panic because the commit data structure pointer\nwas set to null in the initial (failed) commit attempt.\n\nSigned-off-by: Terry Loftin \u003cterry.loftin@hp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d995053d045d777e78ba7eba71a6a0733f3aa726",
      "tree": "35cb9e017f55034534b3fdf944e6f263785c49ac",
      "parents": [
        "be8db0b843d4eef193e996c3e31aabf15b2d7004",
        "945526846a84c00adac1efd1c6befdaa77039623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  dnotify: ignore FS_EVENT_ON_CHILD\n  inotify: fix coalesce duplicate events into a single event in special case\n  inotify: deprecate the inotify kernel interface\n  fsnotify: do not set group for a mark before it is on the i_list\n"
    },
    {
      "commit": "4223a4a155f245d41c350ed9eba4fc32e965c4da",
      "tree": "521f5a2c9e3ae1e17415e93489da015b9b5b2c5d",
      "parents": [
        "ad3960243e55320d74195fb85c975e0a8cc4466c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Oct 20 14:13:46 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:15:23 2009 +0900"
      },
      "message": "nfs: Fix nfs_parse_mount_options() kfree() leak\n\nFix a (small) memory leak in one of the error paths of the NFS mount\noptions parsing code.\n\nRegression introduced in 2.6.30 by commit a67d18f (NFS: load the\nrpc/rdma transport module automatically).\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReported-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad3960243e55320d74195fb85c975e0a8cc4466c",
      "tree": "e17b79f2bc7a2fd76d8598fb0075f8c78cd5714a",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Earl Chew",
        "email": "earl_chew@agilent.com",
        "time": "Mon Oct 19 15:55:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:11:44 2009 +0900"
      },
      "message": "fs: pipe.c null pointer dereference\n\nThis patch fixes a null pointer exception in pipe_rdwr_open() which\ngenerates the stack trace:\n\n\u003e Unable to handle kernel NULL pointer dereference at 0000000000000028 RIP:\n\u003e  [\u003cffffffff802899a5\u003e] pipe_rdwr_open+0x35/0x70\n\u003e  [\u003cffffffff8028125c\u003e] __dentry_open+0x13c/0x230\n\u003e  [\u003cffffffff8028143d\u003e] do_filp_open+0x2d/0x40\n\u003e  [\u003cffffffff802814aa\u003e] do_sys_open+0x5a/0x100\n\u003e  [\u003cffffffff8021faf3\u003e] sysenter_do_call+0x1b/0x67\n\nThe failure mode is triggered by an attempt to open an anonymous\npipe via /proc/pid/fd/* as exemplified by this script:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nwhile : ; do\n   { echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } \u0026\n   PID\u003d$!\n   OUT\u003d$(ps -efl | grep \u0027sleep 1\u0027 | grep -v grep |\n        { read PID REST ; echo $PID; } )\n   OUT\u003d\"${OUT%% *}\"\n   DELAY\u003d$((RANDOM * 1000 / 32768))\n   usleep $((DELAY * 1000 + RANDOM % 1000 ))\n   echo n \u003e /proc/$OUT/fd/1                 # Trigger defect\ndone\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nNote that the failure window is quite small and I could only\nreliably reproduce the defect by inserting a small delay\nin pipe_rdwr_open(). For example:\n\n static int\n pipe_rdwr_open(struct inode *inode, struct file *filp)\n {\n       msleep(100);\n       mutex_lock(\u0026inode-\u003ei_mutex);\n\nAlthough the defect was observed in pipe_rdwr_open(), I think it\nmakes sense to replicate the change through all the pipe_*_open()\nfunctions.\n\nThe core of the change is to verify that inode-\u003ei_pipe has not\nbeen released before attempting to manipulate it. If inode-\u003ei_pipe\nis no longer present, return ENOENT to indicate so.\n\nThe comment about potentially using atomic_t for i_pipe-\u003ereaders\nand i_pipe-\u003ewriters has also been removed because it is no longer\nrelevant in this context. The inode-\u003ei_mutex lock must be used so\nthat inode-\u003ei_pipe can be dealt with correctly.\n\nSigned-off-by: Earl Chew \u003cearl_chew@agilent.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "945526846a84c00adac1efd1c6befdaa77039623",
      "tree": "36a3ca9188af8d1154af8684f541f3abbf2cd3c7",
      "parents": [
        "3de0ef4f2067da58fa5126d821a56dcb98cdb565"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Oct 15 00:13:23 2009 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Oct 20 18:02:33 2009 -0400"
      },
      "message": "dnotify: ignore FS_EVENT_ON_CHILD\n\nMask off FS_EVENT_ON_CHILD in dnotify_handle_event().  Otherwise, when there\nis more than one watch on a directory and dnotify_should_send_event()\nsucceeds, events with FS_EVENT_ON_CHILD set will trigger all watches and cause\nspurious events.\n\nThis case was overlooked in commit e42e2773.\n\n\t#define _GNU_SOURCE\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cstdlib.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csignal.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cfcntl.h\u003e\n\t#include \u003cstring.h\u003e\n\n\tstatic void create_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"create\\n\");\n\t}\n\n\tstatic void delete_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"delete\\n\");\n\t}\n\n\tint main (void) {\n\t\tstruct sigaction action;\n\t\tchar *tmpdir, *file;\n\t\tint fd1, fd2;\n\n\t\tsigemptyset (\u0026action.sa_mask);\n\t\taction.sa_flags \u003d SA_SIGINFO;\n\n\t\taction.sa_sigaction \u003d create_event;\n\t\tsigaction (SIGRTMIN + 0, \u0026action, NULL);\n\n\t\taction.sa_sigaction \u003d delete_event;\n\t\tsigaction (SIGRTMIN + 1, \u0026action, NULL);\n\n\t#\tdefine TMPDIR \"/tmp/test.XXXXXX\"\n\t\ttmpdir \u003d malloc(strlen(TMPDIR) + 1);\n\t\tstrcpy(tmpdir, TMPDIR);\n\t\tmkdtemp(tmpdir);\n\n\t#\tdefine TMPFILE \"/file\"\n\t\tfile \u003d malloc(strlen(tmpdir) + strlen(TMPFILE) + 1);\n\t\tsprintf(file, \"%s/%s\", tmpdir, TMPFILE);\n\n\t\tfd1 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd1, F_SETSIG, SIGRTMIN);\n\t\tfcntl(fd1, F_NOTIFY, DN_MULTISHOT | DN_CREATE);\n\n\t\tfd2 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd2, F_SETSIG, SIGRTMIN + 1);\n\t\tfcntl(fd2, F_NOTIFY, DN_MULTISHOT | DN_DELETE);\n\n\t\tif (fork()) {\n\t\t\t/* This triggers a create event */\n\t\t\tcreat(file, 0600);\n\t\t\t/* This triggers a create and delete event (!) */\n\t\t\tunlink(file);\n\t\t} else {\n\t\t\tsleep(1);\n\t\t\trmdir(tmpdir);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3de0ef4f2067da58fa5126d821a56dcb98cdb565",
      "tree": "d88103aaf3e5ed019afef5b11d4241ecf3eb1cea",
      "parents": [
        "cdc321ff0af78e818c97d4787f62bf52bdf9db2a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Oct 14 20:54:03 2009 +0800"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "inotify: fix coalesce duplicate events into a single event in special case\n\nIf we do rename a dir entry, like this:\n\n  rename(\"/tmp/ino7UrgoJ.rename1\", \"/tmp/ino7UrgoJ.rename2\")\n  rename(\"/tmp/ino7UrgoJ.rename2\", \"/tmp/ino7UrgoJ\")\n\nThe duplicate events should be coalesced into a single event. But those two\nevents do not be coalesced into a single event, due to some bad check in\nevent_compare(). It can not match the two NULL inodes as the same event.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9f0d793b52eb2266359661369ef6303838904855",
      "tree": "c884f59a4ad9ce50b033710d47894bc96c214a6c",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Sep 11 13:03:19 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "fsnotify: do not set group for a mark before it is on the i_list\n\nfsnotify_add_mark is supposed to add a mark to the g_list and i_list and to\nset the group and inode for the mark.  fsnotify_destroy_mark_by_entry uses\nthe fact that -\u003egroup !\u003d NULL to know if this group should be destroyed or\nif it\u0027s already been done.\n\nBut fsnotify_add_mark sets the group and inode before it actually adds the\nmark to the i_list and g_list.  This can result in a race in inotify, it\nrequires 3 threads.\n\nsys_inotify_add_watch(\"file\")\tsys_inotify_add_watch(\"file\")\tsys_inotify_rm_watch([a])\ninotify_update_watch()\ninotify_new_watch()\ninotify_add_to_idr()\n   ^--- returns wd \u003d [a]\n\t\t\t\tinotfiy_update_watch()\n\t\t\t\tinotify_new_watch()\n\t\t\t\tinotify_add_to_idr()\n\t\t\t\tfsnotify_add_mark()\n\t\t\t\t   ^--- returns wd \u003d [b]\n\t\t\t\treturns to userspace;\n\t\t\t\t\t\t\t\tinotify_idr_find([a])\n\t\t\t\t\t\t\t\t   ^--- gives us the pointer from task 1\nfsnotify_add_mark()\n   ^--- this is going to set the mark-\u003egroup and mark-\u003einode fields, but will\nreturn -EEXIST because of the race with [b].\n\t\t\t\t\t\t\t\tfsnotify_destroy_mark()\n\t\t\t\t\t\t\t\t   ^--- since -\u003egroup !\u003d NULL we call back\n\t\t\t\t\t\t\t\t\tinto inotify_freeing_mark() which calls\n\t\t\t\t\t\t\t\tinotify_remove_from_idr([a])\n\nsince fsnotify_add_mark() failed we call:\ninotify_remove_from_idr([a])     \u003c------WHOOPS it\u0027s not in the idr, this could\n\t\t\t\t\thave been any entry added later!\n\nThe fix is to make sure we don\u0027t set mark-\u003egroup until we are sure the mark is\non the inode and fsnotify_add_mark will return success.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8e7768d3f40d4ab79e6af58462e173cdbfad9cc6",
      "tree": "5f47b220e4232d6483fff490290f6491d34a2a74",
      "parents": [
        "36d6f3ecbd0bedfbda8b9f7c5fc36edb62a417ad",
        "6861f350785bf476c2d4e3b9cb69ee36b78df2fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix socket fd translation\n  dlm: fix lowcomms_connect_node for sctp\n"
    },
    {
      "commit": "dcbeb0bec5f2695c3ff53f174efb8e03c209f3f3",
      "tree": "30d223a3a3c7470c657284ef030657bd1753d4d3",
      "parents": [
        "2b650df2cea96e487f2fd9ecaa68e533ea9b5ed7",
        "444528b3e614f7f2391488d9bca8e0b872db909b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: always pin metadata in discard mode\n  Btrfs: enable discard support\n  Btrfs: add -o discard option\n  Btrfs: properly wait log writers during log sync\n  Btrfs: fix possible ENOSPC problems with truncate\n  Btrfs: fix btrfs acl #ifdef checks\n  Btrfs: streamline tree-log btree block writeout\n  Btrfs: avoid tree log commit when there are no changes\n  Btrfs: only write one super copy during fsync\n"
    },
    {
      "commit": "83db93f4de2d9ae441a491d1dc61c2204f0195de",
      "tree": "13fb296040c8284cf09f318923aa170212cc245d",
      "parents": [
        "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 15 16:05:51 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_notify_dirent to be called from interrupt context.\n\nsysfs_notify_dirent is a simple atomic operation that can be used to\nalert user-space that new data can be read from a sysfs attribute.\n\nUnfortunately it cannot currently be called from non-process context\nbecause of its use of spin_lock which is sometimes taken with\ninterrupts enabled.\n\nSo change all lockers of sysfs_open_dirent_lock to disable interrupts,\nthus making sysfs_notify_dirent safe to be called from non-process\ncontext (as drivers/md does in md_safemode_timeout).\n\nsysfs_get_open_dirent is (documented as being) only called from\nprocess context, so it uses spin_lock_irq.  Other places\nuse spin_lock_irqsave.\n\nThe usage for sysfs_notify_dirent in md_safemode_timeout was\nintroduced in 2.6.28, so this patch is suitable for that and more\nrecent kernels.\n\nReported-by: Joel Andres Granados \u003cjgranado@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "444528b3e614f7f2391488d9bca8e0b872db909b",
      "tree": "5326be87610ed3fc7a14d0f28e96e5e22207cf5f",
      "parents": [
        "0634857488ec6e28fa22920cd0bee3c2ac07ccfd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 09:38:28 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:50 2009 -0400"
      },
      "message": "Btrfs: always pin metadata in discard mode\n\nWe have an optimization in btrfs to allow blocks to be\nimmediately freed if they were allocated in this transaction and never\nwritten.  Otherwise they are pinned and freed when the transaction\ncommits.\n\nThis isn\u0027t optimal for discard mode because immediately freeing\nthem means immediately discarding them.  It is better to give the\nblock to the pinning code and letting the (slow) discard happen later.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0634857488ec6e28fa22920cd0bee3c2ac07ccfd",
      "tree": "6cfa348aea76f39b658d3a36ab51807a4ac7bcf7",
      "parents": [
        "e244a0aeb6a599c19a7c802cda6e2d67c847b154"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: enable discard support\n\nThe discard support code in btrfs currently is guarded by ifdefs for\nBIO_RW_DISCARD, which is never defines as it\u0027s the name of an enum\nmemeber.  Just remove the useless ifdefs to actually enable the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e244a0aeb6a599c19a7c802cda6e2d67c847b154",
      "tree": "392d8d48c4e6676a552230135ad448d522007ece",
      "parents": [
        "86df7eb921a009515285e7171363fa57dd2d7d31"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: add -o discard option\n\nEnable discard by default is not a good idea given the the trim speed\nof SSD prototypes we\u0027ve seen, and the carecteristics for many high-end\narrays.  Turn of discards by default and require the -o discard option\nto enable them on.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "86df7eb921a009515285e7171363fa57dd2d7d31",
      "tree": "884e8cda2535dc43cf57ce9fa273381b827d2f4f",
      "parents": [
        "5d5e103a70f74ae98e3965a4add1ab951d0651d1"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:48 2009 -0400"
      },
      "message": "Btrfs: properly wait log writers during log sync\n\nA recently fsync optimization make btrfs_sync_log skip calling\nwait_for_writer in the single log writer case. This is incorrect\nsince the writer count can also be increased by btrfs_pin_log.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5d5e103a70f74ae98e3965a4add1ab951d0651d1",
      "tree": "83b1cc73830f72f592aa804207a679912beef101",
      "parents": [
        "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Oct 13 16:46:49 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:47 2009 -0400"
      },
      "message": "Btrfs: fix possible ENOSPC problems with truncate\n\nThere\u0027s a problem where we don\u0027t do any space reservation for truncates, which\ncan cause you to OOPs because you will be allowed to go off in the weeds a bit\nsince we don\u0027t account for the delalloc bytes that are created as a result of\nthe truncate.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ba313e68facf190317d8db3afdc0f0028c963a96",
      "tree": "7bce97bc386f4359687238afae5840aa9e0161ee",
      "parents": [
        "e09d39968bd8befa087f10f970fa236e8694b643",
        "05277c75f6dea8ecf59138cd1b6781fb54ae08bd"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 15:47:22 2009 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 15:47:22 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://oss.sgi.com/oss/git/xfs/xfs into for-linus\n"
    },
    {
      "commit": "05277c75f6dea8ecf59138cd1b6781fb54ae08bd",
      "tree": "e61d1206c3201b306f4fadeb1a4fb2cdd55fa887",
      "parents": [
        "d0800703febc04827b8fa91921aa4e254d01e8d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 12 23:42:10 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 13 13:16:36 2009 -0500"
      },
      "message": "xfs: fix double IRELE in xfs_dqrele_inode\n\nxfs_dqrele_inode calls xfs_iput to release the ilock and a reference\nand then also calls IRELE which does a second decrement of the reference\ncount.  This leads to a premature freeing of inodes when quotas were turned\noff while the filesystem was mounted.\n\nThanks to Utako Kusaka for reporting the bug and provinding a good testcase.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Utako Kusaka \u003cu-kusaka@wm.jp.nec.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb",
      "tree": "478b0abfda753196fcb8842d002e5bb600051618",
      "parents": [
        "690587d109ffe19d6743e4cc80c18b0906b7f9ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:50:18 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:51:39 2009 -0400"
      },
      "message": "Btrfs: fix btrfs acl #ifdef checks\n\nThe btrfs acl code was #ifdefing for a define\nthat didn\u0027t exist.  This correctly matches it\nto the values used by the Kconfig file.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "690587d109ffe19d6743e4cc80c18b0906b7f9ff",
      "tree": "788acd32c4ed1463d0166d0c45b233d96bb102e0",
      "parents": [
        "257c62e1bce03e5b9f3f069fd52ad73a56de71fd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:29:19 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: streamline tree-log btree block writeout\n\nSyncing the tree log is a 3 phase operation.\n\n1) write and wait for all the tree log blocks for a given root.\n\n2) write and wait for all the tree log blocks for the\ntree of tree log roots.\n\n3) write and wait for the super blocks (barriers here)\n\nThis isn\u0027t as efficient as it could be because there is\nno requirement to wait for the blocks from step one to hit the disk\nbefore we start writing the blocks from step two.  This commit\nchanges the sequence so that we don\u0027t start waiting until\nall the tree blocks from both steps one and two have been sent\nto disk.\n\nWe do this by breaking up btrfs_write_wait_marked_extents into\ntwo functions, which is trivial because it was already broken\nup into two parts.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "257c62e1bce03e5b9f3f069fd52ad73a56de71fd",
      "tree": "ad047fe5796156aa88e3f3600111bf2b8d12759f",
      "parents": [
        "4722607db6a78bd7748c51fa4c8d7371da797254"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:21:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: avoid tree log commit when there are no changes\n\nrpm has a habit of running fdatasync when the file hasn\u0027t\nchanged.  We already detect if a file hasn\u0027t been changed\nin the current transaction but it might have been sent to\nthe tree-log in this transaction and not changed since\nthe last call to fsync.\n\nIn this case, we want to avoid a tree log sync, which includes\na number of synchronous writes and barriers.  This commit\nextends the existing tracking of the last transaction to change\na file to also track the last sub-transaction.\n\nThe end result is that rpm -ivh and -Uvh are roughly twice as fast,\nand on par with ext3.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4722607db6a78bd7748c51fa4c8d7371da797254",
      "tree": "83c483a3f55d3f024863e1e33c3ac123e688c868",
      "parents": [
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 12:55:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:11 2009 -0400"
      },
      "message": "Btrfs: only write one super copy during fsync\n\nDuring a tree-log commit for fsync, we\u0027ve been writing at least\ntwo copies of the super block and forcing them to disk.\n\nThe other filesystems write only one, and this change brings us on\npar with them.  A full transaction commit will write all the super\ncopies, so we still have redundant info written on a regular\nbasis.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "80f506918fdaaca6b574ba931536a58ce015c7be",
      "tree": "938bddf32e8c5dca114cb1a5f3ca2a62960accc8",
      "parents": [
        "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
        "2ec24ff1d1875defa742c76c9c7d74dca06b7e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cciss: Add cciss_allow_hpsa module parameter\n  cciss: Fix multiple calls to pci_release_regions\n  blk-settings: fix function parameter kernel-doc notation\n  writeback: kill space in debugfs item name\n  writeback: account IO throttling wait as iowait\n  elv_iosched_store(): fix strstrip() misuse\n  cfq-iosched: avoid probable slice overrun when idling\n  cfq-iosched: apply bool value where we return 0/1\n  cfq-iosched: fix think time allowed for seekers\n  cfq-iosched: fix the slice residual sign\n  cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n  block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n  block: Seperate read and write statistics of in_flight requests v2\n  block: get rid of kblock_schedule_delayed_work()\n  cfq-iosched: fix possible problem with jiffies wraparound\n  cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n"
    },
    {
      "commit": "96ec2e0a719fd61791dd2b0dd01325c5d20e1233",
      "tree": "b68be3b6d76ee13dbd80f4877c7b9e45b8926e02",
      "parents": [
        "2caa731819a633bec5a56736e64c562b7e193666"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 11:21:13 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Oct 13 00:06:43 2009 +0200"
      },
      "message": "ext3: Don\u0027t update superblock write time when filesystem is read-only\n\nThis avoids updating the superblock write time when we are mounting\nthe root file system read/only but we need to replay the journal; at\nthat point, for people who are east of GMT and who make their clock\ntick in localtime for Windows bug-for-bug compatibility, and this will\ncause e2fsck to complain and force a full file system check.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a1be9eee2996fd9969625e7b5e2f2bc2032fd3cb",
      "tree": "b2f9bd708207a4013605320487b480a3a1ba56f8",
      "parents": [
        "eea7e17e0eb23729d58368420659f8e7c357d82e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Oct 12 11:26:12 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 12 10:25:12 2009 -0700"
      },
      "message": "NFS: suppress a build warning\n\nstruct sockaddr_storage * can safely be used as struct sockaddr *.\nSuppress an \"incompatible pointer type\" warning.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef1f7a7e878e4ae37b3a78ebdeef9f911bae59df",
      "tree": "e73d6e0e852d370effdb9e6fb624e696321683ac",
      "parents": [
        "c6c599272374a358b4171d50ffd605e6cf7b481c"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Tue Oct 06 09:55:26 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:33:56 2009 -0700"
      },
      "message": "ROMFS: fix length used with romfs_dev_strnlen() function\n\nAn interestingly corrupted romfs file system exposed a problem with the\nromfs_dev_strnlen function: it\u0027s passing the wrong value to its helpers.\nRather than limit the string to the length passed in by the callers, it\nuses the size of the device as the limit.\n\nSigned-off-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "474a503d4bf77ae0cbe484dd0842a2648c0b1c28",
      "tree": "70e3e4023209e741546491a58622bd45fb13e308",
      "parents": [
        "d43c36dc6b357fa1806800f18aa30123c747a6d1",
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix file clone ioctl for bookend extents\n  Btrfs: fix uninit compiler warning in cow_file_range_nocow\n  Btrfs: constify dentry_operations\n  Btrfs: optimize back reference update during btrfs_drop_snapshot\n  Btrfs: remove negative dentry when deleting subvolumne\n  Btrfs: optimize fsync for the single writer case\n  Btrfs: async delalloc flushing under space pressure\n  Btrfs: release delalloc reservations on extent item insertion\n  Btrfs: delay clearing EXTENT_DELALLOC for compressed extents\n  Btrfs: cleanup extent_clear_unlock_delalloc flags\n  Btrfs: fix possible softlockup in the allocator\n  Btrfs: fix deadlock on async thread startup\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4047df09a1581284218cb378208a87eaa36f2d2c",
      "tree": "16e0f13b10d68f645b545a1c919714c66f75b863",
      "parents": [
        "a372bf8b6a12f23f68e716113ccaea4bf646dd0f",
        "36520be8e32b49bd85a63b7b8b40cd07c3da59a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ima: ecryptfs fix imbalance message\n  eCryptfs: Remove Kconfig NET dependency and select MD5\n  ecryptfs: depends on CRYPTO\n"
    },
    {
      "commit": "a372bf8b6a12f23f68e716113ccaea4bf646dd0f",
      "tree": "3852e11c78e5dea779f49e9a94288c8ac827e821",
      "parents": [
        "0d5d1aadc8e299874a6a014d65b6bb903b12424d",
        "e09d39968bd8befa087f10f970fa236e8694b643"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:29:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:29:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: stop calling filemap_fdatawait inside -\u003efsync\n  fix readahead calculations in xfs_dir2_leaf_getdents()\n  xfs: make sure xfs_sync_fsdata covers the log\n  xfs: mark inodes dirty before issuing I/O\n  xfs: cleanup -\u003esync_fs\n  xfs: fix xfs_quiesce_data\n  xfs: implement -\u003edirty_inode to fix timestamp handling\n"
    },
    {
      "commit": "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0",
      "tree": "8f0e073af940b1bdfb134b945a03a1b43b614352",
      "parents": [
        "e9061e214810c9534381a705a1b46533e09f2676"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 11:29:53 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 11:29:53 2009 -0400"
      },
      "message": "Btrfs: fix file clone ioctl for bookend extents\n\nThe file clone ioctl was incorrectly taking the offset into the\nextent on disk into account when calculating the length of the\ncloned extent.\n\nThe length never changes based on the offset into the physical extent.\n\nTest case:\n\nfallocate -l 1g image\nmke2fs image\nbcp image image2\ne2fsck -f image2\n\n(errors on image2)\n\nThe math bug ends up wrapping the length of the extent, and things\ngo wrong from there.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e9061e214810c9534381a705a1b46533e09f2676",
      "tree": "7eed17ffbfc2eeb06da70dafe8087855c4b22a60",
      "parents": [
        "82d339d9b3a6395f17d3253887653250b693b74b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:57:45 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:57:45 2009 -0400"
      },
      "message": "Btrfs: fix uninit compiler warning in cow_file_range_nocow\n\nThe extent_type variable was exposed uninit via a goto.  It should be\nimpossible to trigger because it is protected by a check on another\nvariable, but this makes sure.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "82d339d9b3a6395f17d3253887653250b693b74b",
      "tree": "04671df82289708192bd650c67eaa2f8a999132b",
      "parents": [
        "94fcca9f8999e7828d5f4dc181daa39cad2af38a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 09 09:54:36 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:54:36 2009 -0400"
      },
      "message": "Btrfs: constify dentry_operations\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "94fcca9f8999e7828d5f4dc181daa39cad2af38a",
      "tree": "68842517a4d10d080bc4f70abae19e480d2ac049",
      "parents": [
        "efefb1438be269897585934fc6c05deb4dfa01ce"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "message": "Btrfs: optimize back reference update during btrfs_drop_snapshot\n\nThis patch reading level 0 tree blocks that already use full backrefs.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "efefb1438be269897585934fc6c05deb4dfa01ce",
      "tree": "41d3bf63789bc656421dfbd651bf38caf580ec03",
      "parents": [
        "ff782e0a131c7f669445c07fe5c7ba91e043b7ed"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "message": "Btrfs: remove negative dentry when deleting subvolumne\n\nThe use of btrfs_dentry_delete is removing dentries from the\ndcache when deleting subvolumne. btrfs_dentry_delete ignores\nnegative dentries. This is incorrect since if we don\u0027t remove\nthe negative dentry, its parent dentry can\u0027t be removed.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "32b7a567c8d860b2d79067129ac2db4c4d2df3a0",
      "tree": "82c2ec3d29c66fd65fa5770fa126ae3ee86c4ae6",
      "parents": [
        "36a07902c2134649c4af7f07980413ffb1a56085",
        "3050141bae57984dd660e6861632ccf9b8bca77e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 14:15:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 14:15:19 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: Kill nfs4_renewd_prepare_shutdown()\n  NFSv4: Fix the referral mount code\n  nfs: Avoid overrun when copying client IP address string\n  NFS: Fix port initialisation in nfs_remount()\n  NFS: Fix port and mountport display in /proc/self/mountinfo\n  NFS: Fix a default mount regression...\n"
    },
    {
      "commit": "ff782e0a131c7f669445c07fe5c7ba91e043b7ed",
      "tree": "ff7773e6ce60bf977ed29897c13605f257647684",
      "parents": [
        "e3ccfa989752c083ceb23c823a84f7ce3a081e61"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 08 15:30:04 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:30:04 2009 -0400"
      },
      "message": "Btrfs: optimize fsync for the single writer case\n\nThis patch optimizes the tree logging stuff so it doesn\u0027t always wait 1 jiffie\nfor new people to join the logging transaction if there is only ever 1 writer.\nThis helps a little bit with latency where we have something like RPM where it\nwill fdatasync every file it writes, and so waiting the 1 jiffie for every\nfdatasync really starts to add up.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e3ccfa989752c083ceb23c823a84f7ce3a081e61",
      "tree": "197558cbee7b773b8270cd861f882a37beacd2ed",
      "parents": [
        "32c00aff718bb54a214b39146bdd9ac01511cd25"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Oct 07 20:44:34 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:21:23 2009 -0400"
      },
      "message": "Btrfs: async delalloc flushing under space pressure\n\nThis patch moves the delalloc flushing that occurs when we are under space\npressure off to a async thread pool.  This helps since we only free up\nmetadata space when we actually insert the extent item, which means it takes\nquite a while for space to be free\u0027ed up if we wait on all ordered extents.\nHowever, if space is freed up due to inline extents being inserted, we can\nwake people who are waiting up early, and they can finish their work.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "32c00aff718bb54a214b39146bdd9ac01511cd25",
      "tree": "c094ee494723a9ebc9d83cb95607f06351665639",
      "parents": [
        "a3429ab70b04363c6190964e82f04f44f3e34cf0"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 08 13:34:05 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:21:10 2009 -0400"
      },
      "message": "Btrfs: release delalloc reservations on extent item insertion\n\nThis patch fixes an issue with the delalloc metadata space reservation\ncode.  The problem is we used to free the reservation as soon as we\nallocated the delalloc region.  The problem with this is if we are not\ninserting an inline extent, we don\u0027t actually insert the extent item until\nafter the ordered extent is written out.  This patch does 3 things,\n\n1) It moves the reservation clearing stuff into the ordered code, so when\nwe remove the ordered extent we remove the reservation.\n2) It adds a EXTENT_DO_ACCOUNTING flag that gets passed when we clear\ndelalloc bits in the cases where we want to clear the metadata reservation\nwhen we clear the delalloc extent, in the case that we do an inline extent\nor we invalidate the page.\n3) It adds another waitqueue to the space info so that when we start a fs\nwide delalloc flush, anybody else who also hits that area will simply wait\nfor the flush to finish and then try to make their allocation.\n\nThis has been tested thoroughly to make sure we did not regress on\nperformance.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a3429ab70b04363c6190964e82f04f44f3e34cf0",
      "tree": "f9aa5104699fdb82a3dfa327948241aa3e0022d5",
      "parents": [
        "a791e35e12ff672e8a0e140abeeaf900c3b2ea77"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 12:30:20 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:11:50 2009 -0400"
      },
      "message": "Btrfs: delay clearing EXTENT_DELALLOC for compressed extents\n\nWhen compression is on, the cow_file_range code is farmed off to\nworker threads.  This allows us to do significant CPU work in parallel\non SMP machines.\n\nBut it is a delicate balance around when we clear flags and how.  In\nthe past we cleared the delalloc flag immediately, which was safe\nbecause the pages stayed locked.\n\nBut this is causing problems with the newest ENOSPC code, and with the\nrecent extent state cleanups we can now clear the delalloc bit at the\nsame time the uncompressed code does.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a791e35e12ff672e8a0e140abeeaf900c3b2ea77",
      "tree": "f03b99451619c0425f3c93fbef3940c2b08c1bd3",
      "parents": [
        "1cdda9b81ac0e6ee986f034fa02f221679e1c11a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 11:27:10 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:11:49 2009 -0400"
      },
      "message": "Btrfs: cleanup extent_clear_unlock_delalloc flags\n\nextent_clear_unlock_delalloc has a growing set of ugly parameters\nthat is very difficult to read and maintain.\n\nThis switches to a flag field and well named flag defines.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e09d39968bd8befa087f10f970fa236e8694b643",
      "tree": "393f4cdd32504ed435b7a5f728cf74855378459d",
      "parents": [
        "fdec29c5fcd2705d61c1d14a1d4c74be03e9627c",
        "d0800703febc04827b8fa91921aa4e254d01e8d1"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 13:53:44 2009 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 13:53:44 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n"
    },
    {
      "commit": "d0800703febc04827b8fa91921aa4e254d01e8d1",
      "tree": "814c8d76966873d5cc683ba9de14ef2226897f48",
      "parents": [
        "8e69ce147127a0235e8d1f2b75ea214be78c61b3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Sep 26 19:55:04 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:02:48 2009 -0500"
      },
      "message": "xfs: stop calling filemap_fdatawait inside -\u003efsync\n\nNow that the VFS actually waits for the data I/O to complete before\ncalling into -\u003efsync we can stop doing it ourselves.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8e69ce147127a0235e8d1f2b75ea214be78c61b3",
      "tree": "9de85d2c0e0527e7821f6844b03ef8ca47ed00f8",
      "parents": [
        "dce5065a57c158e0ca5db8e63c50118b2ecf4ac5"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Sep 25 19:42:26 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:02:12 2009 -0500"
      },
      "message": "fix readahead calculations in xfs_dir2_leaf_getdents()\n\nThis is for bug #850,\nhttp://oss.sgi.com/bugzilla/show_bug.cgi?id\u003d850\nXFS file system segfaults , repeatedly and 100% reproducable in 2.6.30 , 2.6.31\n\nThe above only showed up on a CONFIG_XFS_DEBUG\u003dy kernel, because\nxfs_bmapi() ASSERTs that it has been asked for at least one map,\n\nand it was getting 0.\n\nThe root cause is that our guesstimated \"bufsize\" from xfs_file_readdir\nwas fairly small, and the\n\n\t\tbufsize -\u003d length;\n\nin the loop was going negative - except bufsize is a size_t, so it\nwas wrapping to a very large number.\n\nThen when we did\n\t\tra_want \u003d howmany(bufsize + mp-\u003em_dirblksize,\n\t\t\t\t  mp-\u003em_sb.sb_blocksize) - 1;\n\nwith that very large number, the (int) ra_want was coming out\nnegative, and a subsequent compare:\n\n\t\tif (1 + ra_want \u003e map_blocks ...\n\nwas coming out -true- (negative int compare w/ uint) and we went\nback to xfs_bmapi() for more, even though we did not need more,\nand asked for 0 maps, and hit the ASSERT.\n\nWe have kind of a type mess here, but just keeping bufsize from\ngoing negative is probably sufficient to avoid the problem.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "dce5065a57c158e0ca5db8e63c50118b2ecf4ac5",
      "tree": "3cd53a5fd21551585e0c01febbf9daebed8d5749",
      "parents": [
        "932640e8adaff3d0c28ee32d4863c7a7a74df055"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:30 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:49 2009 -0500"
      },
      "message": "xfs: make sure xfs_sync_fsdata covers the log\n\nWe want to always cover the log after writing out the superblock, and\nin case of a synchronous writeout make sure we actually wait for the\nlog to be covered.  That way a filesystem that has been sync()ed can\nbe considered clean by log recovery.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "932640e8adaff3d0c28ee32d4863c7a7a74df055",
      "tree": "14c1bd418ca5a5c7234946eee17386ce6df68e3a",
      "parents": [
        "69961a26b82931601e07c9e3656bd90c598f2395"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:29 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:26 2009 -0500"
      },
      "message": "xfs: mark inodes dirty before issuing I/O\n\nTo make sure they get properly waited on in sync when I/O is in flight and\nwe latter need to update the inode size.  Requires a new helper to check if an\nioend structure is beyond the current EOF.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "69961a26b82931601e07c9e3656bd90c598f2395",
      "tree": "0798e1feac2cebe0327affef4a63bdf6fd11ff02",
      "parents": [
        "c90b07e8dd9f263d2e2af1d9648ba269f4d0d8fd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 06 20:29:28 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:03 2009 -0500"
      },
      "message": "xfs: cleanup -\u003esync_fs\n\nSort out -\u003esync_fs to not perform a superblock writeback for the wait \u003d 0 case\nas that is just an optional first pass and the superblock will be written back\nproperly in the next call with wait \u003d 1.  Instead perform an opportunistic\nquota writeback to have less work later.  Also remove the freeze special case\nas we do a proper wait \u003d 1 call in the freeze code anyway.\n\nAlso rename the function to xfs_fs_sync_fs to match the normal naming\nconvention, update comments and avoid calling into the laptop_mode logic on\nan error.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c90b07e8dd9f263d2e2af1d9648ba269f4d0d8fd",
      "tree": "a2dd23b15d74f1ea338394c545ae5d569a1fb557",
      "parents": [
        "f9581b1443abac50c90168301d40a7734b13a5dc"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:27 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:00:36 2009 -0500"
      },
      "message": "xfs: fix xfs_quiesce_data\n\nWe need to do a synchronous xfs_sync_fsdata to make sure the superblock\nactually is on disk when we return.\n\nAlso remove SYNC_BDFLUSH flag to xfs_sync_inodes because that particular\nflag is never checked.\n\nMove xfs_filestream_flush call later to only release inodes after they\nhave been written out.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f9581b1443abac50c90168301d40a7734b13a5dc",
      "tree": "1ffecb2a1be9f0be55d9307fa93910ba24f8ed56",
      "parents": [
        "9ef96da6ec5e1b4cf7eb8e30852cd88ec7d5fdc0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 06 20:29:26 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:00:03 2009 -0500"
      },
      "message": "xfs: implement -\u003edirty_inode to fix timestamp handling\n\nThis is picking up on Felix\u0027s repost of Dave\u0027s patch to implement a\n.dirty_inode method.  We really need this notification because\nthe VFS keeps writing directly into the inode structure instead\nof going through methods to update this state.  In addition to\nthe long-known atime issue we now also have a caller in VM code\nthat updates c/mtime that way for shared writeable mmaps.  And\nI found another one that no one has noticed in practice in the FIFO\ncode.\n\nSo implement -\u003edirty_inode to set i_update_core whenever the\ninode gets externally dirtied, and switch the c/mtime handling to\nthe same scheme we already use for atime (always picking up\nthe value from the Linux inode).\n\nNote that this patch also removes the xfs_synchronize_atime call\nin xfs_reclaim it was superflous as we already synchronize the time\nwhen writing the inode via the log (xfs_inode_item_format) or the\nnormal buffers (xfs_iflush_int).\n\nIn addition also remove the I_CLEAR check before copying the Linux\ntimestamps - now that we always have the Linux inode available\nwe can always use the timestamps in it.\n\nAlso switch to just using file_update_time for regular reads/writes -\nthat will get us all optimization done to it for free and make\nsure we notice early when it breaks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "36520be8e32b49bd85a63b7b8b40cd07c3da59a5",
      "tree": "09adf04fad980a8024de3c01d3560a0f263708cd",
      "parents": [
        "ed1f21857e76a92a006e0f890a3d7f72953b1469"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Oct 05 14:25:44 2009 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:31:38 2009 -0500"
      },
      "message": "ima: ecryptfs fix imbalance message\n\nThe unencrypted files are being measured.  Update the counters to get\nrid of the ecryptfs imbalance message. (http://bugzilla.redhat.com/519737)\n\nReported-by: Sachin Garg\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: David Safford \u003csafford@watson.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ed1f21857e76a92a006e0f890a3d7f72953b1469",
      "tree": "21645c57e1011e86fe803fa99544b2314e231cec",
      "parents": [
        "664fc5a4e7d0d7f3487e5c856b79f7dac79567fd"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Sep 29 02:33:59 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:31:36 2009 -0500"
      },
      "message": "eCryptfs: Remove Kconfig NET dependency and select MD5\n\neCryptfs no longer uses a netlink interface to communicate with\necryptfsd, so NET is not a valid dependency anymore.\n\nMD5 is required and must be built for eCryptfs to be of any use.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "664fc5a4e7d0d7f3487e5c856b79f7dac79567fd",
      "tree": "9413c8d73c86ce091ab16bce2acadc4397bffba0",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Sep 28 13:34:20 2009 -0700"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:21:12 2009 -0500"
      },
      "message": "ecryptfs: depends on CRYPTO\n\necryptfs uses crypto APIs so it should depend on CRYPTO.\nOtherwise many build errors occur. [63 lines not pasted]\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3050141bae57984dd660e6861632ccf9b8bca77e",
      "tree": "01d0829c1f46885543f93785190d55a3d6ef3203",
      "parents": [
        "517be09def6cd7bc231222ee756fde8ea245a6fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 08 11:50:55 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 08 11:50:55 2009 -0400"
      },
      "message": "NFSv4: Kill nfs4_renewd_prepare_shutdown()\n\nThe NFSv4 renew daemon is shared between all active super blocks that refer\nto a particular NFS server, so it is wrong to be shutting it down in\nnfs4_kill_super every time a super block is destroyed.\n\nThis patch therefore kills nfs4_renewd_prepare_shutdown altogether, and\nleaves it up to nfs4_shutdown_client() to also shut down the renew daemon\nby means of the existing call to nfs4_kill_renewd().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "253fb02d62571e5455eedc9e39b9d660e86a40f0",
      "tree": "f52fc8f0d792148d43e4e38ed48dc3666ef50b75",
      "parents": [
        "7823da36ce8e42d66941887eb922768d259763f2"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Oct 07 16:32:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:39 2009 -0700"
      },
      "message": "pagemap: export KPF_HWPOISON\n\nThis flag indicates a hardware detected memory corruption on the page.\nAny future access of the page data may bring down the machine.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\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": "4055e97318809638a57fbe1746b93bc7a90ef0d3",
      "tree": "8dedb30f4e9f2da35447a88d7a906427e48eb310",
      "parents": [
        "3700c155af56b54adfc737ba3164a41de2c59d41"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Oct 07 16:32:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:38 2009 -0700"
      },
      "message": "fs: includecheck fix: proc, kcore.c\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  fs/proc/kcore.c: linux/mm.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "517be09def6cd7bc231222ee756fde8ea245a6fe",
      "tree": "a1ef080c8cddd9e766590cbede7d9310f6e02e53",
      "parents": [
        "f4373bf9e67e4a653c8854acd7b02dac9714c98a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:20 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:20 2009 -0400"
      },
      "message": "NFSv4: Fix the referral mount code\n\nFix a typo which causes try_location() to use the wrong length argument\nwhen calling nfs_parse_server_name(). This again, causes the initialisation\nof the mount\u0027s sockaddr structure to fail.\n\nAlso ensure that if nfs4_pathname_string() returns an error, then we pass\nthat error back up the stack instead of ENOENT.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f4373bf9e67e4a653c8854acd7b02dac9714c98a",
      "tree": "d0371ed7638c0939550a2a43aef5b384d2e96b48",
      "parents": [
        "bcd2ea17da6a329a7276cde7286d802f009af332"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "message": "nfs: Avoid overrun when copying client IP address string\n\nAs seen in \u003chttp://bugs.debian.org/549002\u003e, nfs4_init_client() can\noverrun the source string when copying the client IP address from\nnfs_parsed_mount_data::client_address to nfs_client::cl_ipaddr.  Since\nthese are both treated as null-terminated strings elsewhere, the copy\nshould be done with strlcpy() not memcpy().\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bcd2ea17da6a329a7276cde7286d802f009af332",
      "tree": "11344feb0c0c23175844b0cb86da589146e21370",
      "parents": [
        "f5855fecda65c1965c894915ace1e086d4925154"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:41:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:41:22 2009 -0400"
      },
      "message": "NFS: Fix port initialisation in nfs_remount()\n\nThe recent changeset 53a0b9c4c99ab0085a06421f71592722e5b3fd5f (NFS: Replace\nnfs_parse_ip_address() with rpc_pton()) broke nfs_remount, since the call\nto rpc_pton() will zero out the port number in data-\u003enfs_server.address.\n\nThis is actually due to a bug in nfs_remount: it should be looking at the\nport number in nfs_server.port instead...\n\nThis fixes bug\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d14276\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5855fecda65c1965c894915ace1e086d4925154",
      "tree": "320de50837519abcd62580b3f7f1ae43a6503832",
      "parents": [
        "c5811dbdd26284d63c19fca618bd740dd10ad53d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:37 2009 -0400"
      },
      "message": "NFS: Fix port and mountport display in /proc/self/mountinfo\n\nCurrently, the port and mount port will both display as 65535 if you do not\nspecify a port number. That would be wrong...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5811dbdd26284d63c19fca618bd740dd10ad53d",
      "tree": "e41cdb8f267340cd78e5955523c14353b96cb714",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:15 2009 -0400"
      },
      "message": "NFS: Fix a default mount regression...\n\nWith the recent spate of changes, the nfs protocol version will now default\nto 2 instead of 3, while the mount protocol version defaults to 3.\n\nThe following patch should ensure the defaults are consistent with the\nprevious defaults of vers\u003d3,proto\u003dtcp,mountvers\u003d3,mountproto\u003dtcp.\n\nThis fixes the bug\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d14259\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8347a5cdd1422eea0470ed586274c7f29e274b47",
      "tree": "cc83dbc0307c9d2393078e27d01e9f451eccd578",
      "parents": [
        "0d9df2515dbceb67d343c0f10fd3ff218380d524"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 06 18:31:29 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 06 18:31:29 2009 +0000"
      },
      "message": "[CIFS] Fixing to avoid invalid kfree() in cifs_get_tcp_session()\n\ntrivial bug in fs/cifs/connect.c .\nThe bug is caused by fail of extract_hostname()\nwhen mounting cifs file system.\n\nThis is the situation when I noticed this bug.\n\n% sudo mount -t cifs //192.168.10.208 mountpoint -o options...\n\nThen my kernel says,\n\n[ 1461.807776] ------------[ cut here ]------------\n[ 1461.807781] kernel BUG at mm/slab.c:521!\n[ 1461.807784] invalid opcode: 0000 [#2] PREEMPT SMP\n[ 1461.807790] last sysfs file:\n/sys/devices/pci0000:00/0000:00:1e.0/0000:09:02.0/resource\n[ 1461.807793] CPU 0\n[ 1461.807796] Modules linked in: nls_iso8859_1 usbhid sbp2 uhci_hcd\nehci_hcd i2c_i801 ohci1394 ieee1394 psmouse serio_raw pcspkr sky2 usbcore\nevdev\n[ 1461.807816] Pid: 3446, comm: mount Tainted: G      D 2.6.32-rc2-vanilla\n[ 1461.807820] RIP: 0010:[\u003cffffffff810b888e\u003e]  [\u003cffffffff810b888e\u003e]\nkfree+0x63/0x156\n[ 1461.807829] RSP: 0018:ffff8800b4f7fbb8  EFLAGS: 00010046\n[ 1461.807832] RAX: ffffea00033fff98 RBX: ffff8800afbae7e2 RCX:\n0000000000000000\n[ 1461.807836] RDX: ffffea0000000000 RSI: 000000000000005c RDI:\nffffffffffffffea\n[ 1461.807839] RBP: ffff8800b4f7fbf8 R08: 0000000000000001 R09:\n0000000000000000\n[ 1461.807842] R10: 0000000000000000 R11: ffff8800b4f7fbf8 R12:\n00000000ffffffea\n[ 1461.807845] R13: ffff8800afb23000 R14: ffff8800b4f87bc0 R15:\nffffffffffffffea\n[ 1461.807849] FS:  00007f52b6f187c0(0000) GS:ffff880007600000(0000)\nknlGS:0000000000000000\n[ 1461.807852] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1461.807855] CR2: 0000000000613000 CR3: 00000000af8f9000 CR4:\n00000000000006f0\n[ 1461.807858] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n0000000000000000\n[ 1461.807861] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:\n0000000000000400\n[ 1461.807865] Process mount (pid: 3446, threadinfo ffff8800b4f7e000, task\nffff8800950e4380)\n[ 1461.807867] Stack:\n[ 1461.807869]  0000000000000202 0000000000000282 ffff8800b4f7fbf8\nffff8800afbae7e2\n[ 1461.807876] \u003c0\u003e 00000000ffffffea ffff8800afb23000 ffff8800b4f87bc0\nffff8800b4f7fc28\n[ 1461.807884] \u003c0\u003e ffff8800b4f7fcd8 ffffffff81159f6d ffffffff81147bc2\nffffffff816bfb48\n[ 1461.807892] Call Trace:\n[ 1461.807899]  [\u003cffffffff81159f6d\u003e] cifs_get_tcp_session+0x440/0x44b\n[ 1461.807904]  [\u003cffffffff81147bc2\u003e] ? find_nls+0x1c/0xe9\n[ 1461.807909]  [\u003cffffffff8115b889\u003e] cifs_mount+0x16bc/0x2167\n[ 1461.807917]  [\u003cffffffff814455bd\u003e] ? _spin_unlock+0x30/0x4b\n[ 1461.807923]  [\u003cffffffff81150da9\u003e] cifs_get_sb+0xa5/0x1a8\n[ 1461.807928]  [\u003cffffffff810c1b94\u003e] vfs_kern_mount+0x56/0xc9\n[ 1461.807933]  [\u003cffffffff810c1c64\u003e] do_kern_mount+0x47/0xe7\n[ 1461.807938]  [\u003cffffffff810d8632\u003e] do_mount+0x712/0x775\n[ 1461.807943]  [\u003cffffffff810d671f\u003e] ? copy_mount_options+0xcf/0x132\n[ 1461.807948]  [\u003cffffffff810d8714\u003e] sys_mount+0x7f/0xbf\n[ 1461.807953]  [\u003cffffffff8144509a\u003e] ? lockdep_sys_exit_thunk+0x35/0x67\n[ 1461.807960]  [\u003cffffffff81011cc2\u003e] system_call_fastpath+0x16/0x1b\n[ 1461.807963] Code: 00 00 00 00 ea ff ff 48 c1 e8 0c 48 6b c0 68 48 01 d0\n66 83 38 00 79 04 48 8b 40 10 66 83 38 00 79 04 48 8b 40 10 80 38 00 78 04\n\u003c0f\u003e 0b eb fe 4c 8b 70 58 4c 89 ff 41 8b 76 4c e8 b8 49 fb ff e8\n[ 1461.808022] RIP  [\u003cffffffff810b888e\u003e] kfree+0x63/0x156\n[ 1461.808027]  RSP \u003cffff8800b4f7fbb8\u003e\n[ 1461.808031] ---[ end trace ffe26fcdc72c0ce4 ]---\n\nThe reason of this bug is that the error handling code of\ncifs_get_tcp_session()\ncalls kfree() when corresponding kmalloc() failed.\n(The kmalloc() is called by extract_hostname().)\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "316d315bffa4026f28085f6b24ebcebede370ac7",
      "tree": "10b6b057fec2382536371d2e14f9d4c0d6cf9eea",
      "parents": [
        "23e018a1b083ecb4b8bb2fb43d58e7c19b5d7959"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "message": "block: Seperate read and write statistics of in_flight requests v2\n\nCommit a9327cac440be4d8333bba975cbbf76045096275 added seperate read\nand write statistics of in_flight requests. And exported the number\nof read and write requests in progress seperately through sysfs.\n\nBut  Corrado Zoccolo \u003cczoccolo@gmail.com\u003e reported getting strange\noutput from \"iostat -kx 2\". Global values for service time and\nutilization were garbage. For interval values, utilization was always\n100%, and service time is higher than normal.\n\nSo this was reverted by commit 0f78ab9899e9d6acb09d5465def618704255963b\n\nThe problem was in part_round_stats_single(), I missed the following:\n        if (now \u003d\u003d part-\u003estamp)\n                return;\n\n-       if (part-\u003ein_flight) {\n+       if (part_in_flight(part)) {\n                __part_stat_add(cpu, part, time_in_queue,\n                                part_in_flight(part) * (now - part-\u003estamp));\n                __part_stat_add(cpu, part, io_ticks, (now - part-\u003estamp));\n\nWith this chunk included, the reported regression gets fixed.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\n--\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1cdda9b81ac0e6ee986f034fa02f221679e1c11a",
      "tree": "ae9394e50bc2418e8c3054de12ed44962d6f261a",
      "parents": [
        "61d92c328c16419fc96dc50dd16f8b8c695409ec"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Oct 06 10:04:28 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 06 10:04:28 2009 -0400"
      },
      "message": "Btrfs: fix possible softlockup in the allocator\n\nLike the cluster allocating stuff, we can lockup the box with the normal\nallocation path.  This happens when we\n\n1) Start to cache a block group that is severely fragmented, but has a decent\namount of free space.\n2) Start to commit a transaction\n3) Have the commit try and empty out some of the delalloc inodes with extents\nthat are relatively large.\n\nThe inodes will not be able to make the allocations because they will ask for\nallocations larger than a contiguous area in the free space cache.  So we will\nwait for more progress to be made on the block group, but since we\u0027re in a\ncommit the caching kthread won\u0027t make any more progress and it already has\nenough free space that wait_block_group_cache_progress will just return.  So,\nif we wait and fail to make the allocation the next time around, just loop and\ngo to the next block group.  This keeps us from getting stuck in a softlockup.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "61d92c328c16419fc96dc50dd16f8b8c695409ec",
      "tree": "e9cd82eb56ff5f38f64d9f35229d15496e5d53de",
      "parents": [
        "fbf190874407f23d2891b53ffdf7d3c6be8d47ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 02 19:11:56 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Oct 05 09:44:45 2009 -0400"
      },
      "message": "Btrfs: fix deadlock on async thread startup\n\nThe btrfs async worker threads are used for a wide variety of things,\nincluding processing bio end_io functions.  This means that when\nthe endio threads aren\u0027t running, the rest of the FS isn\u0027t\nable to do the final processing required to clear PageWriteback.\n\nThe endio threads also try to exit as they become idle and\nstart more as the work piles up.  The problem is that starting more\nthreads means kthreadd may need to allocate ram, and that allocation\nmay wait until the global number of writeback pages on the system is\nbelow a certain limit.\n\nThe result of that throttling is that end IO threads wait on\nkthreadd, who is waiting on IO to end, which will never happen.\n\nThis commit fixes the deadlock by handing off thread startup to a\ndedicated thread.  It also fixes a bug where the on-demand thread\ncreation was creating far too many threads because it didn\u0027t take into\naccount threads being started by other procs.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a99bbaf5ee6bad1aca0c88ea65ec6e5373e86184",
      "tree": "2b0314d68b9e0a76e8f4fb60865a1d56e138833a",
      "parents": [
        "5e5027bd26ed4df735d29e66cd5c1c9b5959a587"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 04 16:11:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 15:05:10 2009 -0700"
      },
      "message": "headers: remove sched.h from poll.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58e57fbd1c7e8833314459555e337364fe5521f3",
      "tree": "242a3859387588889c9dcc45915b0dec951f84c3",
      "parents": [
        "8a0382f6fceaf0c6479e582e1054f36333ea3d24",
        "0f78ab9899e9d6acb09d5465def618704255963b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (41 commits)\n  Revert \"Seperate read and write statistics of in_flight requests\"\n  cfq-iosched: don\u0027t delay async queue if it hasn\u0027t dispatched at all\n  block: Topology ioctls\n  cfq-iosched: use assigned slice sync value, not default\n  cfq-iosched: rename \u0027desktop\u0027 sysfs entry to \u0027low_latency\u0027\n  cfq-iosched: implement slower async initiate and queue ramp up\n  cfq-iosched: delay async IO dispatch, if sync IO was just done\n  cfq-iosched: add a knob for desktop interactiveness\n  Add a tracepoint for block request remapping\n  block: allow large discard requests\n  block: use normal I/O path for discard requests\n  swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL\n  fs/bio.c: move EXPORT* macros to line after function\n  Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\n  cciss: fix build when !PROC_FS\n  block: Do not clamp max_hw_sectors for stacking devices\n  block: Set max_sectors correctly for stacking devices\n  cciss: cciss_host_attr_groups should be const\n  cciss: Dynamically allocate the drive_info_struct for each logical drive.\n  cciss: Add usage_count attribute to each logical drive in /sys\n  ...\n"
    },
    {
      "commit": "0f78ab9899e9d6acb09d5465def618704255963b",
      "tree": "b92832da61ae4f4d712a33ae524c482e979be5ba",
      "parents": [
        "e00c54c36ac2024c3a8a37432e2e2698ff849594"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "message": "Revert \"Seperate read and write statistics of in_flight requests\"\n\nThis reverts commit a9327cac440be4d8333bba975cbbf76045096275.\n\nCorrado Zoccolo \u003cczoccolo@gmail.com\u003e reports:\n\n\"with 2.6.32-rc1 I started getting the following strange output from\n\"iostat -kx 2\":\nLinux 2.6.31bisect (et2) \t04/10/2009 \t_i686_\t(2 CPU)\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n          10,70    0,00    3,16   15,75    0,00   70,38\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda              18,22     0,00    0,67    0,01    14,77     0,02\n43,94     0,01   10,53 39043915,03 2629219,87\nsdb              60,89     9,68   50,79    3,04  1724,43    50,52\n65,95     0,70   13,06 488437,47 2629219,87\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           2,72    0,00    0,74    0,00    0,00   96,53\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           6,68    0,00    0,99    0,00    0,00   92,33\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           4,40    0,00    0,73    1,47    0,00   93,40\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     4,00    0,00    3,00     0,00    28,00\n18,67     0,06   19,50 333,33 100,00\n\nGlobal values for service time and utilization are garbage. For\ninterval values, utilization is always 100%, and service time is\nhigher than normal.\n\nI bisected it down to:\n[a9327cac440be4d8333bba975cbbf76045096275] Seperate read and write\nstatistics of in_flight requests\nand verified that reverting just that commit indeed solves the issue\non 2.6.32-rc1.\"\n\nSo until this is debugged, revert the bad commit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "9117703fabe4141dae566d683eeb728f638c9e49"
}
