)]}'
{
  "log": [
    {
      "commit": "adff377bb1010ec65aada1f94ef2be7c7805c711",
      "tree": "83742ebd4de5c043b2f58969ef4d6634a301bfe7",
      "parents": [
        "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
        "f65647c29b14f5a32ff6f3237b0ef3b375ed5a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -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: (24 commits)\n  Btrfs: fix free space cache leak\n  Btrfs: avoid taking the chunk_mutex in do_chunk_alloc\n  Btrfs end_bio_extent_readpage should look for locked bits\n  Btrfs: don\u0027t force chunk allocation in find_free_extent\n  Btrfs: Check validity before setting an acl\n  Btrfs: Fix incorrect inode nlink in btrfs_link()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()\n  Btrfs: make uncache_state unconditional\n  btrfs: using cached extent_state in set/unlock combinations\n  Btrfs: avoid taking the trans_mutex in btrfs_end_transaction\n  Btrfs: fix subvolume mount by name problem when default mount subvolume is set\n  fix user annotation in ioctl.c\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  btrfs: properly handle overlapping areas in memmove_extent_buffer\n  Btrfs: fix memory leaks in btrfs_new_inode()\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  Btrfs: reuse the extent_map we found when calling btrfs_get_extent\n  Btrfs: do not use async submit for small DIO io\u0027s\n  Btrfs: don\u0027t split dio bios if we don\u0027t have to\n  ...\n"
    },
    {
      "commit": "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
      "tree": "2f6e233afaf1b7f970e2f0ef0786dff4596dbd0a",
      "parents": [
        "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "message": "proc: do proper range check on readdir offset\n\nRather than pass in some random truncated offset to the pid-related\nfunctions, check that the offset is in range up-front.\n\nThis is just cleanup, the previous commit fixed the real problem.\n\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f65647c29b14f5a32ff6f3237b0ef3b375ed5a79",
      "tree": "4ec6b2a20d37f5ce4098cf77f3eb9606e3f241ba",
      "parents": [
        "6d74119f1a3efad9dc7f79a16c201242324b731f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 18 08:55:34 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 18 08:55:34 2011 -0400"
      },
      "message": "Btrfs: fix free space cache leak\n\nThe free space caching code was recently reworked to\ncache all the pages it needed instead of using find_get_page everywhere.\n\nOne loop was missed though, so it ended up leaking pages.  This fixes\nit to use our page array instead of find_get_page.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fff3e5ade4455a4b42a19c95dd7a167a3cb7956a",
      "tree": "782685d5e479c5a5e167304868c43eca623e6a9e",
      "parents": [
        "d733ed6c34be3aef0517a04e4103eed6b369ec50"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Apr 14 10:30:08 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 17 10:42:01 2011 -0700"
      },
      "message": "fs: synchronize_rcu when unregister_filesystem success not failure\n\nWhile checking unregister_filesystem for saftey vs extra calls for\n\"ext4: register ext2 and ext3 alias after ext4\" I realized that\nthe synchronize_rcu() was called on the error path but not on\nthe success path.\n\nCc: stable (2.6.38)\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\n[ This probably won\u0027t really make a difference since commit d863b50ab013\n  (\"vfs: call rcu_barrier after -\u003ekill_sb()\"), but it\u0027s the right thing\n  to do.  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d74119f1a3efad9dc7f79a16c201242324b731f",
      "tree": "faf541835e82e9d56c7474c04b2d785821fe61d3",
      "parents": [
        "0d399205edf3a4c290e76ebb36e541593af4a1b4"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Apr 11 20:20:11 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 07:10:56 2011 -0400"
      },
      "message": "Btrfs: avoid taking the chunk_mutex in do_chunk_alloc\n\nEverytime we try to allocate disk space we try and see if we can pre-emptively\nallocate a chunk, but in the common case we don\u0027t allocate anything, so there is\nno sense in taking the chunk_mutex at all.  So instead if we are allocating a\nchunk, mark it in the space_info so we don\u0027t get two people trying to allocate\nat the same time.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nReviewed-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "0d399205edf3a4c290e76ebb36e541593af4a1b4",
      "tree": "980af1dc3d803727d658aaa7b8565e06009e85e3",
      "parents": [
        "0e4f8f888845f9dca540ad175884244e5db5eea2"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 06:55:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Apr 16 06:55:39 2011 -0400"
      },
      "message": "Btrfs end_bio_extent_readpage should look for locked bits\n\nA recent commit caches the extent state in end_bio_extent_readpage,\nbut the search it does should look for locked extents.  This\nfixes things to make it more effective.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0ebc115da3ed67409792eb8de46361a5c673f072",
      "tree": "214b1a218dd84c3ac7bb66a3648fbbe41d72226b",
      "parents": [
        "e82e6f16a809bc47eb929c3408921def28638fcd",
        "b76225e22ac98070325ee2ba89473c1e1360c4cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:31:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 20:31:15 2011 -0700"
      },
      "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  net/9p: nwname should be an unsigned int\n  9p: Fix sparse error\n  fs/9p: Fix error reported by coccicheck\n  9p: revert tsyncfs related changes\n  fs/9p: Use write_inode for data sync on server\n  fs/9p: Fix revalidate to return correct value\n"
    },
    {
      "commit": "c1530019e311c91d14b24d8e74d233152d806e45",
      "tree": "37bd46f1d30534d8f03a186338295b653e75886c",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Fri Apr 15 11:39:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 15:28:12 2011 -0700"
      },
      "message": "vfs: Fix absolute RCU path walk failures due to uninitialized seq number\n\nDuring RCU walk in path_lookupat and path_openat, the rcu lookup\nfrequently failed if looking up an absolute path, because when root\ndirectory was looked up, seq number was not properly set in nameidata.\n\nWe dropped out of RCU walk in nameidata_drop_rcu due to mismatch in\ndirectory entry\u0027s seq number.  We reverted to slow path walk that need\nto take references.\n\nWith the following patch, I saw a 50% increase in an exim mail server\nbenchmark throughput on a 4-socket Nehalem-EX system.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: stable@kernel.org (v2.6.38)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "936bb2d7034165fd6ef7afea54057da65c329a27",
      "tree": "04f84ae7997497fe130ae721f83dd99eca398f67",
      "parents": [
        "df5d8c80f1871d9e79af4b0f3656a9528a7d4bab"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Mar 24 23:04:41 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "fs/9p: Fix error reported by coccicheck\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "df5d8c80f1871d9e79af4b0f3656a9528a7d4bab",
      "tree": "e9baf35f25e5dc97e8e2d06d5b5eaf5ecacfc624",
      "parents": [
        "c2ed388021a60bb4a9449fddfef770c95875b052"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Mar 24 20:38:35 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "9p: revert tsyncfs related changes\n\nNow that we use write_inode to flush server\ncache related to fid, we don\u0027t need tsyncfs either fort dotl or dotu\nprotocols. For dotu this helps to do a more efficient server flush.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "c2ed388021a60bb4a9449fddfef770c95875b052",
      "tree": "e31fe132019f5ad671d54108c3309a83b7bd5786",
      "parents": [
        "f2eda2c6cc138710ae775490397657e8877774b6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Mar 23 15:11:27 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:14 2011 -0500"
      },
      "message": "fs/9p: Use write_inode for data sync on server\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f2eda2c6cc138710ae775490397657e8877774b6",
      "tree": "9ff1d2414ff8bde4773ad98dc1f43de82bd57663",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Mar 23 19:48:16 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Apr 15 15:26:13 2011 -0500"
      },
      "message": "fs/9p: Fix revalidate to return correct value\n\nrevalidate should return \u003e 0 on success. Also return 0 on ENOENT\nto force do_revalidate to return NULL dentry;\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "0e4f8f888845f9dca540ad175884244e5db5eea2",
      "tree": "cc43a4a6ff229a84f26376f27d9d938ac4dc1b26",
      "parents": [
        "329c5056be8774255db04b01242a9ff4f02eb8ea"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 15 16:05:44 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 15 16:05:44 2011 -0400"
      },
      "message": "Btrfs: don\u0027t force chunk allocation in find_free_extent\n\nfind_free_extent likes to allocate in contiguous clusters,\nwhich makes writeback faster, especially on SSD storage.  As\nthe FS fragments, these clusters become harder to find and we have\nto decide between allocating a new chunk to make more clusters\nor giving up on the cluster to allocate from the free space\nwe have.\n\nRight now it creates too many chunks, and you can end up with\na whole FS that is mostly empty metadata chunks.  This commit\nchanges the allocation code to be more strict and only\nallocate new chunks when we\u0027ve made good use of the chunks we\nalready have.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
      "tree": "b1f38ab9d31670b909c079ac743651162d2a2e70",
      "parents": [
        "7ebfa57f6d307b66bb88600145afccde31016ab5",
        "1dcffad74183bb00e8129ba1c5bb2c9931d31bd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:44:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:44:22 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix compilation warnings when compiling with gcc 4.5\n  UBIFS: fix oops when R/O file-system is fsync\u0027ed\n"
    },
    {
      "commit": "7ebfa57f6d307b66bb88600145afccde31016ab5",
      "tree": "f2f3574549fa2de097db2b8bb8fc4c35c744fa6a",
      "parents": [
        "e38f5b745075828ac51b12c8c95c85a7be4a3ec7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:34:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 07:34:26 2011 -0700"
      },
      "message": "vfs: fix incorrect dentry_update_name_case() BUG_ON() test\n\nThe case we should be verifying when updating the dentry name is that\nthe _parent_ inode (the directory) semaphore is held, not the semaphore\nfor the dentry itself.  It\u0027s the directory locking that rename and\nreaddir() etc all care about.\n\nThe comment just above even says so - but then the BUG_ON() still\nchecked the dentry inode itself.\n\nVery few people noticed, because this helper function really isn\u0027t used\nfor very much, so you had to be using ncpfs to ever hit it.\n\nI think I should just remove the BUG_ON (the function really has just\none user), but let\u0027s run with it fixed for a while before getting rid of\nit entirely.\n\nReported-and-tested-by: Bongani Hlope \u003cbonganih@bankservafrica.com\u003e\nReported-and-tested-by: Bernd Feige \u003cbernd.feige@uniklinik-freiburg.de\u003e\nCc: Petr Vandrovec \u003cpetr@vandrovec.name\u003e,\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b836aec53e2bce71de1d5415313380688c851477",
      "tree": "9ee79823fd8ac2ad868ce63f2b3569d04803a5d1",
      "parents": [
        "084189a88754d40e1bb9bfbc278e70c33e571685"
      ],
      "author": {
        "name": "Bob Liu",
        "email": "lliubbo@gmail.com",
        "time": "Thu Apr 14 15:22:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "ramfs: fix memleak on no-mmu arch\n\nOn no-mmu arch, there is a memleak during shmem test.  The cause of this\nmemleak is ramfs_nommu_expand_for_mapping() added page refcount to 2\nwhich makes iput() can\u0027t free that pages.\n\nThe simple test file is like this:\n\n  int main(void)\n  {\n\tint i;\n\tkey_t k \u003d ftok(\"/etc\", 42);\n\n\tfor ( i\u003d0; i\u003c100; ++i) {\n\t\tint id \u003d shmget(k, 10000, 0644|IPC_CREAT);\n\t\tif (id \u003d\u003d -1) {\n\t\t\tprintf(\"shmget error\\n\");\n\t\t}\n\t\tif(shmctl(id, IPC_RMID, NULL ) \u003d\u003d -1) {\n\t\t\tprintf(\"shm  rm error\\n\");\n\t\t\treturn -1;\n\t\t}\n\t}\n\tprintf(\"run ok...\\n\");\n\treturn 0;\n  }\n\nAnd the result:\n\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        17912        42408            0            0\n  -/+ buffers:              17912        42408\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        19096        41224            0            0\n  -/+ buffers:              19096        41224\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        20296        40024            0            0\n  -/+ buffers:              20296        40024\n  ...\n\nAfter this patch the test result is:(no memleak anymore)\n\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        16668        43652            0            0\n  -/+ buffers:              16668        43652\n  root:/\u003e shmem\n  run ok...\n  root:/\u003e free\n               total         used         free       shared      buffers\n  Mem:         60320        16668        43652            0            0\n  -/+ buffers:              16668        43652\n\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed5afeaf422202485bbebc7e911f13b2a6be2666",
      "tree": "479e2f57cef12140d9012a2404d0ad4b0aa2a15c",
      "parents": [
        "6a534c9d265ebabca4c3ae6f8712fc5a27cd3999"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Apr 14 15:22:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:56 2011 -0700"
      },
      "message": "fs/fhandle.c: add \u003clinux/personality.h\u003e for ia64\n\nforce_o_largefile() on ia64 is defined in \u003casm/fcntl.h\u003e and requires\n\u003clinux/personality.h\u003e.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4471a675dfc7ca676c165079e91c712b09dc9ce4",
      "tree": "9746321a818cefbb2aa97d8ac4d44c4a6ae84f5a",
      "parents": [
        "5de1743e2434fcb24e3d944a20130029b8fe867a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Apr 14 15:22:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "brk: COMPAT_BRK: fix detection of randomized brk\n\n5520e89 (\"brk: fix min_brk lower bound computation for COMPAT_BRK\")\ntried to get the whole logic of brk randomization for legacy\n(libc5-based) applications finally right.\n\nIt turns out that the way to detect whether brk has actually been\nrandomized in the end or not introduced by that patch still doesn\u0027t work\nfor those binaries, as reported by Geert:\n\n: /sbin/init from my old m68k ramdisk exists prematurely.\n:\n: Before the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80006000\n:\n: After the patch:\n:\n: | brk(0x80005c8e)                         \u003d 0x80005c8e\n:\n: Old libc5 considers brk() to have failed if the return value is not\n: identical to the requested value.\n\nI don\u0027t like it, but currently see no better option than a bit flag in\ntask_struct to catch the CONFIG_COMPAT_BRK \u0026\u0026 randomize_va_space \u003d\u003d 2\ncase.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nTested-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@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": "c340b1d640001c8c9ecff74f68fd90422ae2448a",
      "tree": "2615bb9abb9fb956197c8f357dee388d15d82d81",
      "parents": [
        "c344180c9e77145a9e7eab0050169c68afae04b2"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Thu Apr 14 15:21:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:54 2011 -0700"
      },
      "message": "fs/partitions/ldm.c: fix oops caused by corrupted partition table\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating LDM partitions (in fs/partitions/ldm.c) contains\na bug that causes a kernel oops on certain corrupted LDM partitions.\nA kernel subsystem seems to crash, because, after the oops, the kernel no\nlonger recognizes newly connected storage devices.\n\nThe patch validates the value of vblk_size.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Richard Russon \u003crich@flatcap.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dcffad74183bb00e8129ba1c5bb2c9931d31bd7",
      "tree": "a7553e2f7a24fd24f3313fd15140b0200d6c56ad",
      "parents": [
        "78530bf7f2559b317c04991b52217c1608d5a58d"
      ],
      "author": {
        "name": "Maksim Rayskiy",
        "email": "maksim.rayskiy@gmail.com",
        "time": "Tue Apr 12 15:14:56 2011 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Apr 13 11:59:09 2011 +0300"
      },
      "message": "UBIFS: fix compilation warnings when compiling with gcc 4.5\n\nWhen compiling UBIFS with CONFIG_UBIFS_FS_DEBUG not set,\ngcc-4.5.2 generates a slew of \"warning: statement with no effect\"\non references to non-void functions defined as 0.\nTo avoid these warnings, replace #defines with dummy inline functions.\n\nArtem: massage the patch a bit, also remove the duplicate\n       \u0027dbg_check_lprops()\u0027 prototype.\n\nSigned-off-by: Maksim Rayskiy \u003cmaksim.rayskiy@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "78530bf7f2559b317c04991b52217c1608d5a58d",
      "tree": "c7f34bbcee5861a1fda8482afb36b168910e7cc7",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Apr 13 10:31:52 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Apr 13 10:43:32 2011 +0300"
      },
      "message": "UBIFS: fix oops when R/O file-system is fsync\u0027ed\n\nThis patch fixes severe UBIFS bug: UBIFS oopses when we \u0027fsync()\u0027 an\nfile on R/O-mounter file-system. We (the UBIFS authors) incorrectly\nthought that VFS would not propagate \u0027fsync()\u0027 down to the file-system\nif it is read-only, but this is not the case.\n\nIt is easy to exploit this bug using the following simple perl script:\n\nuse strict;\nuse File::Sync qw(fsync sync);\n\ndie \"File path is not specified\" if not defined $ARGV[0];\nmy $path \u003d $ARGV[0];\n\nopen FILE, \"\u003c\", \"$path\" or die \"Cannot open $path: $!\";\nfsync(\\*FILE) or die \"cannot fsync $path: $!\";\nclose FILE or die \"Cannot close $path: $!\";\n\nThanks to Reuben Dowle \u003cReuben.Dowle@navico.com\u003e for reporting about this\nissue.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nReported-by: Reuben Dowle \u003cReuben.Dowle@navico.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "329c5056be8774255db04b01242a9ff4f02eb8ea",
      "tree": "a0aa0ebeb00644833b54df6274058c5a2aa8b7c4",
      "parents": [
        "3153495d8ed6a9bb9f00aea42c18dc488a885dd6"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Apr 13 14:07:59 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 13 14:25:35 2011 +0800"
      },
      "message": "Btrfs: Check validity before setting an acl\n\nCall posix_acl_valid() to check if an acl is valid or not.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "3153495d8ed6a9bb9f00aea42c18dc488a885dd6",
      "tree": "ee1b57cff9be737fee9d4e35290e3c6586785de8",
      "parents": [
        "b9e03af0bcc11310f6be4a3951c9ee2c26465011"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Apr 13 13:19:21 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 13 14:25:32 2011 +0800"
      },
      "message": "Btrfs: Fix incorrect inode nlink in btrfs_link()\n\nLink count of the inode is not decreased if btrfs_set_inode_index()\nfails.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSinged-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "b9e03af0bcc11310f6be4a3951c9ee2c26465011",
      "tree": "f7a89518879e38ae460f6b3c2e6cc9a32c7243bc",
      "parents": [
        "2e6a00356a066d34cd00872b067589549169ad48"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 23 10:43:58 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 13 14:25:31 2011 +0800"
      },
      "message": "Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()\n\nbtrfs_next_leaf() can return -errno, and we should propagate\nit to userspace.\n\nThis also simplifies how we walk the btree path.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "2e6a00356a066d34cd00872b067589549169ad48",
      "tree": "3fb780843d0f88b4e2939e33796eee5b96ae1716",
      "parents": [
        "109b36a2bb3eebf5c9994980e724958a5b2b62b6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 17 15:17:59 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 13 14:25:28 2011 +0800"
      },
      "message": "Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()\n\nbtrfs_next_leaf() can return -errno, and we should propagate\nit to userspace.\n\nThis also simplifies how we walk the btree path.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "109b36a2bb3eebf5c9994980e724958a5b2b62b6",
      "tree": "2f9211a615e24452d88040741d93f04714cfef34",
      "parents": [
        "874d0d2633e0f3fe955607c6b04d5fc5325781c4"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 12 13:57:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 12 20:51:26 2011 -0400"
      },
      "message": "Btrfs: make uncache_state unconditional\n\nThe extent_io code can take cached pointers into the extent state trees,\nand these can make lookups much faster in common operations.  The\ncaching only happens when specific bits are set that prevent merging\nand splitting of the extent state.\n\nA help function was added to uncache the state, and it was testing\nthe same set of conditionals.  This can leak in very strange corner\ncases where the lock bit goes away unexpectedly.\n\nThe uncaching should be unconditional.  Once we have a ref on the\nextent we should always give it up.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6faf9a54156fb4d01d73344cc90cb52dda074433",
      "tree": "5b7e904314ea3d62ab79b04d6af63e6ac0ef8dee",
      "parents": [
        "d77d9597ad8f2bd381a5168005a21e82df6f18eb",
        "ca83ce3d5b9ad321ee24f5870a77f0b21ac5a5de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 15:24:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 15:24:42 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: don\u0027t allow mmap\u0027ed pages to be dirtied while under writeback (try #3)\n  [CIFS] Warn on requesting default security (ntlm) on mount\n  [CIFS] cifs: clarify the meaning of tcpStatus \u003d\u003d CifsGood\n  cifs: wrap received signature check in srv_mutex\n  cifs: clean up various nits in unicode routines (try #2)\n  cifs: clean up length checks in check2ndT2\n  cifs: set ra_pages in backing_dev_info\n  cifs: fix broken BCC check in is_valid_oplock_break\n  cifs: always do is_path_accessible check in cifs_mount\n  various endian fixes to cifs\n  Elminate sparse __CHECK_ENDIAN__ warnings on port conversion\n  Max share size is too small\n  Allow user names longer than 32 bytes\n  cifs: replace /proc/fs/cifs/Experimental with a module parm\n  cifs: check for private_data before trying to put it\n"
    },
    {
      "commit": "0d88f6e804c824454b5ed0d3034ed3dcf7467a87",
      "tree": "3323e2860f7bf892c889270cf936a3c4a45f3b80",
      "parents": [
        "95042f9eb78a8d9a17455e2ef263f2f310ecef15"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Apr 12 19:18:08 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 14:17:24 2011 -0700"
      },
      "message": "nfs: don\u0027t call __mark_inode_dirty while holding i_lock\n\nnfs_scan_commit() is called with the inode-\u003ei_lock held, but it then\ncalls __mark_inode_dirty() while still holding the lock. This causes\na deadlock.\n\nPush the inode-\u003ei_lock into nfs_scan_commit() so it can protect only\nthe parts of the code it needs to and can be dropped before the call\nto __mark_inode_dirty() to avoid the deadlock.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nTested-by: Will Simoneau \u003csimoneau@ele.uri.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be85bccaa5aa5a11dcaf85f9e945ffefd253f631",
      "tree": "342a0c1529d077ec499f62dfa01ff4697387f1ab",
      "parents": [
        "16ad56972ca3161eb97583897f17c1ead0c4ebd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 13:35:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 13:35:56 2011 -0700"
      },
      "message": "Revert \"vfs: Export file system uuid via /proc/\u003cpid\u003e/mountinfo\"\n\nThis reverts commit 93f1c20bc8cdb757be50566eff88d65c3b26881f.\n\nIt turns out that libmount misparses it because it adds a \u0027-\u0027 character\nin the uuid string, which libmount then incorrectly confuses with the\nseparator string (\" - \") at the end of all the optional arguments.\n\nUpstream libmount (in the util-linux tree) has been fixed, but until\nthat fix actually percolates up to users, we\u0027d better not expose this\nchange in the kernel.\n\nLet\u0027s revisit this later (possibly by exposing the UUID without any \u0027-\u0027\ncharacters in it, avoiding the user-space bug).\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Karel Zak \u003ckzak@redhat.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca83ce3d5b9ad321ee24f5870a77f0b21ac5a5de",
      "tree": "7added4d982e03c89599ef7c78c9b69845a7504d",
      "parents": [
        "d9b942013730c38ac83564d6669c6d0ecf6d754d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 12 09:13:44 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 14:19:55 2011 +0000"
      },
      "message": "cifs: don\u0027t allow mmap\u0027ed pages to be dirtied while under writeback (try #3)\n\nThis is more or less the same patch as before, but with some merge\nconflicts fixed up.\n\nIf a process has a dirty page mapped into its page tables, then it has\nthe ability to change it while the client is trying to write the data\nout to the server. If that happens after the signature has been\ncalculated then that signature will then be wrong, and the server will\nlikely reset the TCP connection.\n\nThis patch adds a page_mkwrite handler for CIFS that simply takes the\npage lock. Because the page lock is held over the life of writepage and\nwritepages, this prevents the page from becoming writeable until\nthe write call has completed.\n\nWith this, we can also remove the \"sign_zero_copy\" module option and\nalways inline the pages when writing.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d9b942013730c38ac83564d6669c6d0ecf6d754d",
      "tree": "91dad22a8b0a6a39216a4d016e2822e70ae5edad",
      "parents": [
        "fd88ce9313e9f9d3b56eada7fc76a301828baefd"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 01:24:57 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 01:27:45 2011 +0000"
      },
      "message": "[CIFS] Warn on requesting default security (ntlm) on mount\n\nWarn once if default security (ntlm) requested. We will\nupdate the default to the stronger security mechanism\n(ntlmv2) in 2.6.41.  Kerberos is also stronger than\nntlm, but more servers support ntlmv2 and ntlmv2\ndoes not require an upcall, so ntlmv2 is a better\ndefault.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fd88ce9313e9f9d3b56eada7fc76a301828baefd",
      "tree": "da6f5ec8cbb639b68ed68d22ab3d879b51550f42",
      "parents": [
        "157c249114508aa71daa308a426e15d81a4eed00"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 01:01:14 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 01:01:14 2011 +0000"
      },
      "message": "[CIFS] cifs: clarify the meaning of tcpStatus \u003d\u003d CifsGood\n\nWhen the TCP_Server_Info is first allocated and connected, tcpStatus \u003d\u003d\nCifsGood means that the NEGOTIATE_PROTOCOL request has completed and the\nsocket is ready for other calls. cifs_reconnect however sets tcpStatus\nto CifsGood as soon as the socket is reconnected and the optional\nRFC1001 session setup is done. We have no clear way to tell the\ndifference between these two states, and we need to know this in order\nto know whether we can send an echo or not.\n\nResolve this by adding a new statusEnum value -- CifsNeedNegotiate. When\nthe socket has been connected but has not yet had a NEGOTIATE_PROTOCOL\nrequest done, set it to this value. Once the NEGOTIATE is done,\ncifs_negotiate_protocol will set tcpStatus to CifsGood.\n\nThis also fixes and cleans the logic in cifs_reconnect and\ncifs_reconnect_tcon. The old code checked for specific states when what\nit really wants to know is whether the state has actually changed from\nCifsNeedReconnect.\n\nReported-and-Tested-by: JG \u003cjg@cms.ac\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "157c249114508aa71daa308a426e15d81a4eed00",
      "tree": "401c8aefddc465a2ff780d8982ddafd62d36506c",
      "parents": [
        "581ade4d1c025eb10421eda0d0c0a2f04447d7c5"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Apr 02 07:34:30 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:58:28 2011 +0000"
      },
      "message": "cifs: wrap received signature check in srv_mutex\n\nWhile testing my patchset to fix asynchronous writes, I hit a bunch\nof signature problems when testing with signing on. The problem seems\nto be that signature checks on receive can be running at the same\ntime as a process that is sending, or even that multiple receives can\nbe checking signatures at the same time, clobbering the same data\nstructures.\n\nWhile we\u0027re at it, clean up the comments over cifs_calculate_signature\nand add a note that the srv_mutex should be held when calling this\nfunction.\n\nThis patch seems to fix the problems for me, but I\u0027m not clear on\nwhether it\u0027s the best approach. If it is, then this should probably\ngo to stable too.\n\nCc: stable@kernel.org\nCc: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "581ade4d1c025eb10421eda0d0c0a2f04447d7c5",
      "tree": "b65a074f6f3cf769f3add8f59e37758e37e70fca",
      "parents": [
        "c0c7b905e911a1f1faf515a24e849d4ffcdd0a8a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 05 15:02:37 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:57:12 2011 +0000"
      },
      "message": "cifs: clean up various nits in unicode routines (try #2)\n\nMinor revision to the original patch. Don\u0027t abuse the __le16 variable\non the stack by casting it to wchar_t and handing it off to char2uni.\nDeclare an actual wchar_t on the stack instead. This fixes a valid\nsparse warning.\n\nFix the spelling of UNI_ASTERISK. Eliminate the unneeded len_remaining\nvariable in cifsConvertToUCS.\n\nAlso, as David Howells points out. We were better off making\ncifsConvertToUCS *not* use put_unaligned_le16 since it means that we\ncan\u0027t optimize the mapped characters at compile time. Switch them\ninstead to use cpu_to_le16, and simply use put_unaligned to set them\nin the string.\n\nReported-and-acked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c0c7b905e911a1f1faf515a24e849d4ffcdd0a8a",
      "tree": "8449fe54d28dc94b78ec43d48c99300c023f2de0",
      "parents": [
        "2b6c26a0a62cc0bab0ad487533d5581d7c293fef"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Mar 31 17:32:54 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:56:46 2011 +0000"
      },
      "message": "cifs: clean up length checks in check2ndT2\n\nThus spake David Howells:\n\nThe code that follows this:\n\n  \tremaining \u003d total_data_size - data_in_this_rsp;\n\tif (remaining \u003d\u003d 0)\n\t\treturn 0;\n\telse if (remaining \u003c 0) {\n\ngenerates better code if you drop the \u0027remaining\u0027 variable and compare\nthe values directly.\n\nClean it up per his recommendation...\n\nReported-and-acked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b6c26a0a62cc0bab0ad487533d5581d7c293fef",
      "tree": "9d1d9b7c3313c43ac580432dbd5ffcceef825d24",
      "parents": [
        "8679b0dba7cb98842cbe37f61ef05ef64106334c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 25 16:25:57 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:56:00 2011 +0000"
      },
      "message": "cifs: set ra_pages in backing_dev_info\n\nCommit 522440ed made cifs set backing_dev_info on the mapping attached\nto new inodes. This change caused a fairly significant read performance\nregression, as cifs started doing page-sized reads exclusively.\n\nBy virtue of the fact that they\u0027re allocated as part of cifs_sb_info by\nkzalloc, the ra_pages on cifs BDIs get set to 0, which prevents any\nreadahead. This forces the normal read codepaths to use readpage instead\nof readpages causing a four-fold increase in the number of read calls\nwith the default rsize.\n\nFix it by setting ra_pages in the BDI to the same value as that in the\ndefault_backing_dev_info.\n\nFixes https://bugzilla.kernel.org/show_bug.cgi?id\u003d31662\n\nCc: stable@kernel.org\nReported-and-Tested-by: Till \u003ctill2.schaefer@uni-dortmund.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8679b0dba7cb98842cbe37f61ef05ef64106334c",
      "tree": "8e66525517c527e8a6e466e6fa5637623784ecf5",
      "parents": [
        "70945643722ffeac779d2529a348f99567fa5c33"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Mar 16 15:15:30 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:54:30 2011 +0000"
      },
      "message": "cifs: fix broken BCC check in is_valid_oplock_break\n\nThe BCC is still __le16 at this point, and in any case we need to\nuse the get_bcc_le macro to make sure we don\u0027t hit alignment\nproblems.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "70945643722ffeac779d2529a348f99567fa5c33",
      "tree": "8dd3beff7efb653d6cff8836fbae686d472b5499",
      "parents": [
        "5443d130aa4990424a8e64984e64b50ec70661bb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Mar 14 13:48:08 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:52:08 2011 +0000"
      },
      "message": "cifs: always do is_path_accessible check in cifs_mount\n\nCurrently, we skip doing the is_path_accessible check in cifs_mount if\nthere is no prefixpath. I have a report of at least one server however\nthat allows a TREE_CONNECT to a share that has a DFS referral at its\nroot. The reporter in this case was using a UNC that had no prefixpath,\nso the is_path_accessible check was not triggered and the box later hit\na BUG() because we were chasing a DFS referral on the root dentry for\nthe mount.\n\nThis patch fixes this by removing the check for a zero-length\nprefixpath.  That should make the is_path_accessible check be done in\nthis situation and should allow the client to chase the DFS referral at\nmount time instead.\n\nCc: stable@kernel.org\nReported-and-Tested-by: Yogesh Sharma \u003cysharma@cymer.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5443d130aa4990424a8e64984e64b50ec70661bb",
      "tree": "26cbfc53e0078b88c9b2abfe37d0ef4cc9fbf79d",
      "parents": [
        "6da9791061ca3b7b3c7eb7350eb452443f40a0e5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Mar 13 05:08:25 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:51:35 2011 +0000"
      },
      "message": "various endian fixes to cifs\n\nmake modules C\u003d2 M\u003dfs/cifs CF\u003d-D__CHECK_ENDIAN__\n\nFound for example:\n\n CHECK   fs/cifs/cifssmb.c\nfs/cifs/cifssmb.c:728:22: warning: incorrect type in assignment (different base types)\nfs/cifs/cifssmb.c:728:22:    expected unsigned short [unsigned] [usertype] Tid\nfs/cifs/cifssmb.c:728:22:    got restricted __le16 [usertype] \u003cnoident\u003e\nfs/cifs/cifssmb.c:1883:45: warning: incorrect type in assignment (different base types)\nfs/cifs/cifssmb.c:1883:45:    expected long long [signed] [usertype] fl_start\nfs/cifs/cifssmb.c:1883:45:    got restricted __le64 [usertype] start\nfs/cifs/cifssmb.c:1884:54: warning: restricted __le64 degrades to integer\nfs/cifs/cifssmb.c:1885:58: warning: restricted __le64 degrades to integer\nfs/cifs/cifssmb.c:1886:43: warning: incorrect type in assignment (different base types)\nfs/cifs/cifssmb.c:1886:43:    expected unsigned int [unsigned] fl_pid\nfs/cifs/cifssmb.c:1886:43:    got restricted __le32 [usertype] pid\n\nIn checking new smb2 code for missing endian conversions, I noticed\nsome endian errors had crept in over the last few releases into the\ncifs code (symlink, ntlmssp, posix lock, and also a less problematic warning\nin fscache).  A followon patch will address a few smb2 endian\nproblems.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6da9791061ca3b7b3c7eb7350eb452443f40a0e5",
      "tree": "c1bded8c22287683706708a0c96c66197135d8de",
      "parents": [
        "2e325d5973b99bb7421e689351ca74f349eee5ea"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Mar 13 18:55:55 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:49:08 2011 +0000"
      },
      "message": "Elminate sparse __CHECK_ENDIAN__ warnings on port conversion\n\nPorts are __be16 not unsigned short int\n\nEliminates the remaining fixable endian warnings:\n\n~/cifs-2.6$ make modules C\u003d1 M\u003dfs/cifs CF\u003d-D__CHECK_ENDIAN__\n  CHECK   fs/cifs/connect.c\nfs/cifs/connect.c:2408:23: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2408:23:    expected unsigned short *sport\nfs/cifs/connect.c:2408:23:    got restricted __be16 *\u003cnoident\u003e\nfs/cifs/connect.c:2410:23: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2410:23:    expected unsigned short *sport\nfs/cifs/connect.c:2410:23:    got restricted __be16 *\u003cnoident\u003e\nfs/cifs/connect.c:2416:24: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2416:24:    expected unsigned short [unsigned] [short] \u003cnoident\u003e\nfs/cifs/connect.c:2416:24:    got restricted __be16 [usertype] \u003cnoident\u003e\nfs/cifs/connect.c:2423:24: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2423:24:    expected unsigned short [unsigned] [short] \u003cnoident\u003e\nfs/cifs/connect.c:2423:24:    got restricted __be16 [usertype] \u003cnoident\u003e\nfs/cifs/connect.c:2326:23: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2326:23:    expected unsigned short [unsigned] sport\nfs/cifs/connect.c:2326:23:    got restricted __be16 [usertype] sin6_port\nfs/cifs/connect.c:2330:23: warning: incorrect type in assignment (different base types)\nfs/cifs/connect.c:2330:23:    expected unsigned short [unsigned] sport\nfs/cifs/connect.c:2330:23:    got restricted __be16 [usertype] sin_port\nfs/cifs/connect.c:2394:22: warning: restricted __be16 degrades to integer\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2e325d5973b99bb7421e689351ca74f349eee5ea",
      "tree": "c8c0102e8056332d374e4cc36bd655ee002f9a53",
      "parents": [
        "8727c8a85f3951ef0eef36a665f5dceebb4c495d"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 08 05:51:19 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:47:14 2011 +0000"
      },
      "message": "Max share size is too small\n\nMax share name was set to 64, and (at least for Windows)\ncan be 80.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "874d0d2633e0f3fe955607c6b04d5fc5325781c4",
      "tree": "a96165f1f13501419af1c88dae146bc1061f8664",
      "parents": [
        "507903b81840a70cc6a179d4eb03584ad50e8c5b",
        "13c5a93e7005d7dae0b6d070d25203593e692d13"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:46:03 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:46:03 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus\n"
    },
    {
      "commit": "507903b81840a70cc6a179d4eb03584ad50e8c5b",
      "tree": "ec3ccd0d2dd8feb15f4b01627112c8e2cf74d989",
      "parents": [
        "e15d0542426f063dc53b4c51bdfc11e0bbe4d298"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Wed Apr 06 10:02:20 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:45:36 2011 -0400"
      },
      "message": "btrfs: using cached extent_state in set/unlock combinations\n\nIn several places the sequence (set_extent_uptodate, unlock_extent) is used.\nThis leads to a duplicate lookup of the extent state. This patch lets\nset_extent_uptodate return a cached extent_state which can be passed to\nunlock_extent_cached.\nThe occurences of the above sequences are updated to use the cache. Only\nend_bio_extent_readpage is updated that it first gets a cached state to\npass it to the readpage_end_io_hook as the prototype requested and is later\non being used for set/unlock.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "13c5a93e7005d7dae0b6d070d25203593e692d13",
      "tree": "ecbc7205618940bbba3f0d9ad000462a5364f763",
      "parents": [
        "93a54bc4c28a125978cddbe2db9e347391e3522d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Apr 11 15:45:29 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Apr 11 20:43:52 2011 -0400"
      },
      "message": "Btrfs: avoid taking the trans_mutex in btrfs_end_transaction\n\nI\u0027ve been working on making our O_DIRECT latency not suck and I noticed we were\ntaking the trans_mutex in btrfs_end_transaction.  So to do this we convert\nnum_writers and use_count to atomic_t\u0027s and just decrement them in\nbtrfs_end_transaction.  Instead of deleting the transaction from the trans list\nin put_transaction we do that in btrfs_commit_transaction() since that\u0027s the\nonly time it actually needs to be removed from the list.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "8727c8a85f3951ef0eef36a665f5dceebb4c495d",
      "tree": "f35b215604127ebb05a977a1b8c093b7b441b6af",
      "parents": [
        "bdf1b03e093bdbc571f404e751c7b0e2dca412ea"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Feb 25 01:11:56 2011 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:42:06 2011 +0000"
      },
      "message": "Allow user names longer than 32 bytes\n\nWe artificially limited the user name to 32 bytes, but modern servers handle\nlarger.  Set the maximum length to a reasonable 256, and make the user name\nstring dynamically allocated rather than a fixed size in session structure.\nAlso clean up old checkpatch warning.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bdf1b03e093bdbc571f404e751c7b0e2dca412ea",
      "tree": "59034d81cfd01c14c21256229a355a06310ce6b5",
      "parents": [
        "7797069305d13252fd66cf722aa8f2cbeb3c95cd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 22 20:17:19 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:40:43 2011 +0000"
      },
      "message": "cifs: replace /proc/fs/cifs/Experimental with a module parm\n\nThis flag currently only affects whether we allow \"zero-copy\" writes\nwith signing enabled. Typically we map pages in the pagecache directly\ninto the write request. If signing is enabled however and the contents\nof the page change after the signature is calculated but before the\nwrite is sent then the signature will be wrong. Servers typically\nrespond to this by closing down the socket.\n\nStill, this can provide a performance benefit so the \"Experimental\" flag\nwas overloaded to allow this. That\u0027s really not a good place for this\noption however since it\u0027s not clear what that flag does.\n\nMove that flag instead to a new module parameter that better describes\nits purpose. That\u0027s also better since it can be set at module insertion\ntime by configuring modprobe.d.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7797069305d13252fd66cf722aa8f2cbeb3c95cd",
      "tree": "85464ab3649def5954b04139c5854ae593db0703",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 05 16:23:47 2011 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:39:05 2011 +0000"
      },
      "message": "cifs: check for private_data before trying to put it\n\ncifs_close doesn\u0027t check that the filp-\u003eprivate_data is non-NULL before\ntrying to put it. That can cause an oops in certain error conditions\nthat can occur on open or lookup before the private_data is set.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e15d0542426f063dc53b4c51bdfc11e0bbe4d298",
      "tree": "29299313a855f1533e4d55500d17c317d3b8f078",
      "parents": [
        "13f2696f1da9700d401db0ac2bc27ebc17068b22"
      ],
      "author": {
        "name": "Xin Zhong",
        "email": "xin.zhong@intel.com",
        "time": "Wed Apr 06 07:33:51 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:26:50 2011 -0400"
      },
      "message": "Btrfs: fix subvolume mount by name problem when default mount subvolume is set\n\nWe create two subvolumes (meego_root and meego_home) in\nbtrfs root directory. And set meego_root as default mount\nsubvolume. After we remount btrfs, meego_root is mounted\nto top directory by default. Then when we try to mount\nmeego_home (subvol\u003dmeego_home) to a subdirectory, it failed.\nThe problem is when default mount subvolume is set to\nmeego_root, we search meego_home in meego_root but can not find\nit. So the solution is to add a new mount option (subvolrootid)\nto specify subvol id of root and search subvol name in it. For\nour case, now we can use \"-o subvolrootid\u003d0,subvol\u003dmeego_home)\nto mount meego_home.\n\nDetail information can be found in meego bugzilla:\nhttps://bugs.meego.com/show_bug.cgi?id\u003d15055\n\nSigned-off-by: Zhong, Xin \u003cxin.zhong@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "13f2696f1da9700d401db0ac2bc27ebc17068b22",
      "tree": "fa7e518f896ed8f69da76b0feb33867a73aa2cce",
      "parents": [
        "a1b75f7d961955e697ec377f90115e3517df98f9"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Mon Apr 11 15:56:31 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:25:46 2011 -0400"
      },
      "message": "fix user annotation in ioctl.c\n\nFix address space annotation correct in ioctl.c.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\n\n \t\t       BTRFS_BLOCK_GROUP_SYSTEM,\n@@ -2387,7 +2387,7 @@ long btrfs_ioctl_space_info(struct btrfs_root\n*root, void __user *arg)\n \t\tup_read(\u0026info-\u003egroups_sem);\n \t}\n\n-\tuser_dest \u003d (struct btrfs_ioctl_space_info *)\n+\tuser_dest \u003d (struct btrfs_ioctl_space_info __user *)\n \t\t(arg + sizeof(struct btrfs_ioctl_space_args));\n\n \tif (copy_to_user(user_dest, dest_orig, alloc_size))\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a1b75f7d961955e697ec377f90115e3517df98f9",
      "tree": "ae7fe104dc20222f05be528d85f3c4fa40aa9331",
      "parents": [
        "3387206f26e1b48703e810175b98611a4fd8e8ea"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 15:51:18 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:25:06 2011 -0400"
      },
      "message": "Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n\nApparently it is ok to submit a read to an IDE device with the same target page\nfor different offsets.  This is what Windows does under qemu.  The problem is\nunder DIO we expect them to be different buffers for checksumming reasons, and\nso this sort of thing will result in checksum errors, when in reality the file\nis fine.  So when reading, check to make sure that all iov bases are different,\nand if they aren\u0027t fall back to buffered mode, since that will work out right.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3387206f26e1b48703e810175b98611a4fd8e8ea",
      "tree": "501460ae54271ab8872606b9aef0bc3ab2ec5bc0",
      "parents": [
        "8fb27640d0e2b43c5584bf0087431b7b8d3c319a"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyich@gmail.com",
        "time": "Mon Apr 11 21:52:52 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:25:06 2011 -0400"
      },
      "message": "btrfs: properly handle overlapping areas in memmove_extent_buffer\n\nFix data corruption caused by memcpy() usage on overlapping data.\nI\u0027ve observed it first when found out usermode linux crash on btrfs.\n\n?all chain is the following:\n------------[ cut here ]------------\nWARNING: at /home/slyfox/linux-2.6/fs/btrfs/extent_io.c:3900 memcpy_extent_buffer+0x1a5/0x219()\nCall Trace:\n6fa39a58:  [\u003c601b495e\u003e] _raw_spin_unlock_irqrestore+0x18/0x1c\n6fa39a68:  [\u003c60029ad9\u003e] warn_slowpath_common+0x59/0x70\n6fa39aa8:  [\u003c60029b05\u003e] warn_slowpath_null+0x15/0x17\n6fa39ab8:  [\u003c600efc97\u003e] memcpy_extent_buffer+0x1a5/0x219\n6fa39b48:  [\u003c600efd9f\u003e] memmove_extent_buffer+0x94/0x208\n6fa39bc8:  [\u003c600becbf\u003e] btrfs_del_items+0x214/0x473\n6fa39c78:  [\u003c600ce1b0\u003e] btrfs_delete_one_dir_name+0x7c/0xda\n6fa39cc8:  [\u003c600dad6b\u003e] __btrfs_unlink_inode+0xad/0x25d\n6fa39d08:  [\u003c600d7864\u003e] btrfs_start_transaction+0xe/0x10\n6fa39d48:  [\u003c600dc9ff\u003e] btrfs_unlink_inode+0x1b/0x3b\n6fa39d78:  [\u003c600e04bc\u003e] btrfs_unlink+0x70/0xef\n6fa39dc8:  [\u003c6007f0d0\u003e] vfs_unlink+0x58/0xa3\n6fa39df8:  [\u003c60080278\u003e] do_unlinkat+0xd4/0x162\n6fa39e48:  [\u003c600517db\u003e] call_rcu_sched+0xe/0x10\n6fa39e58:  [\u003c600452a8\u003e] __put_cred+0x58/0x5a\n6fa39e78:  [\u003c6007446c\u003e] sys_faccessat+0x154/0x166\n6fa39ed8:  [\u003c60080317\u003e] sys_unlink+0x11/0x13\n6fa39ee8:  [\u003c60016b80\u003e] handle_syscall+0x58/0x70\n6fa39f08:  [\u003c60021377\u003e] userspace+0x2d4/0x381\n6fa39fc8:  [\u003c60014507\u003e] fork_handler+0x62/0x69\n---[ end trace 70b0ca2ef0266b93 ]---\n\nhttp://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg09302.html\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@gentoo.org\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "8fb27640d0e2b43c5584bf0087431b7b8d3c319a",
      "tree": "0d25f1135a004ab7d88441f9aa8b235bd033077b",
      "parents": [
        "c9ddec74aa950a220cc4caa5215cfc5d886050b7"
      ],
      "author": {
        "name": "Yoshinori Sano",
        "email": "yoshinori.sano@gmail.com",
        "time": "Sat Apr 09 02:30:07 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 11 20:25:06 2011 -0400"
      },
      "message": "Btrfs: fix memory leaks in btrfs_new_inode()\n\nThis patch fixes memory leaks in btrfs_new_inode().\n\nSigned-off-by: Yoshinori Sano \u003cyoshinori.sano@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1e05ff020f692de078226fd5480adc76317e37bb",
      "tree": "daae233648b0afc36cdab0de675d40e2b40042bd",
      "parents": [
        "a97b52022a73ec12e43f0b2c7d4bd1f40f89c81d",
        "39411f81eec7dc01677b14dda97684c0ce23ac1b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:48:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:48:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: use proper interfaces for on-stack plugging\n  xfs: fix xfs_debug warnings\n  xfs: fix variable set but not used warnings\n  xfs: convert log tail checking to a warning\n  xfs: catch bad block numbers freeing extents.\n  xfs: push the AIL from memory reclaim and periodic sync\n  xfs: clean up code layout in xfs_trans_ail.c\n  xfs: convert the xfsaild threads to a workqueue\n  xfs: introduce background inode reclaim work\n  xfs: convert ENOSPC inode flushing to use new syncd workqueue\n  xfs: introduce a xfssyncd workqueue\n  xfs: fix extent format buffer allocation size\n  xfs: fix unreferenced var error in xfs_buf.c\n\nAlso, applied patch from Tony Luck that fixes ia64:\n  xfs_destroy_workqueues() should not be tagged with__exit\nin the branch before merging.\n"
    },
    {
      "commit": "39411f81eec7dc01677b14dda97684c0ce23ac1b",
      "tree": "332cbcd641b09f25c35167b44bcd8fc70918c66e",
      "parents": [
        "a1b7ea5d58c53c13f082110e535d98bc4e8e5cfe"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Mon Apr 11 12:06:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:47:20 2011 -0700"
      },
      "message": "xfs_destroy_workqueues() should not be tagged with__exit\n\nia64 throws away .exit sections for the built-in CONFIG case, so routines\nthat are used in other circumstances should not be tagged as __exit.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a97b52022a73ec12e43f0b2c7d4bd1f40f89c81d",
      "tree": "1a35544915a5704fa59c63b43e9f46e20be1e296",
      "parents": [
        "18770c7c3a0ccd60017ac76b5d2e7d1f71376b94",
        "c8205636029fc869278c55b7336053b3e7ae3ef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:45:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:45:47 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix data corruption regression by reverting commit 6de9843dab3f\n  ext4: Allow indirect-block file to grow the file size to max file size\n  ext4: allow an active handle to be started when freezing\n  ext4: sync the directory inode in ext4_sync_parent()\n  ext4: init timer earlier to avoid a kernel panic in __save_error_info\n  jbd2: fix potential memory leak on transaction commit\n  ext4: fix a double free in ext4_register_li_request\n  ext4: fix credits computing for indirect mapped files\n  ext4: remove unnecessary [cm]time update of quota file\n  jbd2: move bdget out of critical section\n"
    },
    {
      "commit": "18770c7c3a0ccd60017ac76b5d2e7d1f71376b94",
      "tree": "548e113ab83307d25e41ea1e67ace6f53b194798",
      "parents": [
        "6b98cd5aad3bb51a3b5b51ba670ab8d5fe1cc487",
        "23fcf2ec93fb8573a653408316af599939ff9a8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:45:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 11 15:45:17 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.39\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: fix oops on lock failure\n  nfsd: fix auth_domain reference leak on nlm operations\n"
    },
    {
      "commit": "c8205636029fc869278c55b7336053b3e7ae3ef4",
      "tree": "c22b4f2fab37d14d4b81ad5683110075afdc35ea",
      "parents": [
        "f80da1e70f1ffec3825aa0a1d0801f4896e002b6"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Apr 10 22:30:07 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Apr 10 22:30:07 2011 -0400"
      },
      "message": "ext4: fix data corruption regression by reverting commit 6de9843dab3f\n\nRevert commit 6de9843dab3f2a1d4d66d80aa9e5782f80977d20, since it\ncaused a data corruption regression with BitTorrent downloads.  Thanks\nto Damien for discovering and bisecting to find the problem commit.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d32972\n\nReported-by: Damien Grassart \u003cdamien@grassart.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f80da1e70f1ffec3825aa0a1d0801f4896e002b6",
      "tree": "42976f4e0fc07da78ffce618b7e98b87d82a2bff",
      "parents": [
        "be4f27d324e8ddd57cc0d4d604fe85ee0425cba9"
      ],
      "author": {
        "name": "Kazuya Mio",
        "email": "k-mio@sx.jp.nec.com",
        "time": "Sun Apr 10 22:06:36 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Apr 10 22:06:36 2011 -0400"
      },
      "message": "ext4: Allow indirect-block file to grow the file size to max file size\n\nWe can create 4402345721856 byte file with indirect block mapping.\nHowever, if we grow an indirect-block file to the size with ftruncate(),\nwe can see an ext4 warning. The following patch fixes this problem.\n\nHow to reproduce:\n# dd if\u003d/dev/zero of\u003d/mnt/mp1/hoge bs\u003d1 count\u003d0 seek\u003d4402345721856\n0+0 records in\n0+0 records out\n0 bytes (0 B) copied, 0.000221428 s, 0.0 kB/s\n# tail -n 1 /var/log/messages\nNov 25 15:10:27 test kernel: EXT4-fs warning (device sda8): ext4_block_to_path:345: block 1074791436 \u003e max in inode 12\n\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "be4f27d324e8ddd57cc0d4d604fe85ee0425cba9",
      "tree": "e4262a9e1ade9095e1bf937dc4b9d56a08824eda",
      "parents": [
        "0893ed458b4b1d7c7667ca7ffb8b11febe7e7e6c"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Sun Apr 10 22:06:07 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Apr 10 22:06:07 2011 -0400"
      },
      "message": "ext4: allow an active handle to be started when freezing\n\next4_journal_start_sb() should not prevent an active handle from being\nstarted due to s_frozen.  Otherwise, deadlock is easy to happen, below\nis a situation.\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\n     freeze         |       truncate\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\n                    |  ext4_ext_truncate()\n    freeze_super()  |   starts a handle\n    sets s_frozen   |\n                    |  ext4_ext_truncate()\n                    |  holds i_data_sem\n  ext4_freeze()     |\n  waits for updates |\n                    |  ext4_free_blocks()\n                    |  calls dquot_free_block()\n                    |\n                    |  dquot_free_blocks()\n                    |  calls ext4_dirty_inode()\n                    |\n                    |  ext4_dirty_inode()\n                    |  trys to start an active\n                    |  handle\n                    |\n                    |  block due to s_frozen\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\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReported-by: Amir Goldstein \u003camir73il@users.sf.net\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Andreas Dilger \u003cadilger@dilger.ca\u003e\n"
    },
    {
      "commit": "0893ed458b4b1d7c7667ca7ffb8b11febe7e7e6c",
      "tree": "a9a4e226a6bfa7a13e0cad545280e5e8ce2a80b2",
      "parents": [
        "0449641130f5652b344ef6fa39fa019d7e94660a"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Sun Apr 10 22:05:31 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Apr 10 22:05:31 2011 -0400"
      },
      "message": "ext4: sync the directory inode in ext4_sync_parent()\n\next4 has taken the stance that, in the absence of a journal,\nwhen an fsync/fdatasync of an inode is done, the parent\ndirectory should be sync\u0027ed if this inode entry is new.\next4_sync_parent(), which implements this, does indeed sync\nthe dirent pages for parent directories, but it does not\nsync the directory *inode*.  This patch fixes this.\n\nAlso now return error status from ext4_sync_parent().\n\nI tested this using a power fail test, which panics a\nmachine running a file server getting requests from a\nclient.  Without this patch, on about every other test run,\nthe server is missing many, many files that had been synced.\nWith this patch, on \u003e 6 runs, I see zero files being lost.\n\nGoogle-Bug-Id: 4179519\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "23fcf2ec93fb8573a653408316af599939ff9a8e",
      "tree": "36fcfe93f655c77651f4417b6882b9a4e04392c3",
      "parents": [
        "954032d2527f2fce7355ba70709b5e143d6b686f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 28 15:15:09 2011 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Apr 10 12:21:27 2011 -0400"
      },
      "message": "nfsd4: fix oops on lock failure\n\nLock stateid\u0027s can have access_bmap 0 if they were only partially\ninitialized (due to a failed lock request); handle that case in\nfree_generic_stateid.\n\n------------[ cut here ]------------\nkernel BUG at fs/nfsd/nfs4state.c:380!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/kernel/mm/ksm/run\nModules linked in: nfs fscache md4 nls_utf8 cifs ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat bridge stp llc nfsd lockd nfs_acl auth_rpcgss sunrpc ipv6 ppdev parport_pc parport pcnet32 mii pcspkr microcode i2c_piix4 BusLogic floppy [last unloaded: mperf]\n\nPid: 1468, comm: nfsd Not tainted 2.6.38+ #120 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform\nEIP: 0060:[\u003ce24f180d\u003e] EFLAGS: 00010297 CPU: 0\nEIP is at nfs4_access_to_omode+0x1c/0x29 [nfsd]\nEAX: ffffffff EBX: dd758120 ECX: 00000000 EDX: 00000004\nESI: dd758120 EDI: ddfe657c EBP: dd54dde0 ESP: dd54dde0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess nfsd (pid: 1468, ti\u003ddd54c000 task\u003dddc92580 task.ti\u003ddd54c000)\nStack:\n dd54ddf0 e24f19ca 00000000 ddfe6560 dd54de08 e24f1a5d dd758130 deee3a20\n ddfe6560 31270000 dd54df1c e24f52fd 0000000f dd758090 e2505dd0 0be304cf\n dbb51d68 0000000e ddfe657c ddcd8020 dd758130 dd758128 dd7580d8 dd54de68\nCall Trace:\n [\u003ce24f19ca\u003e] free_generic_stateid+0x1c/0x3e [nfsd]\n [\u003ce24f1a5d\u003e] release_lockowner+0x71/0x8a [nfsd]\n [\u003ce24f52fd\u003e] nfsd4_lock+0x617/0x66c [nfsd]\n [\u003ce24e57b6\u003e] ? nfsd_setuser+0x199/0x1bb [nfsd]\n [\u003ce24e056c\u003e] ? nfsd_setuser_and_check_port+0x65/0x81 [nfsd]\n [\u003cc07a0052\u003e] ? _cond_resched+0x8/0x1c\n [\u003cc04ca61f\u003e] ? slab_pre_alloc_hook.clone.33+0x23/0x27\n [\u003cc04cac01\u003e] ? kmem_cache_alloc+0x1a/0xd2\n [\u003cc04835a0\u003e] ? __call_rcu+0xd7/0xdd\n [\u003ce24e0dfb\u003e] ? fh_verify+0x401/0x452 [nfsd]\n [\u003ce24f0b61\u003e] ? nfsd4_encode_operation+0x52/0x117 [nfsd]\n [\u003ce24ea0d7\u003e] ? nfsd4_putfh+0x33/0x3b [nfsd]\n [\u003ce24f4ce6\u003e] ? nfsd4_delegreturn+0xd4/0xd4 [nfsd]\n [\u003ce24ea2c9\u003e] nfsd4_proc_compound+0x1ea/0x33e [nfsd]\n [\u003ce24de6ee\u003e] nfsd_dispatch+0xd1/0x1a5 [nfsd]\n [\u003ce1d6e1c7\u003e] svc_process_common+0x282/0x46f [sunrpc]\n [\u003ce1d6e578\u003e] svc_process+0xdc/0xfa [sunrpc]\n [\u003ce24de0fa\u003e] nfsd+0xd6/0x115 [nfsd]\n [\u003ce24de024\u003e] ? nfsd_shutdown+0x24/0x24 [nfsd]\n [\u003cc0454322\u003e] kthread+0x62/0x67\n [\u003cc04542c0\u003e] ? kthread_worker_fn+0x114/0x114\n [\u003cc07a6ebe\u003e] kernel_thread_helper+0x6/0x10\nCode: eb 05 b8 00 00 27 4f 8d 65 f4 5b 5e 5f 5d c3 83 e0 03 55 83 f8 02 89 e5 74 17 83 f8 03 74 05 48 75 09 eb 09 b8 02 00 00 00 eb 0b \u003c0f\u003e 0b 31 c0 eb 05 b8 01 00 00 00 5d c3 55 89 e5 57 56 89 d6 8d\nEIP: [\u003ce24f180d\u003e] nfs4_access_to_omode+0x1c/0x29 [nfsd] SS:ESP 0068:dd54dde0\n---[ end trace 2b0bf6c6557cb284 ]---\n\nThe trace route is:\n\n -\u003e nfsd4_lock()\n   -\u003e if (lock-\u003elk_is_new) {\n     -\u003e alloc_init_lock_stateid()\n\n        3739: stp-\u003est_access_bmap \u003d 0;\n\n   -\u003eif (status \u0026\u0026 lock-\u003elk_is_new \u0026\u0026 lock_sop)\n     -\u003e release_lockowner()\n      -\u003e free_generic_stateid()\n       -\u003e nfs4_access_bmap_to_omode()\n          -\u003e nfs4_access_to_omode()\n\n        380: BUG();   *****\n\nThis problem was introduced by 0997b173609b9229ece28941c118a2a9b278796e.\n\nReported-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nTested-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "94c8a984ae2adbd9a9626fb42e0f2faf3e36e86f",
      "tree": "a4beddd64501ef00ad41c8fd5974340bec2fcf73",
      "parents": [
        "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
        "37adb89fadd65ce47f7e5cfd564938a76b351948"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC\n  NFS: Fix a signed vs. unsigned secinfo bug\n  Revert \"net/sunrpc: Use static const char arrays\"\n"
    },
    {
      "commit": "93a54bc4c28a125978cddbe2db9e347391e3522d",
      "tree": "910dedd07332c4f1e25893d749fc145263b58c45",
      "parents": [
        "16d299ac7446b5a75c5683a9ae11d7907d444c86"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Apr 06 15:11:44 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:43 2011 -0400"
      },
      "message": "Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n\nApparently it is ok to submit a read to an IDE device with the same target page\nfor different offsets.  This is what Windows does under qemu.  The problem is\nunder DIO we expect them to be different buffers for checksumming reasons, and\nso this sort of thing will result in checksum errors, when in reality the file\nis fine.  So when reading, check to make sure that all iov bases are different,\nand if they aren\u0027t fall back to buffered mode, since that will work out right.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "16d299ac7446b5a75c5683a9ae11d7907d444c86",
      "tree": "95358c2fdd7af672ec68c18fb43e2e90a7cd4551",
      "parents": [
        "1ae399382512b3e4d6c923e53da9e45935577040"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Apr 06 14:53:07 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:41 2011 -0400"
      },
      "message": "Btrfs: reuse the extent_map we found when calling btrfs_get_extent\n\nIn btrfs_get_block_direct we call btrfs_get_extent to lookup the extent for the\nrange that we are looking for.  If we don\u0027t find an extent, btrfs_get_extent\nwill insert a extent_map for that area and mark it as a hole.  So it does the\njob of allocating a new extent map and inserting it into the io tree.  But if\nwe\u0027re creating a new extent we free it up and redo all of that work.  So instead\npass the em to btrfs_new_extent_direct(), and if it will work just allocate the\ndisk space and set it up properly and bypass the freeing/allocating of a new\nextent map and the expensive operation of inserting the thing into the io_tree.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "1ae399382512b3e4d6c923e53da9e45935577040",
      "tree": "0c07663bf1b6bca8cb774b187f5bb85d36e372d5",
      "parents": [
        "02f57c7aedef1a537f4b16db7061cdd8efa3bb4e"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Apr 06 14:41:34 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:39 2011 -0400"
      },
      "message": "Btrfs: do not use async submit for small DIO io\u0027s\n\nWhen looking at our DIO performance Chris said that for small IO\u0027s doing the\nasync submit stuff tends to be more overhead than it\u0027s worth.  With this on top\nof my other fixes I get about a 17-20% speedup doing a sequential dd with 4k\nIO\u0027s.  Basically if we don\u0027t have to split the bio for the map length it\u0027s small\nenough to be directly submitted, otherwise go back to the async submit.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "02f57c7aedef1a537f4b16db7061cdd8efa3bb4e",
      "tree": "e1b9cc54d0b4c661107b7a097bc0f64087aae8b6",
      "parents": [
        "1ef30be142d2cc60e2687ef267de864cf31be995"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Apr 06 14:25:44 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:37 2011 -0400"
      },
      "message": "Btrfs: don\u0027t split dio bios if we don\u0027t have to\n\nWe have been unconditionally allocating a new bio and re-adding all pages from\nour original bio to the new bio.  This is needed if our original bio is larger\nthan our stripe size, but if it is smaller than the stripe size then there is no\nneed to do this.  So check the map length and if we are under that then go ahead\nand submit the original bio.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "1ef30be142d2cc60e2687ef267de864cf31be995",
      "tree": "dbbde7067995b62e4123b44b3c62d7b5efc9ee24",
      "parents": [
        "12ddb96cb6752218d8a1aeb696ec9b0ca7adb42f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Apr 05 19:25:36 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:36 2011 -0400"
      },
      "message": "Btrfs: do not call btrfs_update_inode in endio if nothing changed\n\nIn the DIO code we often don\u0027t update the i_disk_size because the i_size isn\u0027t\nupdated until after the DIO is completed, so basically we are allocating a path,\ndoing a search, and updating the inode item for no reason since nothing changed.\nbtrfs_ordered_update_i_size will return 1 if it didn\u0027t update i_disk_size, so\nonly run btrfs_update_inode if btrfs_ordered_update_i_size returns 0.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "12ddb96cb6752218d8a1aeb696ec9b0ca7adb42f",
      "tree": "cffdb38f2f479dde85d5f96879e53ac4b8f4d6ef",
      "parents": [
        "06d5a5899d6d3ac401d2359b5eac6d2a3a0fe331"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Apr 05 13:02:27 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:34 2011 -0400"
      },
      "message": "Btrfs: map the inode item when doing fill_inode_item\n\nInstead of calling kmap_atomic for every thing we set in the inode item, map the\nentire inode item at the start and unmap it at the end.  This makes a sequential\ndd of 400mb O_DIRECT something like 1% faster.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "06d5a5899d6d3ac401d2359b5eac6d2a3a0fe331",
      "tree": "ff26c40dec6e649dca7316ce10412cc6c0ace985",
      "parents": [
        "be1a12a0dfed06cf1e62e35bf91620dc610a451a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Apr 05 11:57:27 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:32 2011 -0400"
      },
      "message": "Btrfs: only retry transaction reservation once\n\nI saw a lockup where we kept getting into this start transaction-\u003ecommit\ntransaction loop because of enospce.  The fact is if we fail to make our\nreservation, we\u0027ve tried _everything_ several times, so we only need to try and\ncommit the transaction once, and if that doesn\u0027t work then we really are out of\nspace and need to just exit.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "be1a12a0dfed06cf1e62e35bf91620dc610a451a",
      "tree": "f2cd5976aae8a466b926f9fd7c0e10a082b5a11a",
      "parents": [
        "c9ddec74aa950a220cc4caa5215cfc5d886050b7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Apr 06 13:05:22 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Apr 08 13:00:27 2011 -0400"
      },
      "message": "Btrfs: deal with the case that we run out of space in the cache\n\nCurrently we don\u0027t handle running out of space in the cache, so to fix this we\nkeep track of how far in the cache we are.  Then we only dirty the pages if we\nsuccessfully modify all of them, otherwise if we have an error or run out of\nspace we can just drop them and not worry about the vm writing them out.\nThanks,\n\nTested-by Johannes Hirte \u003cjohannes.hirte@fem.tu-ilmenau.de\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "3d762ca1cdf38b5fb7d1774734176d1d4d56bbb7",
      "tree": "2fed11327a86c05ec945c31aa6e1307fbca527c9",
      "parents": [
        "0c3efe54d0165cecf0698b468e253577b555dde6",
        "b03f24567ce7caf2420b8be4c6eb74c191d59a91"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 07:35:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 07:35:17 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Don\u0027t write quota info in dquot_commit()\n  ext3: Fix writepage credits computation for ordered mode\n"
    },
    {
      "commit": "a1b7ea5d58c53c13f082110e535d98bc4e8e5cfe",
      "tree": "8238090fc86fa6198680012b9d65d272529ba44b",
      "parents": [
        "957935dcd8e11d6f789b4ed769b376040e15565b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 30 11:05:09 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 08 08:09:28 2011 -0500"
      },
      "message": "xfs: use proper interfaces for on-stack plugging\n\nAdd proper blk_start_plug/blk_finish_plug pairs for the two places where\nwe issue buffer I/O, and remove the blk_flush_plug in xfs_buf_lock and\nxfs_buf_iowait, given that context switches already flush the per-process\nplugging lists.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "957935dcd8e11d6f789b4ed769b376040e15565b",
      "tree": "6f120bac2011bdba637f39d3704ec0272b883726",
      "parents": [
        "ecb697c16c1718ae97bb73ce41a5d5ac2aed29ec"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Apr 02 18:13:40 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 08 08:09:24 2011 -0500"
      },
      "message": "xfs: fix xfs_debug warnings\n\nFor a CONFIG_XFS_DEBUG\u003dn build gcc complains about statements with no\neffect in xfs_debug:\n\nfs/xfs/quota/xfs_qm_syscalls.c: In function \u0027xfs_qm_scall_trunc_qfiles\u0027:\nfs/xfs/quota/xfs_qm_syscalls.c:291:3: warning: statement with no effect\n\nThe reason for that is that the various new xfs message functions have a\nreturn value which is never used, and in case of the non-debug build\nxfs_debug the macro evaluates to a plain 0 which produces the above\nwarnings.  This can be fixed by turning xfs_debug into an inline function\ninstead of a macro, but in addition to that I\u0027ve also changed all the\nmessage helpers to return void as we never use their return values.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ecb697c16c1718ae97bb73ce41a5d5ac2aed29ec",
      "tree": "a4a54638bedf89e29fb8487b3493188d462b3fad",
      "parents": [
        "da8a1a4a4dfc1ead12c343b992fc8300a22d33d0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 04 12:55:44 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Apr 08 08:09:12 2011 -0500"
      },
      "message": "xfs: fix variable set but not used warnings\n\nGCC 4.6 now warnings about variables set but not used.  Fix the trivially\nfixable warnings of this sort.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "da8a1a4a4dfc1ead12c343b992fc8300a22d33d0",
      "tree": "903485755dcfdd4908cc1d33c1af0e69f45b79a5",
      "parents": [
        "be65b18a10e62321c5ba09a1dc0f70babeb0eba1"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: convert log tail checking to a warning\n\nOn the Power platform, the log tail debug checks fire excessively\ncausing the system to panic early in testing. The debug checks are\nknown to be racy, though on x86_64 there is no evidence that they\ntrigger at all.\n\nWe want to keep the checks active on debug systems to alert us to\nproblems with log space accounting, but we need to reduce the impact\nof a racy check on testing on the Power platform.\n\nAs a result, convert the ASSERT conditions to warnings, and\nallow them to fire only once per filesystem mount. This will prevent\nfalse positives from interfering with testing, whilst still\nproviding us with the indication that they may be a problem with log\nspace accounting should that occur.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "be65b18a10e62321c5ba09a1dc0f70babeb0eba1",
      "tree": "512dba387c91b778c4e2b9fafa42bfef7f074bb7",
      "parents": [
        "fd074841cfe01b006465fb9388091012585e8dfb"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: catch bad block numbers freeing extents.\n\nA fuzzed filesystem crashed a kernel when freeing an extent with a\nblock number beyond the end of the filesystem. Convert all the debug\nasserts in xfs_free_extent() to active checks so that we catch bad\nextents and return that the filesytsem is corrupted rather than\ncrashing.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "fd074841cfe01b006465fb9388091012585e8dfb",
      "tree": "7ec409fade00b6c18987e1cb2a62443c074ce274",
      "parents": [
        "cd4a3c503c185f5f0a20f04f90da0a6966dd03bd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: push the AIL from memory reclaim and periodic sync\n\nWhen we are short on memory, we want to expedite the cleaning of\ndirty objects.  Hence when we run short on memory, we need to kick\nthe AIL flushing into action to clean as many dirty objects as\nquickly as possible.  To implement this, sample the lsn of the log\nitem at the head of the AIL and use that as the push target for the\nAIL flush.\n\nFurther, we keep items in the AIL that are dirty that are not\ntracked any other way, so we can get objects sitting in the AIL that\ndon\u0027t get written back until the AIL is pushed. Hence to get the\nfilesystem to the idle state, we might need to push the AIL to flush\nout any remaining dirty objects sitting in the AIL. This requires\nthe same push mechanism as the reclaim push.\n\nThis patch also renames xfs_trans_ail_tail() to xfs_ail_min_lsn() to\nmatch the new xfs_ail_max_lsn() function introduced in this patch.\nSimilarly for xfs_trans_ail_push -\u003e xfs_ail_push.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "cd4a3c503c185f5f0a20f04f90da0a6966dd03bd",
      "tree": "18edb2203a85a778b2d88121430bcb3e2c3a9b4c",
      "parents": [
        "0bf6a5bd4b55b466964ead6fa566d8f346a828ee"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: clean up code layout in xfs_trans_ail.c\n\nThis patch rearranges the location of functions in xfs_trans_ail.c\nto remove the need for forward declarations of those functions in\npreparation for adding new functions without the need for forward\ndeclarations.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "0bf6a5bd4b55b466964ead6fa566d8f346a828ee",
      "tree": "661f2bcc36458c807752243c6f2a76b43a64302c",
      "parents": [
        "a7b339f1b8698667eada006e717cdb4523be2ed5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: convert the xfsaild threads to a workqueue\n\nSimilar to the xfssyncd, the per-filesystem xfsaild threads can be\nconverted to a global workqueue and run periodically by delayed\nworks. This makes sense for the AIL pushing because it uses\nvariable timeouts depending on the work that needs to be done.\n\nBy removing the xfsaild, we simplify the AIL pushing code and\nremove the need to spread the code to implement the threading\nand pushing across multiple files.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "a7b339f1b8698667eada006e717cdb4523be2ed5",
      "tree": "77c44400c32284bdcf15829e10d01eb15ddd1d41",
      "parents": [
        "89e4cb550a492cfca038a555fcc1bdac58822ec3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: introduce background inode reclaim work\n\nBackground inode reclaim needs to run more frequently that the XFS\nsyncd work is run as 30s is too long between optimal reclaim runs.\nAdd a new periodic work item to the xfs syncd workqueue to run a\nfast, non-blocking inode reclaim scan.\n\nBackground inode reclaim is kicked by the act of marking inodes for\nreclaim.  When an AG is first marked as having reclaimable inodes,\nthe background reclaim work is kicked. It will continue to run\nperiodically untill it detects that there are no more reclaimable\ninodes. It will be kicked again when the first inode is queued for\nreclaim.\n\nTo ensure shrinker based inode reclaim throttles to the inode\ncleaning and reclaim rate but still reclaim inodes efficiently, make it kick the\nbackground inode reclaim so that when we are low on memory we are\ntrying to reclaim inodes as efficiently as possible. This kick shoul\nd not be necessary, but it will protect against failures to kick the\nbackground reclaim when inodes are first dirtied.\n\nTo provide the rate throttling, make the shrinker pass do\nsynchronous inode reclaim so that it blocks on inodes under IO. This\nmeans that the shrinker will reclaim inodes rather than just\nskipping over them, but it does not adversely affect the rate of\nreclaim because most dirty inodes are already under IO due to the\nbackground reclaim work the shrinker kicked.\n\nThese two modifications solve one of the two OOM killer invocations\nChris Mason reported recently when running a stress testing script.\nThe particular workload trigger for the OOM killer invocation is\nwhere there are more threads than CPUs all unlinking files in an\nextremely memory constrained environment. Unlike other solutions,\nthis one does not have a performance impact on performance when\nmemory is not constrained or the number of concurrent threads\noperating is \u003c\u003d to the number of CPUs.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "89e4cb550a492cfca038a555fcc1bdac58822ec3",
      "tree": "ab688a1849d6361c92b9f60ae0586045908010da",
      "parents": [
        "c6d09b666de11eb272326a6eb6cd3246da571014"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: convert ENOSPC inode flushing to use new syncd workqueue\n\nOn of the problems with the current inode flush at ENOSPC is that we\nqueue a flush per ENOSPC event, regardless of how many are already\nqueued. Thi can result in    hundreds of queued flushes, most of\nwhich simply burn CPU scanned and do no real work. This simply slows\ndown allocation at ENOSPC.\n\nWe really only need one active flush at a time, and we can easily\nimplement that via the new xfs_syncd_wq. All we need to do is queue\na flush if one is not already active, then block waiting for the\ncurrently active flush to complete. The result is that we only ever\nhave a single ENOSPC inode flush active at a time and this greatly\nreduces the overhead of ENOSPC processing.\n\nOn my 2p test machine, this results in tests exercising ENOSPC\nconditions running significantly faster - 042 halves execution time,\n083 drops from 60s to 5s, etc - while not introducing test\nregressions.\n\nThis allows us to remove the old xfssyncd threads and infrastructure\nas they are no longer used.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c6d09b666de11eb272326a6eb6cd3246da571014",
      "tree": "74951ec04191b47a1fb75f9e79de6c00837a7c17",
      "parents": [
        "e828776a8abe6b9bae7ed9638710bff7642c568a"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: introduce a xfssyncd workqueue\n\nAll of the work xfssyncd does is background functionality. There is\nno need for a thread per filesystem to do this work - it can al be\nmanaged by a global workqueue now they manage concurrency\neffectively.\n\nIntroduce a new gglobal xfssyncd workqueue, and convert the periodic\nwork to use this new functionality. To do this, use a delayed work\nconstruct to schedule the next running of the periodic sync work\nfor the filesystem. When the sync work is complete, queue a new\ndelayed work for the next running of the sync work.\n\nFor laptop mode, we wait on completion for the sync works, so ensure\nthat the sync work queuing interface can flush and wait for work to\ncomplete to enable the work queue infrastructure to replace the\ncurrent sequence number and wakeup that is used.\n\nBecause the sync work does non-trivial amounts of work, mark the\nnew work queue as CPU intensive.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e828776a8abe6b9bae7ed9638710bff7642c568a",
      "tree": "978a74827e670e2aab8dec943944e63ce43afc2d",
      "parents": [
        "89b3600ccfb01aed6873bc499442fc0bed00bbdd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Apr 08 12:45:07 2011 +1000"
      },
      "message": "xfs: fix extent format buffer allocation size\n\nWhen formatting an inode item, we have to allocate a separate buffer\nto hold extents when there are delayed allocation extents on the\ninode and it is in extent format. The allocation size is derived\nfrom the in-core data fork representation, which accounts for\ndelayed allocation extents, while the on-disk representation does\nnot contain any delalloc extents.\n\nAs a result of this mismatch, the allocated buffer can be far larger\nthan needed to hold the real extent list which, due to the fact the\ninode is in extent format, is limited to the size of the literal\narea of the inode. However, we can have thousands of delalloc\nextents, resulting in an allocation size orders of magnitude larger\nthan is needed to hold all the real extents.\n\nFix this by limiting the size of the buffer being allocated to the\nsize of the literal area of the inodes in the filesystem (i.e. the\nmaximum size an inode fork can grow to).\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "37adb89fadd65ce47f7e5cfd564938a76b351948",
      "tree": "b935bde3f61965a8e0810f9d12281b97b2376351",
      "parents": [
        "418875900e3de4831c84f86ae4756690dac5be77"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Apr 07 16:02:20 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 07 13:19:40 2011 -0700"
      },
      "message": "NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC\n\nWhen attempting an initial mount, we should only attempt other\nauthflavors if AUTH_UNIX receives a NFS4ERR_WRONGSEC error.\nThis allows other errors to be passed back to userspace programs.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ccfeef0ff76ebd632ae51bc56700f0072c4f1864",
      "tree": "83ec5932dac631a455a69212b505f68f57f68cdf",
      "parents": [
        "42933bac11e811f02200c944d8562a15f8ec4ff0",
        "6bef0b67474d71e0d6484cbabcc87657a1176d8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:31:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:31:03 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027for-linus\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBI: do not select KALLSYMS_ALL\n  UBI: do not compare array with NULL\n  UBI: check if we are in RO mode in the erase routine\n  UBIFS: fix debugging failure in dbg_check_space_info\n  UBIFS: fix error path in dbg_debugfs_init_fs\n  UBIFS: unify error path dbg_debugfs_init_fs\n  UBIFS: do not select KALLSYMS_ALL\n  UBIFS: fix assertion warnings\n  UBIFS: fix oops on error path in read_pnode\n  UBIFS: do not read flash unnecessarily\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "418875900e3de4831c84f86ae4756690dac5be77",
      "tree": "d0609f12b62962806adc092867350b7bfcfed5a3",
      "parents": [
        "0867659fa3c245bf203d837a82e0f6ea5079c2c5"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Wed Apr 06 14:33:28 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 06 13:25:04 2011 -0700"
      },
      "message": "NFS: Fix a signed vs. unsigned secinfo bug\n\nrpc_authflavor_t is cast from an unsigned int, but the\ninitial code tried to use it as a signed int.  I fix\nthis by passing an rpc_authflavor_t pointer around, and\nreturning signed integers from functions.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0449641130f5652b344ef6fa39fa019d7e94660a",
      "tree": "d24779d75a6d3fafff8082591b3572a5fdb32858",
      "parents": [
        "6cba611e600ded15f642552ce6b5f7ee243bacf0"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Tue Apr 05 19:55:28 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 05 19:55:28 2011 -0400"
      },
      "message": "ext4: init timer earlier to avoid a kernel panic in __save_error_info\n\nDuring mount, when we fail to open journal inode or root inode, the\n__save_error_info will mod_timer. But actually s_err_report isn\u0027t\ninitialized yet and the kernel oops. The detailed information can\nbe found https://bugzilla.kernel.org/show_bug.cgi?id\u003d32082.\n\nThe best way is to check whether the timer s_err_report is initialized\nor not. But it seems that in include/linux/timer.h, we can\u0027t find a\ngood function to check the status of this timer, so this patch just\nmove the initializtion of s_err_report earlier so that we can avoid\nthe kernel panic. The corresponding del_timer is also added in the\nerror path.\n\nReported-by: Sami Liedes \u003csliedes@cc.hut.fi\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6cba611e600ded15f642552ce6b5f7ee243bacf0",
      "tree": "5ffde3bc5fb87bbf9693bc83a53d9212ae04f267",
      "parents": [
        "46e4690bbd9a4f8d9e7c4f34e34b48f703ad47e0"
      ],
      "author": {
        "name": "Zhang Huan",
        "email": "zhhuan@gmail.com",
        "time": "Tue Apr 05 19:16:20 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 05 19:16:20 2011 -0400"
      },
      "message": "jbd2: fix potential memory leak on transaction commit\n\nThere is potential memory leak of journal head in function\njbd2_journal_commit_transaction. The problem is that JBD2 will not\nreclaim the journal head of commit record if error occurs or journal\nis abotred.\n\nI use the following script to reproduce this issue, on a RHEL6\nsystem. I found it very easy to reproduce with async commit enabled.\n\nmount /dev/sdb /mnt -o journal_checksum,journal_async_commit\ntouch /mnt/xxx\necho offline \u003e /sys/block/sdb/device/state\nsync\numount /mnt\nrmmod ext4\nrmmod jbd2\n\nRemoval of the jbd2 module will make slab complaining that\n\"cache `jbd2_journal_head\u0027: can\u0027t free all objects\".\n\nSigned-off-by: Zhang Huan \u003czhhuan@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "44148a667d3715f3a1c37eeff7e954c946cc1efe",
      "tree": "fd8685dd17dcef45993b733f4ec4df97e6808304",
      "parents": [
        "d0de4dc584ec6aa3b26fffea320a8457827768fc",
        "782b86e2656762382ae1c2686d8d5c91f7d5eacf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 05 15:29:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 05 15:29:01 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block:\n  ide: always ensure that blk_delay_queue() is called if we have pending IO\n  block: fix request sorting at unplug\n  dm: improve block integrity support\n  fs: export empty_aops\n  ide: ide_requeue_and_plug() reinstate \"always plug\" behaviour\n  blk-throttle: don\u0027t call xchg on bool\n  ufs: remove unessecary blk_flush_plug\n  block: make the flush insertion use the tail of the dispatch list\n  block: get rid of elv_insert() interface\n  block: dump request state on seeing a corrupted request completion\n"
    },
    {
      "commit": "d0de4dc584ec6aa3b26fffea320a8457827768fc",
      "tree": "6895419a694ba323c6b18cdb6aa2714892b6f481",
      "parents": [
        "623dda65b6f71e6474f3f156dbed2acf6ff43584"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 05 17:20:50 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 05 15:27:14 2011 -0700"
      },
      "message": "inotify: fix double free/corruption of stuct user\n\nOn an error path in inotify_init1 a normal user can trigger a double\nfree of struct user.  This is a regression introduced by a2ae4cc9a16e\n(\"inotify: stop kernel memory leak on file creation failure\").\n\nWe fix this by making sure that if a group exists the user reference is\ndropped when the group is cleaned up.  We should not explictly drop the\nreference on error and also drop the reference when the group is cleaned\nup.\n\nThe new lifetime rules are that an inotify group lives from\ninotify_new_group to the last fsnotify_put_group.  Since the struct user\nand inotify_devs are directly tied to this lifetime they are only\nchanged/updated in those two locations.  We get rid of all special\ncasing of struct user or user-\u003einotify_devs.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: stable@kernel.org (2.6.37 and up)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7dcda1c96d7c643101d4a05579ef4512a4baa7ef",
      "tree": "62051d63c47a3df7381cdc294815e79da5ebdc93",
      "parents": [
        "929e27252e8ca69363f81f26af5eaba62cb4c572"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 05 23:51:48 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 05 23:51:48 2011 +0200"
      },
      "message": "fs: export empty_aops\n\nWith the -\u003esync_page() hook gone, we have a few users that\nadd their own static address_space_operations without any\nfunctions defined.\n\nfs/inode.c already has an empty_aops that it uses for init\npurposes. Lets export that and use it in the places where\nan otherwise empty aops was defined.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ee3dea3549444e6e76d27af48b4929983e6f023c",
      "tree": "73bb5266cc383717139f50d4b077d5301c14cb53",
      "parents": [
        "53d63e6b0dfb95882ec0219ba6bbd50cde423794"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 30 12:17:43 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 05 23:51:37 2011 +0200"
      },
      "message": "ufs: remove unessecary blk_flush_plug\n\nWe already flush the per-process plugging list when context switching,\nso a blk_flush_plug call just before a yield() is not needed.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "884b8267d5f13bdcdc7e675ecbd0dbb0257689bb",
      "tree": "637c734a7466e43d3786968891e746c5b70d6a4b",
      "parents": [
        "d14f5b810b49c7dbd1a01be1c6d3641d46090080",
        "c9ddec74aa950a220cc4caa5215cfc5d886050b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 05 12:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 05 12:29:25 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: don\u0027t warn in btrfs_add_orphan\n  Btrfs: fix free space cache when there are pinned extents and clusters V2\n  Btrfs: Fix uninitialized root flags for subvolumes\n  btrfs: clear __GFP_FS flag in the space cache inode\n  Btrfs: fix memory leak in start_transaction()\n  Btrfs: fix memory leak in btrfs_ioctl_start_sync()\n  Btrfs: fix subvol_sem leak in btrfs_rename()\n  Btrfs: Fix oops for defrag with compression turned on\n  Btrfs: fix /proc/mounts info.\n  Btrfs: fix compiler warning in file.c\n"
    },
    {
      "commit": "7da6443aca9be29c6948dcbd636ad50154d0bc0c",
      "tree": "e7489f3d988171c4737f46ce6120411e995ed2ac",
      "parents": [
        "95169535113073993a3ed97ecc21831657f42a80"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Apr 04 17:16:39 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 11:07:37 2011 +0300"
      },
      "message": "UBIFS: fix debugging failure in dbg_check_space_info\n\nThis patch fixes a debugging failure with which looks like this:\nUBIFS error (pid 32313): dbg_check_space_info: free space changed from 6019344 to 6022654\n\nThe reason for this failure is described in the comment this patch adds\nto the code. But in short - \u0027c-\u003efreeable_cnt\u0027 may be different before\nand after re-mounting, and this is normal. So the debugging code should\nmake sure that free space calculations do not depend on \u0027c-\u003efreeable_cnt\u0027.\n\nA similar issue has been reported here:\nhttp://lists.infradead.org/pipermail/linux-mtd/2011-April/034647.html\n\nThis patch should fix it.\n\nFor the -stable guys: this patch is only relevant for kernels 2.6.30\nonwards.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org [2.6.30+]\n"
    },
    {
      "commit": "95169535113073993a3ed97ecc21831657f42a80",
      "tree": "7f118921eb0d46effe0f9bd4e4d766ead16bd663",
      "parents": [
        "cc6a86b950d69cfe542ee0d0ff30790152936a00"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Apr 01 10:16:17 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 10:46:01 2011 +0300"
      },
      "message": "UBIFS: fix error path in dbg_debugfs_init_fs\n\nThe debug interface is substandard and on error returns either\nNULL or an error code packed in the pointer. So using \"IS_ERR\"\nfor the pointers returned by debugfs function is incorrect.\nInstead, we should use IS_ERR_OR_NULL.\n\nThis path is an improved vestion of the original patch from\nPhil Carmody.\n\nReported-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nAcked-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "cc6a86b950d69cfe542ee0d0ff30790152936a00",
      "tree": "209ac625bd17d661bc086f75615c8ac712309981",
      "parents": [
        "81354de3d8691c2dedcc686cd2c167819ff0df10"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Apr 01 10:10:52 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 10:46:01 2011 +0300"
      },
      "message": "UBIFS: unify error path dbg_debugfs_init_fs\n\nThis is just a small clean-up patch which simlifies and unifies the\nerror path in the dbg_debugfs_init_fs(). We have common error path\nfor all failure cases in this function except of the very first\ncase. And this patch makes the first failure case use the same\nerror path as the other cases by using the \u0027fname\u0027 and \u0027dent\u0027\nvariables.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nAcked-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "81354de3d8691c2dedcc686cd2c167819ff0df10",
      "tree": "0e48973dcf80774eef93575effdb4982689e5909",
      "parents": [
        "c88ac00c5af70c2a0741da14b22cdcf8507ddd92"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Mar 30 11:18:54 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 10:45:45 2011 +0300"
      },
      "message": "UBIFS: do not select KALLSYMS_ALL\n\nAll UBIFS needs is to make sure we stacktraces when UBIFS debugging\nis enabled. It is enough to select KALLSYMS for this, KALLSYMS_ALL\nis not necessary. Moreover, Randy Dunlap reported that UBIFS causes\nthe following Kconfig dependency warning:\n\nwarning: (UBIFS_FS_DEBUG \u0026\u0026 LOCKDEP \u0026\u0026 LATENCYTOP) selects KALLSYMS_ALL\nwhich has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 KALLSYMS)\n\nThe reason is that KALLSYMS_ALL requires DEBUG_KERNEL and KALLSYMS, so\nideally, to select KALLSYMS_ALL we\u0027d need to select DEBUG_KERNEL and\nKALLSYMS first.\n\nThis seems to be too much to select. The easiest way to go is to forget\nabout KALLSYMS_ALL and just select KALLSYMS when UBIFS debugging is\nenabled - that should be enough for stackdumps.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "c88ac00c5af70c2a0741da14b22cdcf8507ddd92",
      "tree": "5561ff6e47406f58e71eda4700c5a3f2694c6f71",
      "parents": [
        "54acbaaa523ca0bd284a18f67ad213c379679e86"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 29 09:45:21 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 10:45:09 2011 +0300"
      },
      "message": "UBIFS: fix assertion warnings\n\nThis patch fixes UBIFS assertion warnings like:\n\nUBIFS assert failed in ubifs_leb_unmap at 135 (pid 29365)\nPid: 29365, comm: integck Tainted: G          I 2.6.37-ubi-2.6+ #34\nCall Trace:\n [\u003cffffffffa047c663\u003e] ubifs_lpt_init+0x95e/0x9ee [ubifs]\n [\u003cffffffffa04623a7\u003e] ubifs_remount_fs+0x2c7/0x762 [ubifs]\n [\u003cffffffff810f066e\u003e] do_remount_sb+0xb6/0x101\n [\u003cffffffff81106ff4\u003e] ? do_mount+0x191/0x78e\n [\u003cffffffff811070bb\u003e] do_mount+0x258/0x78e\n [\u003cffffffff810da1e8\u003e] ? alloc_pages_current+0xa2/0xc5\n [\u003cffffffff81107674\u003e] sys_mount+0x83/0xbd\n [\u003cffffffff81009a12\u003e] system_call_fastpath+0x16/0x1b\n\nThey happen when we re-mount from R/O mode to R/W mode. While\nre-mounting, we write to the media, but we still have the c-\u003ero_mount\nflag set. The fix is very simple - just clear the flag before\nstarting re-mounting R/W.\n\nThese warnings are caused by the following commit:\n2ef13294d29bcfb306e0d360f1b97f37b647b0c0\n\nFor -stable guys: this bug was introduced in 2.6.38, this is materieal\nfor 2.6.38-stable.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org [2.6.38]\n"
    },
    {
      "commit": "54acbaaa523ca0bd284a18f67ad213c379679e86",
      "tree": "c6ed0d74270ef84bc605d71feaa09b0511ccece6",
      "parents": [
        "8b229c76765816796eec7ccd428f03bd8de8b525"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 19:09:54 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Apr 05 10:40:31 2011 +0300"
      },
      "message": "UBIFS: fix oops on error path in read_pnode\n\nThanks to coverity which spotted that UBIFS will oops if \u0027kmalloc()\u0027\nin \u0027read_pnode()\u0027 fails and we dereference a NULL \u0027pnode\u0027 pointer\nwhen we \u0027goto out\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    }
  ],
  "next": "8b229c76765816796eec7ccd428f03bd8de8b525"
}
