)]}'
{
  "log": [
    {
      "commit": "e6ece70732b905742ad91a7b5489e0ca1362c0cd",
      "tree": "1ded331dec1886cf5b30bd6c6181787b8f237008",
      "parents": [
        "23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159",
        "aa0467d8d2a00e75b2bb6a56a4ee6d70c5d1928f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 05 06:17:23 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 05 06:17:23 2011 +0900"
      },
      "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: (25 commits)\n  btrfs: fix uninitialized variable warning\n  btrfs: add helper for fs_info-\u003eclosing\n  Btrfs: add mount -o inode_cache\n  btrfs: scrub: add explicit plugging\n  btrfs: use btrfs_ino to access inode number\n  Btrfs: don\u0027t save the inode cache if we are deleting this root\n  btrfs: false BUG_ON when degraded\n  Btrfs: don\u0027t save the inode cache in non-FS roots\n  Btrfs: make sure we don\u0027t overflow the free space cache crc page\n  Btrfs: fix uninit variable in the delayed inode code\n  btrfs: scrub: don\u0027t reuse bios and pages\n  Btrfs: leave spinning on lookup and map the leaf\n  Btrfs: check for duplicate entries in the free space cache\n  Btrfs: don\u0027t try to allocate from a block group that doesn\u0027t have enough space\n  Btrfs: don\u0027t always do readahead\n  Btrfs: try not to sleep as much when doing slow caching\n  Btrfs: kill BTRFS_I(inode)-\u003eblock_group\n  Btrfs: don\u0027t look at the extent buffer level 3 times in a row\n  Btrfs: map the node block when looking for readahead targets\n  Btrfs: set range_start to the right start in count_range_bits\n  ...\n"
    },
    {
      "commit": "aa0467d8d2a00e75b2bb6a56a4ee6d70c5d1928f",
      "tree": "0139c403353d9e1ab771fc7c9049e5c334329d17",
      "parents": [
        "7841cb2898f66a73062c64d0ef5733dde7279e46"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Fri Jun 03 16:29:08 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:11:38 2011 -0400"
      },
      "message": "btrfs: fix uninitialized variable warning\n\nWith Linus\u0027 tree, today\u0027s linux-next build (powercp ppc64_defconfig)\nproduced this warning:\n\nfs/btrfs/delayed-inode.c: In function \u0027btrfs_delayed_update_inode\u0027:\nfs/btrfs/delayed-inode.c:1598:6: warning: \u0027ret\u0027 may be used\nuninitialized in this function\n\nIntroduced by commit 16cdcec736cd (\"btrfs: implement delayed inode items\noperation\").\n\nThis fixes a bug in btrfs_update_inode(): if the returned value from\nbtrfs_delayed_update_inode is a nonzero garbage, inode stat data are not\nupdated and several call paths may hit a BUG_ON or fail with strange\ncode.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\n"
    },
    {
      "commit": "7841cb2898f66a73062c64d0ef5733dde7279e46",
      "tree": "b7a94d96d44971845951a59e9fb7b5c2e30c46b3",
      "parents": [
        "4b9465cb9e3859186eefa1ca3b990a5849386320"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue May 31 18:07:27 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:11:22 2011 -0400"
      },
      "message": "btrfs: add helper for fs_info-\u003eclosing\n\nwrap checking of filesystem \u0027closing\u0027 flag and fix a few missing memory\nbarriers.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\n"
    },
    {
      "commit": "4b9465cb9e3859186eefa1ca3b990a5849386320",
      "tree": "8fc06452fb75e52f6c1c2e2253c2ff6700e622fd",
      "parents": [
        "e7786c3ae517b2c433edc91714e86be770e9f1ce"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 03 09:36:29 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:47 2011 -0400"
      },
      "message": "Btrfs: add mount -o inode_cache\n\nThis makes the inode map cache default to off until we\nfix the overflow problem when the free space crcs don\u0027t fit\ninside a single page.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e7786c3ae517b2c433edc91714e86be770e9f1ce",
      "tree": "90caab3728a36a579162b4868f41fc3426c5cbb4",
      "parents": [
        "a4689d2bd3b00dcf5c4320f06e0ab88810fbff9c"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Sat May 28 20:58:38 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:46 2011 -0400"
      },
      "message": "btrfs: scrub: add explicit plugging\n\nWith the removal of the implicit plugging scrub ends up doing more and\nsmaller I/O than necessary. This patch adds explicit plugging per chunk.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a4689d2bd3b00dcf5c4320f06e0ab88810fbff9c",
      "tree": "295bcdb0fdbe5a4cda80eb886694efd45e276699",
      "parents": [
        "d132a538d258f8f52fd0cd8b5017755f4e915386"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue May 31 17:08:14 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:46 2011 -0400"
      },
      "message": "btrfs: use btrfs_ino to access inode number\n\ncommit 4cb5300bc (\"Btrfs: add mount -o auto_defrag\") accesses inode\nnumber directly while it should use the helper with the new inode\nnumber allocator.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d132a538d258f8f52fd0cd8b5017755f4e915386",
      "tree": "bf3a5e67c8eff57425dd656778b40c5aaf858f80",
      "parents": [
        "5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue May 31 19:33:33 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:45 2011 -0400"
      },
      "message": "Btrfs: don\u0027t save the inode cache if we are deleting this root\n\nWith xfstest 254 I can panic the box every time with the inode number caching\nstuff on.  This is because we clean the inodes out when we delete the subvolume,\nbut then we write out the inode cache which adds an inode to the subvolume inode\ntree, and then when it gets evicted again the root gets added back on the dead\nroots list and is deleted again, so we have a double free.  To stop this from\nhappening just return 0 if refs is 0 (and we\u0027re not the tree root since tree\nroot always has refs of 0).  With this fix 254 no longer panics.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nTested-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af",
      "tree": "224a59dcd31fbbe2b23ac85d3d4906bbf7327b78",
      "parents": [
        "ca456ae280c0646e1e571c3b9a3834c55e90adfe"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Mon May 30 08:36:16 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:44 2011 -0400"
      },
      "message": "btrfs: false BUG_ON when degraded\n\nIn degraded mode the struct btrfs_device of missing devs don\u0027t have\ndevice-\u003ename set. A kstrdup of NULL correctly returns NULL. Don\u0027t\nBUG in this case.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ca456ae280c0646e1e571c3b9a3834c55e90adfe",
      "tree": "945f70453e07c59739c02808f69598f637d35dfa",
      "parents": [
        "211f96c24f117fcc6e9e2431e40d92f4de22625e"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Wed Jun 01 09:42:49 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:44 2011 -0400"
      },
      "message": "Btrfs: don\u0027t save the inode cache in non-FS roots\n\nThis adds extra checks to make sure the inode map we are caching really\nbelongs to a FS root instead of a special relocation tree.  It\nprevents crashes during balancing operations.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "211f96c24f117fcc6e9e2431e40d92f4de22625e",
      "tree": "9f73c5419e905066653660ec33f8d5efeaa3a148",
      "parents": [
        "17aca1c987cff89dc4279371857035da902c8854"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 03 01:26:53 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:43 2011 -0400"
      },
      "message": "Btrfs: make sure we don\u0027t overflow the free space cache crc page\n\nThe free space cache uses only one page for crcs right now,\nwhich means we can\u0027t have a cache file bigger than the\ncrcs we can fit in the first page.  This adds a check to\nenforce that restriction.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "17aca1c987cff89dc4279371857035da902c8854",
      "tree": "f63df32137d07ec9876f46542884b68a83e0a48c",
      "parents": [
        "1bc8779349d6278e2713a1ff94418c2a6746a791"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 03 01:13:45 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:43 2011 -0400"
      },
      "message": "Btrfs: fix uninit variable in the delayed inode code\n\nThe nitems counter needs to start at zero\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1bc8779349d6278e2713a1ff94418c2a6746a791",
      "tree": "2caf24db7d669825538c15efe17473159da57593",
      "parents": [
        "ff5714cca971848963b87d6b477c16ca8abbaa54"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Sat May 28 21:57:55 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:17 2011 -0400"
      },
      "message": "btrfs: scrub: don\u0027t reuse bios and pages\n\nThe current scrub implementation reuses bios and pages as often as possible,\nallocating them only on start and releasing them when finished. This leads\nto more problems with the block layer than it\u0027s worth. The elevator gets\nconfused when there are more pages added to the bio than bi_size suggests.\nThis patch completely rips out the reuse of bios and pages and allocates\nthem freshly for each submit.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nSigned-off-by: Chris Maosn \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4f1ba49efafccbc73017f824efa2505c81b247cd",
      "tree": "db072bbccffd1f1c6b1269ac7a752cb30af3a726",
      "parents": [
        "39b4a46f19295b4876fba6655f27d67232dc6a1f",
        "e3a57b3ccf5c04934ac43b5b80e32ba51b817288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: Use hlist_entry() for io_context.cic_list.first\n  cfq-iosched: Remove bogus check in queue_fail path\n  xen/blkback: potential null dereference in error handling\n  xen/blkback: don\u0027t call vbd_size() if bd_disk is NULL\n  block: blkdev_get() should access -\u003ebd_disk only after success\n  CFQ: Fix typo and remove unnecessary semicolon\n  block: remove unwanted semicolons\n  Revert \"block: Remove extra discard_alignment from hd_struct.\"\n  nbd: adjust \u0027max_part\u0027 according to part_shift\n  nbd: limit module parameters to a sane value\n  nbd: pass MSG_* flags to kernel_recvmsg()\n  block: improve the bio_add_page() and bio_add_pc_page() descriptions\n"
    },
    {
      "commit": "3af91a1256b628d55913324d27fe747c69566749",
      "tree": "cdbb84d4cce611ba722699d989bf1fecb73a69f1",
      "parents": [
        "9a44fde3435e0c6012cbc9122497bbbd3338434a",
        "098011940a2549ae7182db4bf101c3e3d2b4e6df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:59:32 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:59:32 2011 +0900"
      },
      "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-up free space earlier\n  UBIFS: intialize LPT earlier\n  UBIFS: assert no fixup when writing a node\n  UBIFS: fix clean znode counter corruption in error cases\n  UBIFS: fix memory leak on error path\n  UBIFS: fix shrinker object count reports\n  UBIFS: fix recovery broken by the previous recovery fix\n  UBIFS: amend ubifs_recover_leb interface\n  UBIFS: introduce a \"grouped\" journal head flag\n  UBIFS: supress false error messages\n"
    },
    {
      "commit": "098011940a2549ae7182db4bf101c3e3d2b4e6df",
      "tree": "2c4c1e51beee85fba008a81598a58efffa1443d0",
      "parents": [
        "781c5717a95a74b294beb38b8276943b0f8b5bb4"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:16 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix-up free space earlier\n\nThe free space fixup is currently initiated during mount after the call to\nubifs_write_master() which results in a write to PEBs; this has been observed\nwith the patch \u0027assert no fixup when writing a node\u0027 applied:\n\nMove the free space fixup on mount to before the calls to\nubifs_recover_inl_heads() and ubifs_write_master(). This results in no\nassertions with the previously mentioned patch applied.\n\nArtem: tweaked the patch a bit\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "781c5717a95a74b294beb38b8276943b0f8b5bb4",
      "tree": "ed8dfe3b7066e6d0854e381f46712c7280b2f05e",
      "parents": [
        "4f1ab9b01d34eac9fc958f7150d3bf266dcc1685"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:15 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: intialize LPT earlier\n\nThe current \u0027mount_ubifs()\u0027 implementation does not initialize the LPT until the\nthe master node is marked dirty. Move the LPT initialization to before marking\nthe master node dirty. This is a preparation for the next patch which will move\nthe free-space-fixup check to before marking the master node dirty, because we\nhave to fix-up the free space before doing any writes.\n\nArtem: massaged the patch and commit message.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4f1ab9b01d34eac9fc958f7150d3bf266dcc1685",
      "tree": "77ff5efa6449743984e77f491902fa53f7716969",
      "parents": [
        "837072377034d0a0b18b851d1ab95676b245cc0a"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:14 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: assert no fixup when writing a node\n\nThe current free space fixup can result in some writing to the UBI volume\nwhen the space_fixup flag is set.\n\nTo catch instances where UBIFS is writing to the NAND while the space_fixup\nflag is set, add an assert to ubifs_write_node().\n\nArtem: tweaked the patch, added similar assertion to the write buffer\n       write path.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "837072377034d0a0b18b851d1ab95676b245cc0a",
      "tree": "7020b369ac3373f292d59fe5fd470f73ecb69897",
      "parents": [
        "812eb258311f89bcd664a34a620f249d54a2cd83"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 14:26:07 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix clean znode counter corruption in error cases\n\nUBIFS maintains per-filesystem and global clean znode counters\n(\u0027c-\u003eclean_zn_cnt\u0027 and \u0027ubifs_clean_zn_cnt\u0027). It is important to maintain\ncorrect values there since the shrinker relies on \u0027ubifs_clean_zn_cnt\u0027.\n\nHowever, in case of failures during commit the counters were corrupted. E.g.,\nif a failure happens in the middle of \u0027write_index()\u0027, then some nodes in the\ncommit list (\u0027c-\u003ecnext\u0027) are marked as clean, and some are marked as dirty. And\nthe \u0027ubifs_destroy_tnc_subtree()\u0027 frees does not retrun correct count, and we\nend up with non-zero \u0027c-\u003eclean_zn_cnt\u0027 when unmounting. This means that if we\nhave 2 file-sytem and one of them fails, and we unmount it,\n\u0027ubifs_clean_zn_cnt\u0027 stays incorrect and confuses the shrinker.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "812eb258311f89bcd664a34a620f249d54a2cd83",
      "tree": "2b1598190efd598cfbdff30fbca302426f796e3a",
      "parents": [
        "cf610bf4199770420629d3bc273494bd27ad6c1d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 08:40:40 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix memory leak on error path\n\nUBIFS leaks memory on error path in \u0027ubifs_jnl_update()\u0027 in case of write\nfailure because it forgets to free the \u0027struct ubifs_dent_node *dent\u0027 object.\nAlthough the object is small, the alignment can make it large - e.g., 2KiB\nif the min. I/O unit is 2KiB.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "cf610bf4199770420629d3bc273494bd27ad6c1d",
      "tree": "76418cad3b35d8b40090ae13d5100de598e6c4cb",
      "parents": [
        "da8b94ea61c5d80aae0cc7b7541f1e0fa7459391"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 07:03:21 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:24 2011 +0300"
      },
      "message": "UBIFS: fix shrinker object count reports\n\nSometimes VM asks the shrinker to return amount of objects it can shrink,\nand we return the ubifs_clean_zn_cnt in that case. However, it is possible\nthat this counter is negative for a short period of time, due to the way\nUBIFS TNC code updates it. And I can observe the following warnings sometimes:\n\nshrink_slab: ubifs_shrinker+0x0/0x2b7 [ubifs] negative objects to delete nr\u003d-8541616642706119788\n\nThis patch makes sure UBIFS never returns negative count of objects.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "da8b94ea61c5d80aae0cc7b7541f1e0fa7459391",
      "tree": "5d0b7c64b7f5afd9c9b2c528ed08e7d8a0d97859",
      "parents": [
        "efcfde54ca68091b164f9aec544c7233a9760aff"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:58:19 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: fix recovery broken by the previous recovery fix\n\nUnfortunately, the recovery fix d1606a59b6be4ea392eabd40d1250aa1eeb19efb\n(UBIFS: fix extremely rare mount failure) broke recovery. This commit make\nUBIFS drop the last min. I/O unit in all journal heads, but this is needed only\nfor the GC head. And this does not work for non-GC heads. For example, if\nsuppose we have min. I/O units A and B, and A contains a valid node X, which\nwas fsynced, and then a group of nodes Y which spans the rest of A and B. In\nthis case we\u0027ll drop not only Y, but also X, which is obviously incorrect.\n\nThis patch fixes the issue and additionally makes recovery to drop last min.\nI/O unit only for the GC head, and leave things as they have been for ages for\nthe other heads - this is safer.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "efcfde54ca68091b164f9aec544c7233a9760aff",
      "tree": "f94cd590448a23c2ba7c6566dcbeb72eb3f3dd1d",
      "parents": [
        "1a0b06997ceca96db9259e537eb935f9fe59a3de"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:36:52 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: amend ubifs_recover_leb interface\n\nInstead of passing \"grouped\" parameter to \u0027ubifs_recover_leb()\u0027 which tells\nwhether the nodes are grouped in the LEB to recover, pass the journal head\nnumber and let \u0027ubifs_recover_leb()\u0027 look at the journal head\u0027s \u0027grouped\u0027 flag.\n\nThis patch is a preparation to a further fix where we\u0027ll need to know the\njournal head number for other purposes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "1a0b06997ceca96db9259e537eb935f9fe59a3de",
      "tree": "0428c1bb46987ae0deb05061d74f8c639ac879c8",
      "parents": [
        "ab75950b11e74145ffe61376ac073d56645aab8a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:26:05 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: introduce a \"grouped\" journal head flag\n\nJournal heads are different in a way how UBIFS writes nodes there. All normal\njournal heads receive grouped nodes, while the GC journal heads receives\nungrouped nodes. This patch adds a \u0027grouped\u0027 flag to \u0027struct ubifs_jhead\u0027 which\ndescribes this property.\n\nThis patch is a preparation to a further recovery fix.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ab75950b11e74145ffe61376ac073d56645aab8a",
      "tree": "8c4a2548e00f6ed83fc209edcccc729fac76708e",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 06:51:48 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:05 2011 +0300"
      },
      "message": "UBIFS: supress false error messages\n\nCommit ab51afe05273741f72383529ef488aa1ea598ec6 was a good clean-up, but\nit introduced a regression - now UBIFS prints scary error messages during\nrecovery on all corrupted nodes, even though the corruptions are expected\n(due to a power cut). This patch fixes the issue.\n\nAdditionally fix a typo in a commentary introduced by the same commit.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4c49ff3fe128ca68dabd07537415c419ad7f82f9",
      "tree": "58898648d2b9d896804fa98fce9eecb2724e2a75",
      "parents": [
        "4495a7d41dbda03841c2a1c2a5ce7135a45131ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 01 08:27:41 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Jun 01 08:28:47 2011 +0200"
      },
      "message": "block: blkdev_get() should access -\u003ebd_disk only after success\n\nd4dc210f69 (block: don\u0027t block events on excl write for non-optical\ndevices) added dereferencing of bdev-\u003ebd_disk to test\nGENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE; however, bdev-\u003ebd_disk can be\n%NULL if open failed which can lead to an oops.\n\nTest the flag after testing open was successful, not before.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "c7427d23f7ed695ac226dbe3a84d7f19091d34ce",
      "tree": "dcd94331ca00aebe203710be18c1171c7f935ec3",
      "parents": [
        "3cebde2413ba42504cf2c10ec1d47582912435cd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 30 01:50:53 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 30 01:50:53 2011 -0400"
      },
      "message": "autofs4: bogus dentry_unhash() added in -\u003eunlink()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3cebde2413ba42504cf2c10ec1d47582912435cd",
      "tree": "296302cd2f065c125b1c932caa3bd836720c7efe",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sun May 29 21:20:59 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 30 01:48:27 2011 -0400"
      },
      "message": "vfs: shrink_dcache_parent before rmdir, dir rename\n\nThe dentry_unhash push-down series missed that shink_dcache_parent needs to\nbe called prior to rmdir or dir rename to clear DCACHE_REFERENCED and\nallow efficient dentry reclaim.\n\nReported-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1706ac4c0201ea0143dc0db0659001b26ceeabb",
      "tree": "51b1fc266708d34e0878eaf1e6435773067379a0",
      "parents": [
        "5988ce239682854d4e632fb58bff000700830394"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 30 07:42:51 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 30 07:42:51 2011 +0200"
      },
      "message": "Revert \"block: Remove extra discard_alignment from hd_struct.\"\n\nIt was not a good idea to start dereferencing disk-\u003equeue from\nthe fs sysfs strategy for displaying discard alignment. We ran\ninto first a NULL pointer deref, and after fixing that we sometimes\nsee unvalid disk-\u003equeue pointer values.\n\nSince discard is the only one of the bunch actually looking into\nthe queue, just revert the change.\n\nThis reverts commit 23ceb5b7719e9276d4fa72a3ecf94dd396755276.\n\nConflicts:\n\tfs/partitions/check.c\n"
    },
    {
      "commit": "bd1bfe40ac6bdf9593da29b822bc301b77a97d6a",
      "tree": "332328b76dc4a3d51419c1d1cb23f50eb6c034c8",
      "parents": [
        "cd1acdf1723d71b28175f95b04305f1cc74ce363",
        "3063287053bca5207e121c567b95b2b6f0bdc2c8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:13:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:13:25 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Remove ecryptfs_header_cache_2\n  eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()\n  eCryptfs: Return useful code from contains_ecryptfs_marker\n  eCryptfs: Fix new inode race condition\n  eCryptfs: Cleanup inode initialization code\n  eCryptfs: Consolidate inode functions into inode.c\n"
    },
    {
      "commit": "cd1acdf1723d71b28175f95b04305f1cc74ce363",
      "tree": "7ab58883eccd314be3d8efafd59a124d4ffbb861",
      "parents": [
        "fac04863cef53a69830590b2e1c54345068a9747",
        "9342077011d54f42fa1b88b7bc1f7008dcf5fff9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "message": "Merge branch \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd: (32 commits)\n  pnfs-obj: pg_test check for max_io_size\n  NFSv4.1: define nfs_generic_pg_test\n  NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n  NFSv4.1: change pg_test return type to bool\n  NFSv4.1: unify pnfs_pageio_init functions\n  pnfs-obj: objlayout_encode_layoutcommit implementation\n  pnfs: encode_layoutcommit\n  pnfs-obj: report errors and .encode_layoutreturn Implementation.\n  pnfs: encode_layoutreturn\n  pnfs: layoutret_on_setattr\n  pnfs: layoutreturn\n  pnfs-obj: osd raid engine read/write implementation\n  pnfs: support for non-rpc layout drivers\n  pnfs-obj: define per-inode private structure\n  pnfs: alloc and free layout_hdr layoutdriver methods\n  pnfs-obj: objio_osd device information retrieval and caching\n  pnfs-obj: decode layout, alloc/free lseg\n  pnfs-obj: pnfs_osd XDR client implementation\n  pnfs-obj: pnfs_osd XDR definitions\n  pnfs-obj: objlayoutdriver module skeleton\n  ...\n"
    },
    {
      "commit": "3063287053bca5207e121c567b95b2b6f0bdc2c8",
      "tree": "404c92175f536d20576254a43a7a93b3b02343f2",
      "parents": [
        "778aeb42a708d2a57e491d2cbb5a1e74f61270b9"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 05:11:12 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:25 2011 -0500"
      },
      "message": "eCryptfs: Remove ecryptfs_header_cache_2\n\nNow that ecryptfs_lookup_interpose() is no longer using\necryptfs_header_cache_2 to read in metadata, the kmem_cache can be\nremoved and the ecryptfs_header_cache_1 kmem_cache can be renamed to\necryptfs_header_cache.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "778aeb42a708d2a57e491d2cbb5a1e74f61270b9",
      "tree": "6651d8a2356b9075e6978285cbcfa7aab16e9b7a",
      "parents": [
        "7a86617e553f47761b10f57de472d7262562b7de"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 04:56:23 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:24 2011 -0500"
      },
      "message": "eCryptfs: Cleanup and optimize ecryptfs_lookup_interpose()\n\necryptfs_lookup_interpose() has turned into spaghetti code over the\nyears. This is an effort to clean it up.\n\n - Shorten overly descriptive variable names such as ecryptfs_dentry\n - Simplify gotos and error paths\n - Create helper function for reading plaintext i_size from metadata\n\nIt also includes an optimization when reading i_size from the metadata.\nA complete page-sized kmem_cache_alloc() was being done to read in 16\nbytes of metadata. The buffer for that is now statically declared.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7a86617e553f47761b10f57de472d7262562b7de",
      "tree": "63ae402692eae9b062b3423b6d081ebe9a192d36",
      "parents": [
        "3b06b3ebf44170c90c893c6c80916db6e922b9f2"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon May 02 00:39:54 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:24:24 2011 -0500"
      },
      "message": "eCryptfs: Return useful code from contains_ecryptfs_marker\n\nInstead of having the calling functions translate the true/false return\ncode to either 0 or -EINVAL, have contains_ecryptfs_marker() return 0 or\n-EINVAL so that the calling functions can just reuse the return code.\n\nAlso, rename the function to ecryptfs_validate_marker() to avoid callers\nmistakenly thinking that it returns true/false codes.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3b06b3ebf44170c90c893c6c80916db6e922b9f2",
      "tree": "1da70b311ad7ec7615f3d44ae269ca56a458fc2d",
      "parents": [
        "5ccf92037c7c6e6f28175fd245284923f939259f"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 03:49:02 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 14:23:39 2011 -0500"
      },
      "message": "eCryptfs: Fix new inode race condition\n\nOnly unlock and d_add() new inodes after the plaintext inode size has\nbeen read from the lower filesystem. This fixes a race condition that\nwas sometimes seen during a multi-job kernel build in an eCryptfs mount.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d36002\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nReported-by: David \u003cdavid@unsolicited.net\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "57ed609d4b64139b4d2cf5f3b4880a573a7905d2",
      "tree": "d824e1ebd33b28c4ccc53e9074064db479b17dc7",
      "parents": [
        "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
        "f133ecca9cbb31b5e6e9bda27cbe3034fbf656df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: more /proc and /sys file support\n"
    },
    {
      "commit": "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
      "tree": "24392a2843b19e81a1a38d88b34e772bd688502b",
      "parents": [
        "b11b06d90a41766c2d31f0acb8a87aa0f2a7188f",
        "c47d832bc0155153920e507f075647519bad09a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd: make local functions static\n  NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()\n  NFSD: Check status from nfsd4_map_bcts_dir()\n  NFSD: Remove setting unused variable in nfsd_vfs_read()\n  nfsd41: error out on repeated RECLAIM_COMPLETE\n  nfsd41: compare request\u0027s opcnt with session\u0027s maxops at nfsd4_sequence\n  nfsd v4.1 lOCKT clientid field must be ignored\n  nfsd41: add flag checking for create_session\n  nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly\n  nfsd4: fix wrongsec handling for PUTFH + op cases\n  nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller\n  nfsd4: introduce OPDESC helper\n  nfsd4: allow fh_verify caller to skip pseudoflavor checks\n  nfsd: distinguish functions of NFSD_MAY_* flags\n  svcrpc: complete svsk processing on cb receive failure\n  svcrpc: take advantage of tcp autotuning\n  SUNRPC: Don\u0027t wait for full record to receive tcp data\n  svcrpc: copy cb reply instead of pages\n  svcrpc: close connection if client sends short packet\n  svcrpc: note network-order types in svc_process_calldir\n  ...\n"
    },
    {
      "commit": "f1d1c9fa8f360990e263bdcb73e35ab6fbdc41fe",
      "tree": "91468535e200f890fd532d5cbb50df59035278e0",
      "parents": [
        "2ff55e98d6e662a4887d2c688a4ab2ae510a97df",
        "176e21ee2ec89cae8d45cf1a850ea45a45428fb8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:20:02 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.40\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  SUNRPC: Support for RPC over AF_LOCAL transports\n  SUNRPC: Remove obsolete comment\n  SUNRPC: Use AF_LOCAL for rpcbind upcalls\n  SUNRPC: Clean up use of curly braces in switch cases\n  NFS: Revert NFSROOT default mount options\n  SUNRPC: Rename xs_encode_tcp_fragment_header()\n  nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()\n  nfs41: Correct offset for LAYOUTCOMMIT\n  NFS: nfs_update_inode: print current and new inode size in debug output\n  NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors\n  NFSv4: Handle expired stateids when the lease is still valid\n  SUNRPC: Deal with the lack of a SYN_SENT sk-\u003esk_state_change callback...\n"
    },
    {
      "commit": "2ff55e98d6e662a4887d2c688a4ab2ae510a97df",
      "tree": "fcf2ede834a2b61b00cbe7c38fdd34fbf8b2e7b5",
      "parents": [
        "daa94222b638bfe34f745d0982de7a165ce7f67c",
        "d5b72ce15ea99a0b8f0d1973074c584daf92d70e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:19:45 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: Fix sanity check patches on big-endian systems\n"
    },
    {
      "commit": "ef1d57599dc904fdb31b8e9b5336350d21a1fde1",
      "tree": "4e3f7d49c5a8c27efd5a1009131f4b3f87eff503",
      "parents": [
        "bc658c96037fc87463f0703ad2ea7c895344cb7e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun May 29 13:46:08 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:17:34 2011 -0700"
      },
      "message": "cifs/ubifs: Fix shrinker API change fallout\n\nCommit 1495f230fa77 (\"vmscan: change shrinker API by passing\nshrink_control struct\") changed the API of -\u003eshrink(), but missed ubifs\nand cifs instances.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9342077011d54f42fa1b88b7bc1f7008dcf5fff9",
      "tree": "88ef803dae5672d8bb40a563a6d2d301ae2e782f",
      "parents": [
        "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed May 25 21:25:29 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:03:08 2011 +0300"
      },
      "message": "pnfs-obj: pg_test check for max_io_size\n\nImplement pg_test vector to test for max IO sizes. We calculate\na max_io_size member only once, and cache it in lseg so to not\ndo so on every page insert.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[simplify logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5b36c7dc41d87d39e779a84fdc2b44b39bba32ca",
      "tree": "4b83c833021014fd51fcffbff88eea8069cd9cff",
      "parents": [
        "89a58e32d9105c01022a757fb32ddc3b51bf0025"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 11:45:39 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 21:02:42 2011 +0300"
      },
      "message": "NFSv4.1: define nfs_generic_pg_test\n\nBy default, unless pnfs is used coalesce pages until pg_bsize\n(rsize or wsize) is reached.\n\npnfs layout drivers define their own pg_test methods that use\npnfs_generic_pg_test and need to define their own I/O size\nlimits (e.g. based on the file stripe size).\n\n[Move a check from nfs_pageio_do_add_request to nfs_generic_pg_test]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "89a58e32d9105c01022a757fb32ddc3b51bf0025",
      "tree": "fd04ff022a084339868e81fc9a4679667c2b70bd",
      "parents": [
        "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:54:40 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:55 2011 +0300"
      },
      "message": "NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18ad0a9f2ccd260d37dd6bc5fa04c7819def4c84",
      "tree": "a0936cf11e81969c0f84716ab958cd4728c87f54",
      "parents": [
        "dfed206b8857d41a91ebba030f99e30017a44dda"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 21:03:56 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:54 2011 +0300"
      },
      "message": "NFSv4.1: change pg_test return type to bool\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "dfed206b8857d41a91ebba030f99e30017a44dda",
      "tree": "ac4c161b548e872e92da36499a2e8c28f5a34aeb",
      "parents": [
        "a0fe8bf427f4987d7b82678292ca03cfd7331467"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed May 25 20:25:22 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:56:43 2011 +0300"
      },
      "message": "NFSv4.1: unify pnfs_pageio_init functions\n\nUse common code for pnfs_pageio_init_{read,write} and use\na common generic pg_test function.\n\nNote that this function always assumes the the layout driver\u0027s\npg_test method is implemented.\n\n[Fix BUG]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "a0fe8bf427f4987d7b82678292ca03cfd7331467",
      "tree": "d995bd164b03dde89da24af979931c2490fe9414",
      "parents": [
        "ac7db7264ac3314cae09893bc838fcb7e83267a4"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:54:13 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs-obj: objlayout_encode_layoutcommit implementation\n\n* Define API for io-engines to report delta_space_used in IOs\n* Encode the osd-layout specific information of the layoutcommit\n  XDR buffer.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ac7db7264ac3314cae09893bc838fcb7e83267a4",
      "tree": "7586470df26218daa8d771760615ae0d76e6788a",
      "parents": [
        "adb58535e604a564495a7d50dfb0afa0ddc21bcb"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:53:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:55:00 2011 +0300"
      },
      "message": "pnfs: encode_layoutcommit\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout commit in-line in the xdr stream.\n\nCurrently, the pnfs-objects layout driver uses it to encode metadata hints\nto the MDS and the blocks layout driver to commit provisionally allocated\nextents to the file.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "adb58535e604a564495a7d50dfb0afa0ddc21bcb",
      "tree": "54af4fe9569650342e61dbb314334e3617c48dc2",
      "parents": [
        "04a555498e03b3804e2dec916a4669f5f560e503"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:49:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:45 2011 +0300"
      },
      "message": "pnfs-obj: report errors and .encode_layoutreturn Implementation.\n\nAn io_state pre-allocates an error information structure for each\npossible osd-device that might error during IO. When IO is done if all\nwas well the io_state is freed. (as today). If the I/O has ended with an\nerror, the io_state is queued on a per-layout err_list. When eventually\nencode_layoutreturn() is called, each error is properly encoded on the\nXDR buffer and only then the io_state is removed from err_list and\nde-allocated.\n\nIt is up to the io_engine to fill in the segment that fault and the type\nof osd_error that occurred. By calling objlayout_io_set_result() for\neach failing device.\n\nIn objio_osd:\n* Allocate io-error descriptors space as part of io_state\n* Use generic objlayout error reporting at end of io.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04a555498e03b3804e2dec916a4669f5f560e503",
      "tree": "4fab39683df70cee7f7aea7d7718072a811ad153",
      "parents": [
        "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sun May 22 19:53:10 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:37 2011 +0300"
      },
      "message": "pnfs: encode_layoutreturn\n\nAdd a layout driver method to encode the layout type specific\nopaque part of layout return in-line in the xdr stream.\n\nCurrently the pnfs-objects layout driver uses it to encode i/o error\ninformation on LAYOUTRETURN.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixup layout header pointer for encode_layoutreturn]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8a1636c459cb7a4b32ba4024cd1b2ba21fba6aed",
      "tree": "f9c46f272b98ceb65f997f226d47da68c6fcac6b",
      "parents": [
        "cbe8260369c9f88eafa035cd327dc3e02fad528c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jul 14 15:43:57 2010 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutret_on_setattr\n\nWith the objects layout security model, we have object capabilities\nthat are associated with the layout and we anticipate that the server\nwill issue a cb_layoutrecall for any setattr that changes security\nrelated attributes (user/group/mode/acl) or truncates the file.\n\nTherefore, the layout is returned before issuing the setattr to avoid\nthe anticipated cb_layoutrecall.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "cbe8260369c9f88eafa035cd327dc3e02fad528c",
      "tree": "13316d9b1a761cf58c35e663375b72f6ac07c5d2",
      "parents": [
        "04f83450388e87d86b387cf4a27b81eb7e69de7d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:37 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:36 2011 +0300"
      },
      "message": "pnfs: layoutreturn\n\nNFSv4.1 LAYOUTRETURN implementation\n\nCurrently, does not support layout-type payload encoding.\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\n[call pnfs_return_layout right before pnfs_destroy_layout]\n[remove assert_spin_locked from pnfs_clear_lseg_list]\n[remove wait parameter from the layoutreturn path.]\n[remove return_type field from nfs4_layoutreturn_args]\n[remove range from nfs4_layoutreturn_args]\n[no need to send layoutcommit from _pnfs_return_layout]\n[don\u0027t wait on sync layoutreturn]\n[fix layout stateid in layoutreturn args]\n[fixed NULL deref in _pnfs_return_layout]\n[removed recaim member of nfs4_layoutreturn_args]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "04f83450388e87d86b387cf4a27b81eb7e69de7d",
      "tree": "99c10d6a995ed1e7b872abb0127fc38d6bef9982",
      "parents": [
        "d20581aa4be11407c9eeeb75992df5ef176bba0f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:52:19 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:54:15 2011 +0300"
      },
      "message": "pnfs-obj: osd raid engine read/write implementation\n\nWith the use of the in-kernel osd library. Implement read/write\nof data from/to osd-objects according to information specified\nin the objects-layout.\n\nSupport for stripping over mirrors with a received stripe_unit.\nThere are however a few constrains which are not supported:\n 1. Stripe Unit must be a multiple of PAGE_SIZE\n 2. stripe length (stripe_unit * number_of_stripes) can not be\n    bigger then 32bit.\n\nAlso support raid-groups and partial-layout. Partial-layout is\nwhen not all the groups are received on the line, addressing\nonly a partial range of the file.\n\nTODO:\n  Only raid0! raid 4/5/6 support will come at later stage\n\nA none supported layout will send IO through the MDS\n\n[Important fallout from the last rebase]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d20581aa4be11407c9eeeb75992df5ef176bba0f",
      "tree": "277fdff5bc6ad5a5df105abd092c7179d22554fb",
      "parents": [
        "e51b841dd0be9ff53f740c44c32c32679edcb7c8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:52:03 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs: support for non-rpc layout drivers\n\nNon-rpc layout driver such as for objects and blocks\nimplement their own I/O path and error handling logic.\nTherefore bypass NFS-based error handling for these layout drivers.\n\n[fix lseg ref-count bugs, and null de-refs]\n[Fall out from: non-rpc layout drivers]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[get rid of PNFS_USE_RPC_CODE]\n[get rid of __nfs4_write_done_cb]\n[revert useless change in nfs4_write_done_cb]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "e51b841dd0be9ff53f740c44c32c32679edcb7c8",
      "tree": "03e46d6013fa2a45ad22b3f510267d11e5f8d25a",
      "parents": [
        "636fb9c89d7e216aac3d406e458864420057e981"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:48 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:51 2011 +0300"
      },
      "message": "pnfs-obj: define per-inode private structure\n\nallocate and deallocate per-inode private pnfs_layout_hdr\nin preparation for I/O implementation.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "636fb9c89d7e216aac3d406e458864420057e981",
      "tree": "4342ccf39c4b4b26bdcf79833c7f98f8b9913262",
      "parents": [
        "b6c05f1693115164c7b797152ac7ea3ef8e5d296"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:51:33 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:50 2011 +0300"
      },
      "message": "pnfs: alloc and free layout_hdr layoutdriver methods\n\n[gfp_flags]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b6c05f1693115164c7b797152ac7ea3ef8e5d296",
      "tree": "24430851c2569f4db76b13f41e82514326fbb878",
      "parents": [
        "09f5bf4e6d0607399c16ec7a2d8d166f31086686"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 26 21:45:34 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:33 2011 +0300"
      },
      "message": "pnfs-obj: objio_osd device information retrieval and caching\n\nWhen a new layout is received in objio_alloc_lseg all device_ids\nreferenced are retrieved. The device information is queried for from MDS\nand then the osd_device is looked-up from the osd-initiator library. The\ndevices are cached in a per-mount-point list, for later use. At unmount\nall devices are \"put\" back to the library.\n\nobjlayout_get_deviceinfo(), objlayout_put_deviceinfo() middleware\nAPI for retrieving device information given a device_id.\n\nTODO: The device cache can get big. Cap its size. Keep an LRU and start\n      to return devices which were not used, when list gets to big, or\n      when new entries allocation fail.\n\n[pnfs-obj: Bugs in new global-device-cache code]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[use global device cache]\n[use layout driver in global device cache]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "09f5bf4e6d0607399c16ec7a2d8d166f31086686",
      "tree": "767732b80aaa48a97e86af2c6f0ec7a3120219f2",
      "parents": [
        "f1bc893a89d012649e4e7f43575b2c290e08ee42"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:50:20 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:53:06 2011 +0300"
      },
      "message": "pnfs-obj: decode layout, alloc/free lseg\n\nobjlayout_alloc_lseg prepares an xdr_stream and calls the\nraid engins objio_alloc_lseg() to allocate a private\npnfs_layout_segment.\n\nobjio_osd.c::objio_alloc_lseg() uses passed xdr_stream to\ndecode and store the layout_segment information in an\nobjio_segment struct, using the pnfs_osd_xdr.h API for\nthe actual parsing the layout xdr.\n\nobjlayout_free_lseg calls objio_free_lseg() to free the\nallocated space.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[gfp_flags]\n[removed \"extern\" from function definitions]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f1bc893a89d012649e4e7f43575b2c290e08ee42",
      "tree": "2f06cc6c3232292b2dfae6e7e7f3770699f324b4",
      "parents": [
        "38b7c401f6ade50543f246c4bc2c971edf2b19dd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 22 19:49:57 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:36 2011 +0300"
      },
      "message": "pnfs-obj: pnfs_osd XDR client implementation\n\n* Add the fs/nfs/objlayout/pnfs_osd_xdr_cli.c file, which will\n  include the XDR encode/decode implementations for the pNFS\n  client objlayout driver.\n\n[Wrong type in comments]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c93407d03c3ccf60b33a309e5fcd41cd98969901",
      "tree": "9ef9cfb8a2c8dd7ae05960469bfef0d396363dc4",
      "parents": [
        "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:49:06 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:35 2011 +0300"
      },
      "message": "pnfs-obj: objlayoutdriver module skeleton\n\n* Define the PNFS_OBJLAYOUT Kconfig option in the nfs\n  master Kconfig file.\n* Add the objlayout driver to the Kernel\u0027s Kbuild system.\n* Add the fs/nfs/objlayout/Kbuild file for building the\n  objlayoutdriver.ko driver\n* Define fs/nfs/objlayout/objio_osd.c, register the driver on module\n  initialization and unregister on exit.\n\n[pnfs-obj: remove of CONFIG_PNFS fallout]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[added \"unsure\" clause]\n[depend on NFS_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "ae50c0b5c6f6fa340f1fe2d244b358145f7e5a15",
      "tree": "dd4deefa6aa04838ce375053f29c675dbe732d5e",
      "parents": [
        "778b5502fdba5b183553f3f2ef1672ba78ac58b6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Sun May 22 19:48:21 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: client stats\n\nA pNFS client auto-negotiates a lot of features (minorversion level,\npNFS layout type, etc.).  This is convenient, but makes certain kinds of\nfailures hard for a user to detect.\n\nFor example, if the client falls back on 4.0, or falls back to MDS IO\nbecause the user didn\u0027t connect to the right iscsi disks before\nmounting, the only symptoms may be reduced performance, which may not be\nnoticed till long after the actual failure, and may be difficult for a\nuser to diagnose.\n\nHowever, such \"failures\" may also be perfectly normal in some cases, so\nwe don\u0027t want to spam the system logs with them.\n\nOne approach would be to put some more information into\n/proc/self/mountstats.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs: add commit client stats]\n[fixup data types for \"ret\" variables in pnfs_try_to* inline funcs.]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix definition of show_pnfs for !CONFIG_PNFS]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Fix show_sessions in the not CONFIG_NFS_V4_1 case]\n    There is a build error when CONFIG_NFS_V4 is set but\n    CONFIG_NFS_V4_1 is *not* set. show_sessions() prototype\n    was unbalanced between the two cases.\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[pnfs: super.c remove CONFIG_PNFS]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "778b5502fdba5b183553f3f2ef1672ba78ac58b6",
      "tree": "dc37bf3b4f9cdfab7ee16a2b776b6ea2d7653210",
      "parents": [
        "707ed5fdb587c71fdb7ad224ba1d80231f33c974"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:48:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:34 2011 +0300"
      },
      "message": "pnfs: Use byte-range for cb_layoutrecall\n\nUse recalled range to invalidate particular layout segments in the layout cache.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "707ed5fdb587c71fdb7ad224ba1d80231f33c974",
      "tree": "a3903d971a59df7fb311fe9ce5cd830c92e2bd34",
      "parents": [
        "fb3296eb4636763918edef2d22e45b85b15d4518"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:33 2011 +0300"
      },
      "message": "pnfs: align layoutget requests on page boundaries\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb3296eb4636763918edef2d22e45b85b15d4518",
      "tree": "31c85255ccfa03cbca2d1e4e52028e489276a73b",
      "parents": [
        "f7da7a129d57bfe0f74573dc03531c63e1360fae"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun May 22 19:47:26 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "pnfs: Use byte-range for layoutget\n\nAdd offset and count parameters to pnfs_update_layout and use them to get\nthe layout in the pageio path.\n\nOrder cache layout segments in the following order:\n* offset (ascending)\n* length (descending)\n* iomode (RW before READ)\n\nTest byte range against the layout segment in use in pnfs_{read,write}_pg_test\nso not to coalesce pages not using the same layout segment.\n\n[fix lseg ordering]\n[clean up pnfs_find_lseg lseg arg]\n[remove unnecessary FIXME]\n[fix ordering in pnfs_insert_layout]\n[clean up pnfs_insert_layout]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "35c8bb543c9e83197e6375142d1d1c2ee3cf017d",
      "tree": "f0f8a69c1586a8d24526223ed70a922c934f9b87",
      "parents": [
        "1be5683b03a766670b3b629bf6bfeab3ca9239d8"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Tue May 24 18:04:02 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "NFSv4.1: use layout driver in global device cache\n\npnfs deviceids are unique per server, per layout type.\nstruct nfs_client is currently used to distinguish deviceids from\ndifferent nfs servers, yet these may clash between different layout\ntypes on the same server.  Therefore, use the layout driver associated\nwith each deviceid at insertion time to look it up, unhash, or\ndelete it.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1be5683b03a766670b3b629bf6bfeab3ca9239d8",
      "tree": "613f4c0dea8b0d8447a3158b82b3e2046ee9dcb5",
      "parents": [
        "1775bc342c6eacd6304493cbb2e0cda1a0182246"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Sun May 22 19:47:09 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:31 2011 +0300"
      },
      "message": "pnfs: CB_NOTIFY_DEVICEID\n\nNote: This functionlaity is incomplete as all layout segments referring to\nthe \u0027to be removed device id\u0027 need to be reaped, and all in flight I/O drained.\n\n[use be32 res in nfs4_callback_devicenotify]\n[use nfs_client to qualify deviceid for cb_notify_deviceid]\n[use global deviceid cache for CB_NOTIFY_DEVICEID]\n[refactor device cache _lookup_deviceid]\n[refactor device cache _find_get_deviceid]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Bug in new global-device-cache code]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "5ccf92037c7c6e6f28175fd245284923f939259f",
      "tree": "3d9d551131686c9b0f4c6f7ed31ce4db1dbd0327",
      "parents": [
        "c4f790736ca8d7d86883c5aee2ba1caa15cd8da3"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue May 24 02:16:51 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 12:51:17 2011 -0500"
      },
      "message": "eCryptfs: Cleanup inode initialization code\n\nThe eCryptfs inode get, initialization, and dentry interposition code\nhas two separate paths. One is for when dentry interposition is needed\nafter doing things like a mkdir in the lower filesystem and the other\nis needed after a lookup. Unlocking new inodes and doing a d_add() needs\nto happen at different times, depending on which type of dentry\ninterposing is being done.\n\nThis patch cleans up the inode get and initialization code paths and\nsplits them up so that the locking and d_add() differences mentioned\nabove can be handled appropriately in a later patch.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "1775bc342c6eacd6304493cbb2e0cda1a0182246",
      "tree": "b0a884a41f565a41957524146ff6ee51b2b7db7b",
      "parents": [
        "a1eaecbc4c8307e27772d6584ef85a2e93250661"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 13:47:33 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:50:42 2011 +0300"
      },
      "message": "NFSv4.1: purge deviceid cache on nfs_free_client\n\nUse the pnfs_layoutdriver_type both as a qualifier for the deviceid,\ndistinguishing deviceid from different layout types on the server,\nand for freeing the layout-driver allocated structure containing the\nnfs4_deviceid_node.\n\n[BUG in _deviceid_purge_client]\n[layout_driver MUST set free_deviceid_node if using dev-cache]\n[let ver \u003c 4.1 compile]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[removed EXPORT_SYMBOL_GPL(nfs4_deviceid_purge_client)]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "c4f790736ca8d7d86883c5aee2ba1caa15cd8da3",
      "tree": "827e371fb2aff1e9290fbd90ca436d069aaa356d",
      "parents": [
        "139f37f5e14cd883eee2a8a36289f544b5390a44"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon May 23 21:18:20 2011 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun May 29 12:49:53 2011 -0500"
      },
      "message": "eCryptfs: Consolidate inode functions into inode.c\n\nThese functions should live in inode.c since their focus is on inodes\nand they\u0027re primarily used by functions in inode.c.\n\nAlso does a simple cleanup of ecryptfs_inode_test() and rolls\necryptfs_init_inode() into ecryptfs_inode_set().\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nTested-by: David \u003cdavid@unsolicited.net\u003e\n"
    },
    {
      "commit": "a1eaecbc4c8307e27772d6584ef85a2e93250661",
      "tree": "940549d45db98a5bcfe22501de0bbe9c96de4c8e",
      "parents": [
        "45df3c8b0f3a58facb125d7631890426706c0bfa"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 22:14:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "NFSv4.1: make deviceid cache global\n\nMove deviceid cache from the pnfs files layout driver to the\ngeneric layer in preparation for the objects layout driver.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "45df3c8b0f3a58facb125d7631890426706c0bfa",
      "tree": "36261a558f7822886cd965ea827f5601573650c6",
      "parents": [
        "67d51f65bde233b17de304baec4f7c4d086471fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 05 08:28:46 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:48 2011 +0300"
      },
      "message": "pnfs: resolve header dependency in pnfs.h\n\nSome definitions in the header file depend on nfs_fs.h so pnfs.h can\u0027t\nbe included independently.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "67d51f65bde233b17de304baec4f7c4d086471fe",
      "tree": "d9a5e9f93e9ab85e04350166a94a521c780da229",
      "parents": [
        "3b6445a6f68b839d1b437756b9c72312e33339b2"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri May 20 10:45:05 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:47 2011 +0300"
      },
      "message": "NFSv4.1: use struct nfs_client to qualify deviceid\n\ndeviceids are unique per server, per layout type.\nTherefore, in the global cache in the files layout driver\ndeviceids from different servers may clash so we need\nto qualify them with a struct nfs_client that represents\nthe nfs server that returned the deviceid.\n\nIntroduced in 2.6.39 commit ea8eecdd\n\"NFSv4.1 move deviceid cache to filelayout driver\"\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "3b6445a6f68b839d1b437756b9c72312e33339b2",
      "tree": "a9b6ad5a51d948baf7afc8503110791a3dbc3f79",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Tue Feb 22 19:31:57 2011 -0500"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 12:09:46 2011 +0300"
      },
      "message": "NFSv4.1: fix typo in filelayout_check_layout\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "d5b72ce15ea99a0b8f0d1973074c584daf92d70e",
      "tree": "ead92ef8a1251f6e1bffd62bd9de9d98daa6c7a2",
      "parents": [
        "d7f2ff6718efa155fd92e481a5960496d084c63f"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun May 29 00:38:46 2011 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Sun May 29 10:03:09 2011 +0100"
      },
      "message": "Squashfs: Fix sanity check patches on big-endian systems\n\nle64 values should be swapped when accessing on\nbig-endian systems.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "36947a76826111e661a26cb0f668a5be6cc3ddb4",
      "tree": "ed5d92c9d71f9ca68e6a3583a10ebf911c9c44dd",
      "parents": [
        "a947e23a8ec04bccbfe98c5a2d64cd1f88b612d5",
        "69b4573296469fd3f70cf7044693074980517067"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (36 commits)\n  Cache xattr security drop check for write v2\n  fs: block_page_mkwrite should wait for writeback to finish\n  mm: Wait for writeback when grabbing pages to begin a write\n  configfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  fat: remove unnecessary dentry_unhash on rmdir, dir rename\n  hpfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  minix: remove unnecessary dentry_unhash on rmdir, dir rename\n  fuse: remove unnecessary dentry_unhash on rmdir, dir rename\n  coda: remove unnecessary dentry_unhash on rmdir, dir rename\n  afs: remove unnecessary dentry_unhash on rmdir, dir rename\n  affs: remove unnecessary dentry_unhash on rmdir, dir rename\n  9p: remove unnecessary dentry_unhash on rmdir, dir rename\n  ncpfs: fix rename over directory with dangling references\n  ncpfs: document dentry_unhash usage\n  ecryptfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hostfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfsplus: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  omfs: remove unnecessary dentry_unhash on rmdir, dir rneame\n  udf: remove unnecessary dentry_unhash from rmdir, dir rename\n  ...\n"
    },
    {
      "commit": "69b4573296469fd3f70cf7044693074980517067",
      "tree": "aea41eacb2a0f32748145a59bb8dc300b4485f36",
      "parents": [
        "d76ee18a8551e33ad7dbd55cac38bc7b094f3abb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Sat May 28 08:25:51 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 12:02:09 2011 -0400"
      },
      "message": "Cache xattr security drop check for write v2\n\nSome recent benchmarking on btrfs showed that a major scaling bottleneck\non large systems on btrfs is currently the xattr lookup on every write.\n\nWhy xattr lookup on every write I hear you ask?\n\nwrite wants to drop suid and security related xattrs that could set o\ncapabilities for executables.  To do that it currently looks up\nsecurity.capability on EVERY write (even for non executables) to decide\nwhether to drop it or not.\n\nIn btrfs this causes an additional tree walk, hitting some per file system\nlocks and quite bad scalability. In a simple read workload on a 8S\nsystem I saw over 90% CPU time in spinlocks related to that.\n\nChris Mason tells me this is also a problem in ext4, where it hits\nthe global mbcache lock.\n\nThis patch adds a simple per inode to avoid this problem.  We only\ndo the lookup once per file and then if there is no xattr cache\nthe decision. All xattr changes clear the flag.\n\nI also used the same flag to avoid the suid check, although\nthat one is pretty cheap.\n\nA file system can also set this flag when it creates the inode,\nif it has a cheap way to do so.  This is done for some common file systems\nin followon patches.\n\nWith this patch a major part of the lock contention disappears\nfor btrfs. Some testing on smaller systems didn\u0027t show significant\nperformance changes, but at least it helps the larger systems\nand is generally more efficient.\n\nv2: Rename is_sgid. add file system helper.\nCc: chris.mason@oracle.com\nCc: josef@redhat.com\nCc: viro@zeniv.linux.org.uk\nCc: agruen@linbit.com\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6df87e65dbe4528ef07b917af89913abb8caaaba",
      "tree": "f15080a951aa5e141ba4dd13b187f56707add78c",
      "parents": [
        "29a6ccca3869bbe33879dae0cd7df2a1559eff54"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@kernel.org",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "message": "block: improve the bio_add_page() and bio_add_pc_page() descriptions\n\nThe descriptions of bio_add_page() and bio_add_pc_page() are slightly\ninconsistent; improve them.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ff5714cca971848963b87d6b477c16ca8abbaa54",
      "tree": "17ee34b9b5e00804df4059503f82f6f1d94383a9",
      "parents": [
        "174ba50915b08dcfd07c8b5fb795b46a165fa09a",
        "d90c732122a1f6d0efe388a8a204f67f144b2eb3"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 28 07:00:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 28 07:00:39 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of\ngit://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus\n\nConflicts:\n\tfs/btrfs/disk-io.c\n\tfs/btrfs/extent-tree.c\n\tfs/btrfs/free-space-cache.c\n\tfs/btrfs/inode.c\n\tfs/btrfs/transaction.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d76ee18a8551e33ad7dbd55cac38bc7b094f3abb",
      "tree": "b65a21c32f7ebd9213886a3a9181ed946ba69777",
      "parents": [
        "3d08bcc887a1c8d12be8d81f747ffa2e8a44b67b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri May 27 12:23:41 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:03:21 2011 -0400"
      },
      "message": "fs: block_page_mkwrite should wait for writeback to finish\n\nFor filesystems such as nilfs2 and xfs that use block_page_mkwrite, modify that\nfunction to wait for pending writeback before allowing the page to become\nwritable.  This is needed to stabilize pages during writeback for those two\nfilesystems.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "98702467f829177b3993f17da9fe5c202d160e5e",
      "tree": "d87dc436d3cc4429233225a3681c81a504ce6c27",
      "parents": [
        "f4ff0e25c5093dd89e9cac4a8f71a57587ada787"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:19 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:54 2011 -0400"
      },
      "message": "configfs: remove unnecessary dentry_unhash on rmdir, dir rename\n\nconfigfs does not have problems with references to unlinked directories.\n\nCC: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4ff0e25c5093dd89e9cac4a8f71a57587ada787",
      "tree": "2c8414420a23d47152a03f283e97d5b3533401b6",
      "parents": [
        "45adfef7d023004ff95bf63b5f2f0e2d88afac3f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:18 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:54 2011 -0400"
      },
      "message": "fat: remove unnecessary dentry_unhash on rmdir, dir rename\n\nfat does not have problems with references to unlinked directories.\n\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "45adfef7d023004ff95bf63b5f2f0e2d88afac3f",
      "tree": "e01898bc3e7a82340723d299cf881903283d7e7a",
      "parents": [
        "b80d2c228d8206cadc32226750dbbf3b707bdd19"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:17 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:54 2011 -0400"
      },
      "message": "hpfs: remove unnecessary dentry_unhash on rmdir, dir rename\n\nHpfs has no problems with references to unlinked directories.\n\nWe leave one dentry_unhash call in place, in hpfs_unlink\u0027s strange path\nwhere it tries to truncate a file because the disk is full.  I\u0027m not sure\nwhat the full story is there.\n\nCC: Mikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b80d2c228d8206cadc32226750dbbf3b707bdd19",
      "tree": "ca106ba5a3cec0bb854a8a8deba5e6da80c6095d",
      "parents": [
        "526e7ce5528c8addcf154acec41b615f71dce7e1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:16 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:54 2011 -0400"
      },
      "message": "minix: remove unnecessary dentry_unhash on rmdir, dir rename\n\nMinix has no issues with references to unlinked directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "526e7ce5528c8addcf154acec41b615f71dce7e1",
      "tree": "d3cadaaa5dec5b7c9d851d59b6ed595c1ca5eb7e",
      "parents": [
        "42b850b2806f8f55f5c3a0e3c78af738d5054fdc"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:15 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "fuse: remove unnecessary dentry_unhash on rmdir, dir rename\n\nFuse has no problems with references to unlinked directories.\n\nCC: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCC: fuse-devel@lists.sourceforge.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42b850b2806f8f55f5c3a0e3c78af738d5054fdc",
      "tree": "1ad06d61fc32116be435235a03f8e6b25d9f7d43",
      "parents": [
        "705da2de95ce79199a52f21d82dd9f36b89afd12"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:14 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "coda: remove unnecessary dentry_unhash on rmdir, dir rename\n\nCoda has no problems with references to unlinked directories.\n\nCC: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nCC: coda@cs.cmu.edu\nCC: codalist@coda.cs.cmu.edu\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "705da2de95ce79199a52f21d82dd9f36b89afd12",
      "tree": "c5c2ee71bf417726fa4c765028e72b057aa6a3e1",
      "parents": [
        "94f9901b6c05d5e1e38d887179b8307efbc8e10c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:13 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "afs: remove unnecessary dentry_unhash on rmdir, dir rename\n\nafs has no problems with references to unlinked directories.\n\nCC: David Howells \u003cdhowells@redhat.com\u003e\nCC: linux-afs@lists.infradead.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94f9901b6c05d5e1e38d887179b8307efbc8e10c",
      "tree": "c97ac28ec6f638db9d0d4d4d563309c57d35fcdb",
      "parents": [
        "86905d6d96f138a99326016e4f0ca933200e0729"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:12 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "affs: remove unnecessary dentry_unhash on rmdir, dir rename\n\naffs has no problems with references to unlinked directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "86905d6d96f138a99326016e4f0ca933200e0729",
      "tree": "4d8c80becc39cf15a4df68d26e9a8349170bf665",
      "parents": [
        "76cc071a06afb4d2dd17bb1b855a233a419e7e02"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:11 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "9p: remove unnecessary dentry_unhash on rmdir, dir rename\n\n9p has no problems with references to unlinked directories.\n\nCC: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCC: Ron Minnich \u003crminnich@sandia.gov\u003e\nCC: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCC: v9fs-developer@lists.sourceforge.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "76cc071a06afb4d2dd17bb1b855a233a419e7e02",
      "tree": "24210edc60b09e2efe562499b7b844826d051bab",
      "parents": [
        "7ce605d93b775e8a960b0be244f7be565e73b3c1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:10 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "ncpfs: fix rename over directory with dangling references\n\nncpfs does not handle references to unlinked directories (or so it would\nseem given the ncp_rmdir check).  Since it is also possible to rename over\nan empty directory, perform the same check here.\n\nCC: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nCC: linux-kernel@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ce605d93b775e8a960b0be244f7be565e73b3c1",
      "tree": "eb37f0f8f83940e7328fc9b7762de3bd04eb358c",
      "parents": [
        "55e5b7e022eaaa805a44e3b6ecd5c8638d862050"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:09 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:53 2011 -0400"
      },
      "message": "ncpfs: document dentry_unhash usage\n\nncpfs returns EBUSY if there are any references to the directory.  The\ndentry_unhash call only unhashes the dentry if there are no references.\n\nCC: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nCC: linux-kernel@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "55e5b7e022eaaa805a44e3b6ecd5c8638d862050",
      "tree": "0b0c1b2d61769aef13e74ab54d43ce06e2b0fe0d",
      "parents": [
        "e41a59e0550b7bb40fe8c3438d690712e9fd511c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:08 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "ecryptfs: remove unnecessary dentry_unhash on rmdir, dir rename\n\necryptfs does not have problems with references to unlinked directories.\n\nCC: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCC: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCC: ecryptfs-devel@lists.launchpad.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e41a59e0550b7bb40fe8c3438d690712e9fd511c",
      "tree": "d47f2450bf7349b4dd40b077e2391c21ab2e9740",
      "parents": [
        "e3911785b8ae6897b3dae2af4fa296aa5a0f2c56"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:07 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "hostfs: remove unnecessary dentry_unhash on rmdir, dir rename\n\nhostfs does not have problems with references to unlinked directories.\n\nCC: Jeff Dike \u003cjdike@addtoit.com\u003e\nCC: Richard Weinberger \u003crichard@nod.at\u003e\nCC: user-mode-linux-devel@lists.sourceforge.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e3911785b8ae6897b3dae2af4fa296aa5a0f2c56",
      "tree": "f63630445029c6a555a42d3640617f1fa173b960",
      "parents": [
        "4e82d61b6ac4966b3b61c2d97ddf04928f037be1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:06 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "hfsplus: remove unnecessary dentry_unhash on rmdir, dir rename\n\nhfsplus does not have problems with references to unlinked directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4e82d61b6ac4966b3b61c2d97ddf04928f037be1",
      "tree": "3700b906aa42f7f1a41656cdfdae9245c9a618fa",
      "parents": [
        "8aaa0f5431d8d1181b3d1a1bcd8f3330c0ce275f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:05 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "hfs: remove unnecessary dentry_unhash on rmdir, dir rename\n\nhfs does not have problems with references to unlinked directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8aaa0f5431d8d1181b3d1a1bcd8f3330c0ce275f",
      "tree": "653c2e48f12f2f263a333ba7121679df372d9730",
      "parents": [
        "7020739df2fa0e2126fc9739987e016860f14323"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:04 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "omfs: remove unnecessary dentry_unhash on rmdir, dir rneame\n\nomfs does not have problems with references to unlinked directories.\n\nCC: Bob Copeland \u003cme@bobcopeland.com\u003e\nCC: linux-karma-devel@lists.sourceforge.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7020739df2fa0e2126fc9739987e016860f14323",
      "tree": "3344d1fe0f16db065a603359db4acc647a274331",
      "parents": [
        "cc350c2764a657ee012efd5bd260a6cd5be2f877"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:03 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "udf: remove unnecessary dentry_unhash from rmdir, dir rename\n\nudf does not have problems with references to unlinked directories.\n\nCC: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc350c2764a657ee012efd5bd260a6cd5be2f877",
      "tree": "1360aeab2ec2fbb71e80804df2f11f57b6bfb025",
      "parents": [
        "87161faae26503a8ebe1be5ba72073ae860dbfc7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:02 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "reiserfs: remove unnecessary dentry_unhash from rmdir, dir rename\n\nReiserfs does not have problems with references to unlinked directories.\n\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "87161faae26503a8ebe1be5ba72073ae860dbfc7",
      "tree": "3e51892e8bff5699d61459dda3fce6643495101c",
      "parents": [
        "0e54ec1c3a002a9d5e57b5ac73a934cc15a0fe06"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:01 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "ufs: remove unnecessary dentry_unhash from rmdir, dir rename\n\nufs does not have problems with references to unlinked directories.\n\nCC: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0e54ec1c3a002a9d5e57b5ac73a934cc15a0fe06",
      "tree": "6504d32b3d3e1a3dadc7d7083b5614702f479808",
      "parents": [
        "dfb55de89879a1c32a70d0a510b3701ed9a6b855"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:00 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "ubifs: remove unnecessary dentry_unhash from rmdir, dir rename\n\nubifs does not have problems with references to unlinked directories.\n\nCC: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCC: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCC: linux-mtd@lists.infradead.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dfb55de89879a1c32a70d0a510b3701ed9a6b855",
      "tree": "eeff0ef23494c5bf6ea23066b80c53156f21aefc",
      "parents": [
        "64370e2f9df572977757d70b1ad293b743dd9e20"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:41:59 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "nilfs2: remove unnecessary dentry_unhash from rmdir, dir rename\n\nnilfs2 does not have problems with references to unlinked directories.\n\nCC: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCC: linux-nilfs@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "64370e2f9df572977757d70b1ad293b743dd9e20",
      "tree": "10a53f37eabc2c1f6972abfa8780d003540a28c4",
      "parents": [
        "44a8e6364e48ab93a1d86385b5fc9efe81395fa9"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:41:58 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "logfs: remove unnecessary dentry_unhash from rmdir, dir rename\n\nlogfs does not have problems with references to unlinked directories.\n\nCC: Joern Engel \u003cjoern@logfs.org\u003e\nCC: logfs@logfs.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "44a8e6364e48ab93a1d86385b5fc9efe81395fa9"
}
