)]}'
{
  "log": [
    {
      "commit": "34b07840565004cfa444e165e88bf77a5cbcdb25",
      "tree": "d1a642967e1bebc62779d367b73cd31db52634d7",
      "parents": [
        "353b67d8ced4dc53281c88150ad295e24bc4b4c5"
      ],
      "author": {
        "name": "Djalal Harouni",
        "email": "tixxdz@opendz.org",
        "time": "Mon Jan 09 15:58:37 2012 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 11 13:39:02 2012 +0100"
      },
      "message": "ext2: protect inode changes in the SETVERSION and SETFLAGS ioctls\n\nUnlock mutex after i_flags and i_ctime updates in the EXT2_IOC_SETFLAGS\nioctl.\n\nUse i_mutex in the EXT2_IOC_SETVERSION ioctl to protect i_ctime and\ni_generation updates and make the ioctl consistent since i_mutex is\nalso used in other places to protect timestamps and inode changes.\n\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Djalal Harouni \u003ctixxdz@opendz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ac69e0928054ff29a5049902fb477f9c7605c773",
      "tree": "05be6b9285186823452e0adeffe40e1dfee6e354",
      "parents": [
        "9e203936eac786f9268d6a13e6442d2accef1829",
        "302bf2f3259948c93361d501b04a5ed69c3bd4f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2/3/4: delete unneeded includes of module.h\n  ext{3,4}: Fix potential race when setversion ioctl updates inode\n  udf: Mark LVID buffer as uptodate before marking it dirty\n  ext3: Don\u0027t warn from writepage when readonly inode is spotted after error\n  jbd: Remove j_barrier mutex\n  reiserfs: Force inode evictions before umount to avoid crash\n  reiserfs: Fix quota mount option parsing\n  udf: Treat symlink component of type 2 as /\n  udf: Fix deadlock when converting file from in-ICB one to normal one\n  udf: Cleanup calling convention of inode_getblk()\n  ext2: Fix error handling on inode bitmap corruption\n  ext3: Fix error handling on inode bitmap corruption\n  ext3: replace ll_rw_block with other functions\n  ext3: NULL dereference in ext3_evict_inode()\n  jbd: clear revoked flag on buffers before a new transaction started\n  ext3: call ext3_mark_recovery_complete() when recovery is really needed\n"
    },
    {
      "commit": "302bf2f3259948c93361d501b04a5ed69c3bd4f8",
      "tree": "22ccdf5774a28476745a94532b5ce2c2cc454d98",
      "parents": [
        "6c2155b9cc5a193e85194bbeaae2e2e4512dd597"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Jan 04 15:59:47 2012 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:10 2012 +0100"
      },
      "message": "ext2/3/4: delete unneeded includes of module.h\n\nDelete any instances of include module.h that were not strictly\nrequired.  In the case of ext2, the declaration of MODULE_LICENSE\netc. were in inode.c but the module_init/exit were in super.c, so\nrelocate the MODULE_LICENCE/AUTHOR block to super.c which makes it\nconsistent with ext3 and ext4 at the same time.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ef6919c283257155def420bd247140e9fd2e9843",
      "tree": "49c929bcb5b8be103a4ea8fe9964d0e02a0ec740",
      "parents": [
        "1415dd8705394399d59a3df1ab48d149e1e41e77"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Dec 09 00:08:58 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:07 2012 +0100"
      },
      "message": "ext2: Fix error handling on inode bitmap corruption\n\nWhen insert_inode_locked() fails in ext2_new_inode() it most likely means inode\nbitmap got corrupted and we allocated again inode which is already in use. Also\ndoing unlock_new_inode() during error recovery is wrong since the inode does\nnot have I_NEW set. Fix the problem by informing about filesystem error and\njumping to fail: (instead of fail_drop:) which doesn\u0027t call unlock_new_inode().\n\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3ea40bc9471ae5a24b7e07cbf085fcd3c9572c91",
      "tree": "6fa49c8f4996d7a284d375aaef30b4c60ab581e2",
      "parents": [
        "c2837de73e8081bd33bc72ad73f49d6bcba9d1b6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 02:46:18 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:58 2012 -0500"
      },
      "message": "ext2: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a67aafb5f72a436ca044293309fa7e6351d6a35",
      "tree": "d9e58600148de9d41b478cf815773b746647d15b",
      "parents": [
        "4acdaf27ebe2034c342f3be57ef49aed1ad885ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:52:52 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:54 2012 -0500"
      },
      "message": "switch -\u003emknod() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a79f17e4a641a2f463cb512cb0ec349844a147b",
      "tree": "8801127310d0a3492941bb284e83393844a19685",
      "parents": [
        "8c9379e972e984d11c2b99121847ba9fa7a0c56c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 08:06:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: mnt_drop_write_file()\n\nnew helper (wrapper around mnt_drop_write()) to be used in pair with\nmnt_want_write_file().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a561be7100cd610bd2e082f3211c1dfb45835817",
      "tree": "a1016a11df967be6f289a4e8ae29597ba39df17e",
      "parents": [
        "f47ec3f28354795f000c14bf18ed967ec81a3ec3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 11:57:51 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "switch a bunch of places to mnt_want_write_file()\n\nit\u0027s both faster (in case when file has been opened for write) and cleaner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d211858837ff8d8e31942ca7d27e6e08b3b46f5e",
      "tree": "a8ec83a791066e64ad02052498dbe39ebefacab9",
      "parents": [
        "f1f8935a5c38a2c61e86a42bc971a2539eef2211",
        "f0023bc617ba600956b9226f1806033d7486c8ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 11:41:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 11:41:01 2011 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue:\n  vfs: add d_prune dentry operation\n  vfs: protect i_nlink\n  filesystems: add set_nlink()\n  filesystems: add missing nlink wrappers\n  logfs: remove unnecessary nlink setting\n  ocfs2: remove unnecessary nlink setting\n  jfs: remove unnecessary nlink setting\n  hypfs: remove unnecessary nlink setting\n  vfs: ignore error on forced remount\n  readlinkat: ensure we return ENOENT for the empty pathname for normal lookups\n  vfs: fix dentry leak in simple_fill_super()\n"
    },
    {
      "commit": "34116645d912f65d7eb4508a1db3c9d0e45facb1",
      "tree": "27283af2d429df5884637d1baa7306116ab26fcb",
      "parents": [
        "de0a5345a55b8dd5a4695181275df0e691176830",
        "ed47a7d00c22b326fc4c97342a73ecd15929732e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:05:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:05:22 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  udf: Cleanup metadata flags handling\n  udf: Skip mirror metadata FE loading when metadata FE is ok\n  ext3: Allow quota file use root reservation\n  udf: Remove web reference from UDF MAINTAINERS entry\n  quota: Drop path reference on error exit from quotactl\n  udf: Neaten udf_debug uses\n  udf: Neaten logging output, use vsprintf extension %pV\n  udf: Convert printks to pr_\u003clevel\u003e\n  udf: Rename udf_warning to udf_warn\n  udf: Rename udf_error to udf_err\n  udf: Promote some debugging messages to udf_error\n  ext3: Remove the obsolete broken EXT3_IOC32_WAIT_FOR_READONLY.\n  udf: Add readpages support for udf.\n  ext3/balloc.c: local functions should be static\n  ext2: fix the outdated comment in ext2_nfs_get_inode()\n  ext3: remove deprecated oldalloc\n  fs/ext3/balloc.c: delete useless initialization\n  fs/ext2/balloc.c: delete useless initialization\n  ext3: fix message in ext3_remount for rw-remount case\n  ext3: Remove i_mutex from ext3_sync_file()\n\nFix up trivial (printf format cleanup) conflicts in fs/udf/udfdecl.h\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "6d6b77f163c7eabedbba00ed2abb7d4a570bff76",
      "tree": "6ce074a7dd5a25fae28ef9de6f59ddee08ea4e61",
      "parents": [
        "dd2a981f46a0903a8770a784f213d4d40bbb6f19"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:28 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add missing nlink wrappers\n\nReplace direct i_nlink updates with the respective updater function\n(inc_nlink, drop_nlink, clear_nlink, inode_dec_link_count).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f32948ddd1179ac0b105ceacc235cfc3f98ebea3",
      "tree": "0a342bdd639fdbda7c808cb3aef60d3135a95d12",
      "parents": [
        "fbc854027c91fa2813ae7f9de43cc0b5c1119f41"
      ],
      "author": {
        "name": "Li Haifeng",
        "email": "omycle@gmail.com",
        "time": "Tue Aug 30 17:32:50 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 30 17:38:47 2011 +0200"
      },
      "message": "ext2: fix the outdated comment in ext2_nfs_get_inode()\n\nSigned-off-by: Li Haifeng \u003comycle@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6e3d6ca0bf91bcce0453fff9b597154ff6bb9731",
      "tree": "a55d1921f6afa9c0b8d48823abb6384d5b29dc61",
      "parents": [
        "1cde201da4e97f10a5dd2434cff4ceff381603d1"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 04 12:29:32 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 17 11:41:20 2011 +0200"
      },
      "message": "fs/ext2/balloc.c: delete useless initialization\n\nDelete nontrivial initialization that is immediately overwritten by the\nresult of an allocation function.\n\nThe semantic match that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nidentifier i;\nexpression e;\n@@\n\n(\nT i \u003d \\(0\\|NULL\\|ERR_PTR(...)\\);\n|\n-T i \u003d e;\n+T i;\n)\n... when !\u003d i\ni \u003d \\(kzalloc\\|kcalloc\\|kmalloc\\)(...);\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5a2f3a02aea164f4f59c0c3497772090a411b462",
      "tree": "d3ebe03d4f97575290087843960baa01de3acd0a",
      "parents": [
        "1d568ab068c021672d6cd7f50f92a3695a921ffb",
        "817b54aa45db03437c6d09a7693fc6926eb8e822"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "message": "Merge branch \u0027next-evm\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/ima-2.6 into next\n\nConflicts:\n\tfs/attr.c\n\nResolve conflict manually.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1b8e94993c4752d98c33903aa836acc15f7e6d5c",
      "tree": "b78cba208f0a193ce6ceebbc146021af4425b4e1",
      "parents": [
        "12ff47e7f5fb64c566f62e6cf6a3b291c51bd337",
        "206d440f64030b6425841bf7cb38e26a5ea0c382"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:48:31 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:48:31 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set\n  VFS: Reorganise shrink_dcache_for_umount_subtree() after demise of dcache_lock\n  VFS: Remove dentry-\u003ed_lock locking from shrink_dcache_for_umount_subtree()\n  VFS: Remove detached-dentry counter from shrink_dcache_for_umount_subtree()\n  switch posix_acl_chmod() to umode_t\n  switch posix_acl_from_mode() to umode_t\n  switch posix_acl_equiv_mode() to umode_t *\n  switch posix_acl_create() to umode_t *\n  block: initialise bd_super in bdget()\n  vfs: avoid call to inode_lru_list_del() if possible\n  vfs: avoid taking inode_hash_lock on pipes and sockets\n  vfs: conditionally call inode_wb_list_del()\n  VFS: Fix automount for negative autofs dentries\n  Btrfs: load the key from the dir item in readdir into a fake dentry\n  devtmpfs: missing initialialization in never-hit case\n  hppfs: missing include\n"
    },
    {
      "commit": "d6952123b53cc8b334df69bba2cd0063b0d88f68",
      "tree": "b1ccaa7e3d65dbf4af093202044da65bc4deb34e",
      "parents": [
        "d3fb612076eebec6f67257db0c7a9666ac7e5892"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:56:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:06 2011 -0400"
      },
      "message": "switch posix_acl_equiv_mode() to umode_t *\n\n... so that \u0026inode-\u003ei_mode could be passed to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3fb612076eebec6f67257db0c7a9666ac7e5892",
      "tree": "5265fca258a74ffa75b845998492abb9446db72c",
      "parents": [
        "782b94cdf577b4df1feb376f372dccc28e66a771"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:37:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:09:42 2011 -0400"
      },
      "message": "switch posix_acl_create() to umode_t *\n\nso we can pass \u0026inode-\u003ei_mode to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "59ed2bb27492f74ab898ee1e26c69dfd78444640",
      "tree": "193cd839d4c9ed523e1d8dbb6e3709ef9f38df11",
      "parents": [
        "55f9c40ff632d03c527d6a6ceddcda0a224587a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:21:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 29 23:21:50 2011 -0700"
      },
      "message": "ext2: remove duplicate \u0027ext2_get_acl()\u0027 define\n\nWhen commit 4e34e719e457 (\"fs: take the ACL checks to common code\")\nchanged the xyz_check_acl() functions into the more natural\nxyz_get_acl() interface, we grew two copies of the\n\n  #define ext2_get_acl\tNULL\n\ndefine for the non-acl case.\n\nRemove the extra one.\n\nReported-by: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ac232f37fa0e8551856a575fe299c47b65b4d66",
      "tree": "58ff15ecdbc383415a82ea678e5191db16a479f3",
      "parents": [
        "fa8f53ace4af9470d8414427cb3dc3c0ffc4f182",
        "5cf49d763eb141d236e92be6d4a0dc94e31fa886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:34:40 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  jbd: change the field \"b_cow_tid\" of struct journal_head from type unsigned to tid_t\n  ext3.txt: update the links in the section \"useful links\" to the latest ones\n  ext3: Fix data corruption in inodes with journalled data\n  ext2: check xattr name_len before acquiring xattr_sem in ext2_xattr_get\n  ext3: Fix compilation with -DDX_DEBUG\n  quota: Remove unused declaration\n  jbd: Use WRITE_SYNC in journal checkpoint.\n  jbd: Fix oops in journal_remove_journal_head()\n  ext3: Return -EINVAL when start is beyond the end of fs in ext3_trim_fs()\n  ext3/ioctl.c: silence sparse warnings about different address spaces\n  ext3/ext4 Documentation: remove bh/nobh since it has been deprecated\n  ext3: Improve truncate error handling\n  ext3: use proper little-endian bitops\n  ext2: include fs.h into ext2_fs.h\n  ext3: Fix oops in ext3_try_to_allocate_with_rsv()\n  jbd: fix a bug of leaking jh-\u003eb_jcount\n  jbd: remove dependency on __GFP_NOFAIL\n  ext3: Convert ext3 to new truncate calling convention\n  jbd: Add fixed tracepoints\n  ext3: Add fixed tracepoints\n\nResolve conflicts in fs/ext3/fsync.c due to fsync locking push-down and\nnew fixed tracepoints.\n"
    },
    {
      "commit": "4e34e719e457f2e031297175410fc0bd4016a085",
      "tree": "ab969a371e0d2efc6bfbf503ca6cdfce3af3bf6c",
      "parents": [
        "edde854e8bb34a7f32fa993d721f1da0faf64165"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:37:31 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:30:23 2011 -0400"
      },
      "message": "fs: take the ACL checks to common code\n\nReplace the -\u003echeck_acl method with a -\u003eget_acl method that simply reads an\nACL from disk after having a cache miss.  This means we can replace the ACL\nchecking boilerplate code with a single implementation in namei.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "826cae2f2b4d726b925f43bc208a571639da4761",
      "tree": "b7f83eecf3bde8c4e455d89c7c535988b3e8bd59",
      "parents": [
        "95203befa8887997f14077d8557e67d78457ee02"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 03:10:32 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:32 2011 -0400"
      },
      "message": "kill boilerplates around posix_acl_create_masq()\n\nnew helper: posix_acl_create(\u0026acl, gfp, mode_p).  Replaces acl with\nmodified clone, on failure releases acl and replaces with NULL.\nReturns 0 or -ve on error.  All callers of posix_acl_create_masq()\nswitched.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc26ab5f65ae41b71df86ea46df3c3833d1d8d83",
      "tree": "85bbc4e0da4fac99ccf31b3609c61e2b148a8498",
      "parents": [
        "4482a087d4c5a6ffbc385c56b4a4e2f694d9fd5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 00:18:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:30 2011 -0400"
      },
      "message": "kill boilerplate around posix_acl_chmod_masq()\n\nnew helper: posix_acl_chmod(\u0026acl, gfp, mode).  Replaces acl with modified\nclone or with NULL if that has failed; returns 0 or -ve on error.  All\ncallers of posix_acl_chmod_masq() switched to that - they\u0027d been doing\nexactly the same thing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e77819e57f0817c6dc7cadd061acd70c604cbce2",
      "tree": "f5d7aba2dfbb747a97d783b7cc6a486922c42559",
      "parents": [
        "3ca30d40a91fb9b9871e61d5dea2c1a895906a15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:30:19 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:39 2011 -0400"
      },
      "message": "vfs: move ACL cache lookup into generic code\n\nThis moves logic for checking the cached ACL values from low-level\nfilesystems into generic code.  The end result is a streamlined ACL\ncheck that doesn\u0027t need to load the inode-\u003ei_op-\u003echeck_acl pointer at\nall for the common cached case.\n\nThe filesystems also don\u0027t need to check for a non-blocking RCU walk\ncase in their acl_check() functions, because that is all handled at a\nVFS layer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "03b5bb342978f99f75fb36d69cd29bab32109fd4",
      "tree": "495099b74e217de7c322a1bf4737901a1efb8a3a",
      "parents": [
        "c878c73f8dda48f64bcec24f78e80e154cbc5cf8"
      ],
      "author": {
        "name": "Wang Sheng-Hui",
        "email": "shhuiw@gmail.com",
        "time": "Fri Jul 22 08:50:13 2011 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 22 19:41:16 2011 +0200"
      },
      "message": "ext2: check xattr name_len before acquiring xattr_sem in ext2_xattr_get\n\nIn ext2_xattr_get(), the code will acquire xattr_sem first, later checks\nthe length of xattr name_len \u003e 255. It\u0027s unnecessarily time consuming and\nalso ext2_xattr_set() checks the length before other checks. So move the\ncheck before acquiring xattr_sem to make these two functions consistent.\n\nSigned-off-by: Wang Sheng-Hui \u003cshhuiw@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aacfc19c626ebd3daa675652457d71019a1f583f",
      "tree": "9c1cfb5945e939f1ba56b4c0101c211e84e544c0",
      "parents": [
        "df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:47 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:49 2011 -0400"
      },
      "message": "fs: simplify the blockdev_direct_IO prototype\n\nSimple filesystems always pass inode-\u003ei_sb_bdev as the block device\nargument, and never need a end_io handler.  Let\u0027s simply things for\nthem and for my grepping activity by dropping these arguments.  The\nonly thing not falling into that scheme is ext4, which passes and\nend_io handler without needing special flags (yet), but given how\nmessy the direct I/O code there is use of __blockdev_direct_IO\nin one instead of two out of three cases isn\u0027t going to make a large\ndifference anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "562c72aa57c36b178eacc3500a0215651eca9429",
      "tree": "2c522c53ab26fc72e85e08747a08e3dca1207c87",
      "parents": [
        "11b80f459adaf91a712f95e7734a17655a36bf30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "fs: move inode_dio_wait calls into -\u003esetattr\n\nLet filesystems handle waiting for direct I/O requests themselves instead\nof doing it beforehand.  This means filesystem-specific locks to prevent\nnew dio referenes from appearing can be held.  This is important to allow\ngeneralizing i_dio_count to non-DIO_LOCKING filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9049376ee05bf966bfe2b081b5071326856890a",
      "tree": "efb3cbfc7760537f201bb28dacbb0d39ec39f04c",
      "parents": [
        "0c1aa9a952c3608eb17bf990466f1491d1ee8b6c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 08 21:20:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:26 2011 -0400"
      },
      "message": "make d_splice_alias(ERR_PTR(err), dentry) \u003d ERR_PTR(err)\n\n... and simplify the living hell out of callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e40145eb111a5192e6d819f764db9d6828d1abb",
      "tree": "3249952a751de12465e8d66c63328445e9242f3a",
      "parents": [
        "9c2c703929e4c41210cfa6e3f599514421bab8dc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:12:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:21 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003echeck_acl()\n\nnot used in the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c2c703929e4c41210cfa6e3f599514421bab8dc",
      "tree": "2086738f22755ad18ba18ab2ee0f2b23d651da60",
      "parents": [
        "1fc0f78ca9f311c6277e2f1b7655bb4d43ceb311"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:06:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:19 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: pass MAY_NOT_BLOCK to -\u003echeck_acl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9d8f13ba3f4833219e50767b022b82cd0da930eb",
      "tree": "3ba2367380d009111ea17696162a62320c88d144",
      "parents": [
        "0f2a55d5bb2372058275b0b343d90dd5d640d045"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jun 06 15:29:25 2011 -0400"
      },
      "committer": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jul 18 12:29:38 2011 -0400"
      },
      "message": "security: new security_inode_init_security API adds function callback\n\nThis patch changes the security_inode_init_security API by adding a\nfilesystem specific callback to write security extended attributes.\nThis change is in preparation for supporting the initialization of\nmultiple LSM xattrs and the EVM xattr.  Initially the callback function\nwalks an array of xattrs, writing each xattr separately, but could be\noptimized to write multiple xattrs at once.\n\nFor existing security_inode_init_security() calls, which have not yet\nbeen converted to use the new callback function, such as those in\nreiserfs and ocfs2, this patch defines security_old_inode_init_security().\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\n"
    },
    {
      "commit": "4e299c1d9113b5c1c3845c0d4e78d09dd60a4fe8",
      "tree": "24d209ff8fe59ec0e43fd88be35f45bd687bc975",
      "parents": [
        "d9b01934d56a96d9f4ae2d6204d4ea78a36f5f36"
      ],
      "author": {
        "name": "Robin Dong",
        "email": "hao.bigrat@gmail.com",
        "time": "Thu May 05 10:44:04 2011 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 17 13:47:42 2011 +0200"
      },
      "message": "ext2: fix error msg when mounting fs with too-large blocksize\n\nWhen ext2 mounts a filesystem, it attempts to set the block device\nblocksize with a call to sb_set_blocksize, which can fail for\nseveral reasons.  The current failure message in ext2 prints:\n\n  EXT2-fs (loop1): error: blocksize is too small\n\nwhich is not correct in all cases.  This can be demonstrated\nby creating a filesystem with\n\n  # mkfs.ext2 -b 8192\n\non a 4k page system, and attempting to mount it.\n\nChange the error message to a more generic:\n\n  EXT2-fs (loop1): bad blocksize 8192\n\nto match the error message in ext3.\n\nSigned-off-by: Robin Dong \u003csanbai@taobao.com\u003e\nReviewed-by: Coly Li \u003cbosong.ly@taobao.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f312eff8164879e04923d41e9dd23e7850937d85",
      "tree": "9f4f6fd00ebf12afd5b070c44d12b55a29440360",
      "parents": [
        "bb5cda3d706f44e5696533c9a7353c458f2871e0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:21 2011 -0700"
      },
      "message": "bitops: remove ext2 non-atomic bitops from asm/bitops.h\n\nAs the result of conversions, there are no users of ext2 non-atomic bit\noperations except for ext2 filesystem itself.  Now we can put them into\narchitecture independent code in ext2 filesystem, and remove from\nasm/bitops.h for all architectures.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "e8a80c6f769dd4622d8b211b398452158ee60c0b",
      "tree": "e538f674c219d98d8829d6286aa9be6feee16c93",
      "parents": [
        "dd9c1549edef02290edced639f67b54a25abbe0e"
      ],
      "author": {
        "name": "Josh Hunt",
        "email": "johunt@akamai.com",
        "time": "Thu Feb 24 11:48:22 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Mar 02 11:03:52 2011 +0100"
      },
      "message": "ext2: Fix link count corruption under heavy link+rename load\n\nvfs_rename_other() does not lock renamed inode with i_mutex. Thus changing\ni_nlink in a non-atomic manner (which happens in ext2_rename()) can corrupt\nit as reported and analyzed by Josh.\n\nIn fact, there is no good reason to mess with i_nlink of the moved file.\nWe did it presumably to simulate linking into the new directory and unlinking\nfrom an old one. But the practical effect of this is disputable because fsck\ncan possibly treat file as being properly linked into both directories without\nwriting any error which is confusing. So we just stop increment-decrement\ngames with i_nlink which also fixes the corruption.\n\nCC: stable@kernel.org\nCC: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Josh Hunt \u003cjohunt@akamai.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2a7dba391e5628ad665ce84ef9a6648da541ebab",
      "tree": "ba0722bd74d2c883dbda7ff721850bab411cac04",
      "parents": [
        "821404434f3324bf23f545050ff64055a149766e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:05:39 2011 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:12:29 2011 -0500"
      },
      "message": "fs/vfs/security: pass last path component to LSM on inode creation\n\nSELinux would like to implement a new labeling behavior of newly created\ninodes.  We currently label new inodes based on the parent and the creating\nprocess.  This new behavior would also take into account the name of the\nnew object when deciding the new label.  This is not the (supposed) full path,\njust the last component of the path.\n\nThis is very useful because creating /etc/shadow is different than creating\n/etc/passwd but the kernel hooks are unable to differentiate these\noperations.  We currently require that userspace realize it is doing some\ndifficult operation like that and than userspace jumps through SELinux hoops\nto get things set up correctly.  This patch does not implement new\nbehavior, that is obviously contained in a seperate SELinux patch, but it\ndoes pass the needed name down to the correct LSM hook.  If no such name\nexists it is fine to pass NULL.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e9688f6acad8cb1f2e8d7abb2de06a6a5c9cbcf2",
      "tree": "2f9b89987c57e3395e53d3ca354f9674c0bef369",
      "parents": [
        "40c73abbb37e399eba274fe49e520ffa3dd65bdb",
        "0f0a25bf516843adae479636dc1cf75fd0bd003c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:37:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:37:31 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)\n  ext4: fix trimming starting with block 0 with small blocksize\n  ext4: revert buggy trim overflow patch\n  ext4: don\u0027t pass entire map to check_eofblocks_fl\n  ext4: fix memory leak in ext4_free_branches\n  ext4: remove ext4_mb_return_to_preallocation()\n  ext4: flush the i_completed_io_list during ext4_truncate\n  ext4: add error checking to calls to ext4_handle_dirty_metadata()\n  ext4: fix trimming of a single group\n  ext4: fix uninitialized variable in ext4_register_li_request\n  ext4: dynamically allocate the jbd2_inode in ext4_inode_info as necessary\n  ext4: drop i_state_flags on architectures with 64-bit longs\n  ext4: reorder ext4_inode_info structure elements to remove unneeded padding\n  ext4: drop ec_type from the ext4_ext_cache structure\n  ext4: use ext4_lblk_t instead of sector_t for logical blocks\n  ext4: replace i_delalloc_reserved_flag with EXT4_STATE_DELALLOC_RESERVED\n  ext4: fix 32bit overflow in ext4_ext_find_goal()\n  ext4: add more error checks to ext4_mkdir()\n  ext4: ext4_ext_migrate should use NULL not 0\n  ext4: Use ext4_error_file() to print the pathname to the corrupted inode\n  ext4: use IS_ERR() to check for errors in ext4_error_file\n  ...\n"
    },
    {
      "commit": "40c73abbb37e399eba274fe49e520ffa3dd65bdb",
      "tree": "11ee28f09a2455c7134964f7f09e16a93d058c13",
      "parents": [
        "0945f352ce1520765296fc2b07e50055c847d39d",
        "d96336b05d718b03ff03c94c0dc0cc283a29d534"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:36:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 14:36:55 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  ext2: Resolve \u0027dereferencing pointer to incomplete type\u0027 when enabling EXT2_XATTR_DEBUG\n  ext3: Remove redundant unlikely()\n  ext2: Remove redundant unlikely()\n  ext3: speed up file creates by optimizing rec_len functions\n  ext2: speed up file creates by optimizing rec_len functions\n  ext3: Add more journal error check\n  ext3: Add journal error check in resize.c\n  quota: Use %pV and __attribute__((format (printf in __quota_error and fix fallout\n  ext3: Add FITRIM handling\n  ext3: Add batched discard support for ext3\n  ext3: Add journal error check into ext3_rename()\n  ext3: Use search_dirblock() in ext3_dx_find_entry()\n  ext3: Avoid uninitialized memory references with a corrupted htree directory\n  ext3: Return error code from generic_check_addressable\n  ext3: Add journal error check into ext3_delete_entry()\n  ext3: Add error check in ext3_mkdir()\n  fs/ext3/super.c: Use printf extension %pV\n  fs/ext2/super.c: Use printf extension %pV\n  ext3: don\u0027t update sb journal_devnum when RO dev\n"
    },
    {
      "commit": "0ed0cca7aa87b1f5708f597075013c20d8359667",
      "tree": "52ed27a9265dae03f33c3cd5e924b4a269c41466",
      "parents": [
        "a4ae3094869f18e26ece25ad175bbe4cd740e60b"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Thu Dec 09 15:39:00 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 10 19:04:07 2011 +0100"
      },
      "message": "ext2: Remove redundant unlikely()\n\nIS_ERR() already implies unlikely(), so it can be omitted here.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "40a063f6691ce937a3d00c9700b6964b5ec4e022",
      "tree": "2726e4d6b5716edb3a1124a3c7a4ba1348d84b69",
      "parents": [
        "156e74312f1ffc0a2639c24c771c5a0e106f0505"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Dec 07 11:51:05 2010 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 10 19:04:06 2011 +0100"
      },
      "message": "ext2: speed up file creates by optimizing rec_len functions\n\nThe addition of 64k block capability in the rec_len_from_disk\nand rec_len_to_disk functions added a bit of math overhead which\nslows down file create workloads needlessly when the architecture\ncannot even support 64k blocks, thanks to page size limits.\n\nThe directory entry checking can also be optimized a bit\nby sprinkling in some unlikely() conditions to move the\nerror handling out of line.\n\nbonnie++ sequential file creates on a 512MB ramdisk speeds up\nfrom about 2200/s to about 2500/s, about a 14% improvement.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1f605b302724120777a1c38743cb20e2c8807333",
      "tree": "2f7379c758573718f68da2c045e57e3164ea421a",
      "parents": [
        "6e9510b0e0de657ca7c7bfb10ced80b4d237dd58"
      ],
      "author": {
        "name": "Wang Sheng-Hui",
        "email": "crosslonelyover@gmail.com",
        "time": "Mon Jan 10 12:10:37 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 10 12:10:37 2011 -0500"
      },
      "message": "ext2: remove dead code in ext2_xattr_get\n\nReviewed-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Wang Sheng-Hui \u003ccrosslonelyover@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6e9510b0e0de657ca7c7bfb10ced80b4d237dd58",
      "tree": "a4c427885d3a1c9571681e7bd8d772be7422c07e",
      "parents": [
        "eaeef86718249f5c75b1370f77a9bc11f196a01c"
      ],
      "author": {
        "name": "Wang Sheng-Hui",
        "email": "crosslonelyover@gmail.com",
        "time": "Mon Jan 10 12:10:30 2011 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 10 12:10:30 2011 -0500"
      },
      "message": "ext2,ext3,ext4: clarify comment for extN_xattr_set_handle\n\nSigned-off-by: Wang Sheng-Hui \u003ccrosslonelyover@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "73598611ade7c85f0c3d52ba5130103f6709c6d3",
      "tree": "51b54051c2b41cb712db0c47b9e595dafc09c8f3",
      "parents": [
        "1e1743ebe35ec7e3c1fa732408358fbc614cbbe5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:00 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:30 2011 +1100"
      },
      "message": "ext2,3,4: provide simple rcu-walk ACL implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b74c79e99389cd79b31fcc08f82c24e492e63c7e",
      "tree": "763c6b412517306670bc625e90035f2d16bb739f",
      "parents": [
        "34286d6662308d82aed891852d04c7c3a2649b16"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:58 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide rcu-walk aware permission i_ops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "23a2ad6d0e58d0f2fb1647c2d6fef935bcaf9299",
      "tree": "f268f1676127a48dac66810c885d5e4801f305f7",
      "parents": [
        "31d710a7bd42f0d89e30d53bdaad427c5f191d0d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Nov 09 10:16:03 2010 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 06 11:52:14 2011 +0100"
      },
      "message": "fs/ext2/super.c: Use printf extension %pV\n\nUsing %pV reduces the number of printk calls and\neliminates any possible message interleaving from\nother printk calls.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7d2f280e75f05919314e250cadf361a327ed555c",
      "tree": "47db5a9a0ceaf31adf49c18b663b1e08184f7cff",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "4408ea41c0ab4b711d4da44dd954fb06dce6c3f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (24 commits)\n  quota: Fix possible oops in __dquot_initialize()\n  ext3: Update kernel-doc comments\n  jbd/2: fixed typos\n  ext2: fixed typo.\n  ext3: Fix debug messages in ext3_group_extend()\n  jbd: Convert atomic_inc() to get_bh()\n  ext3: Remove misplaced BUFFER_TRACE() in ext3_truncate()\n  jbd: Fix debug message in do_get_write_access()\n  jbd: Check return value of __getblk()\n  ext3: Use DIV_ROUND_UP() on group desc block counting\n  ext3: Return proper error code on ext3_fill_super()\n  ext3: Remove unnecessary casts on bh-\u003eb_data\n  ext3: Cleanup ext3_setup_super()\n  quota: Fix issuing of warnings from dquot_transfer\n  quota: fix dquot_disable vs dquot_transfer race v2\n  jbd: Convert bitops to buffer fns\n  ext3/jbd: Avoid WARN() messages when failing to write the superblock\n  jbd: Use offset_in_page() instead of manual calculation\n  jbd: Remove unnecessary goto statement\n  jbd: Use printk_ratelimited() in journal_alloc_journal_head()\n  ...\n"
    },
    {
      "commit": "58c6ed38a16cd235588ed4a5ca3b213f055bc14c",
      "tree": "f6d1f5ff48f240217b2873dec720bf666fb15440",
      "parents": [
        "db50d20b1da6ebb62bc28172de142efd9e7b5d89"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sat Oct 16 15:19:11 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:05 2010 +0200"
      },
      "message": "ext2: fixed typo.\n\n\"excpet\"\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "26f78b7a423aea094c536e94cbe1f1fa4641dd7b",
      "tree": "389c99506bdb71db8c4244761168e2af54b417c2",
      "parents": [
        "beb37b85b0b727e68e16a39a1e5a2140f87fa201"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Sep 26 15:31:00 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:01 2010 +0200"
      },
      "message": "ext2: fix comment on ext2_try_to_allocate()\n\n@handle doesn\u0027t exist in ext2. Remove it.\nAlso, fit comment header into kernel-doc format.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e3b9a072d071700e83e88b0bf59115c59042885",
      "tree": "504d77766446dcb5937f1e50cb0560da42872e5a",
      "parents": [
        "309f77ad9bea057d55b04580b5a711e9e3727e83"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 24 09:45:22 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:23:00 2010 -0400"
      },
      "message": "ext2_remount: don\u0027t bother with invalidate_inodes()\n\nIt\u0027s pointless - we *do* have busy inodes (root directory,\nfor one), so that call will fail and attempt to change\nXIP flag will be ignored.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c37650161a53c01ddd88587675f9a4adc909a73e",
      "tree": "85821998de9a6723dedc42488b9491db9692d1e3",
      "parents": [
        "81fca444001e5a41ab80ce8cf9a5734c00ec6546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 06 10:48:20 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:19 2010 -0400"
      },
      "message": "fs: add sync_inode_metadata\n\nAdd a new helper to write out the inode using the writeback code,\nthat is including the correct dirty bit and list manipulation.  A few\nof filesystems already opencode this, and a lot of others should be\nusing it instead of using write_inode_now which also writes out the\ndata.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "3e44f9f1dc19e2b8d4f7ca3b3c63e976b22ad372",
      "tree": "85e61adb1cb41d726cd8bb2300777c91676c1702",
      "parents": [
        "6841c05021236b8d394cc6c41aa6ae17623aef13"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Wed Feb 24 13:25:35 2010 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:44 2010 +0200"
      },
      "message": "BKL: Remove BKL from ext2 filesystem\n\nThe BKL is still used in ext2_put_super(), ext2_fill_super(), ext2_sync_fs()\next2_remount() and ext2_write_inode(). From these calls ext2_put_super(),\next2_fill_super() and ext2_remount() are protected against each other by\nthe struct super_block s_umount rw semaphore. The call in ext2_write_inode()\ncould only protect the modification of the ext2_sb_info through\next2_update_dynamic_rev() against concurrent ext2_sync_fs() or ext2_remount().\next2_fill_super() and ext2_put_super() can be left out because you need a\nvalid filesystem reference in all three cases, which you do not have when\nyou are one of these functions.\n\nIf the BKL is only protecting the modification of the ext2_sb_info it can\nsafely be removed since this is protected by the struct ext2_sb_info s_lock.\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "db71922217a214e5c9268448e537b54fc1f301ea",
      "tree": "9c9afbf29411547891f6968e5ade29ce59d66c07",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Sun Aug 15 22:51:10 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:10 2010 +0200"
      },
      "message": "BKL: Explicitly add BKL around get_sb/fill_super\n\nThis patch is a preparation necessary to remove the BKL from do_new_mount().\nIt explicitly adds calls to lock_kernel()/unlock_kernel() around\nget_sb/fill_super operations for filesystems that still uses the BKL.\n\nI\u0027ve read through all the code formerly covered by the BKL inside\ndo_kern_mount() and have satisfied myself that it doesn\u0027t need the BKL\nany more.\n\ndo_kern_mount() is already called without the BKL when mounting the rootfs\nand in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called\nfrom various places without BKL: simple_pin_fs(), nfs_do_clone_mount()\nthrough nfs_follow_mountpoint(), afs_mntpt_do_automount() through\nafs_mntpt_follow_link(). Both later functions are actually the filesystems\nfollow_link inode operation. vfs_kern_mount() is calling the specified\nget_sb function and lets the filesystem do its job by calling the given\nfill_super function.\n\nTherefore I think it is safe to push down the BKL from the VFS to the\nlow-level filesystems get_sb/fill_super operation.\n\n[arnd: do not add the BKL to those file systems that already\n       don\u0027t use it elsewhere]\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "72b43570f304634532b4d66c991eef529135f68c",
      "tree": "ce35480ad0f0a9ebe01530e84636450498cf439d",
      "parents": [
        "35df83970ecdc2cffb141503cf721a740d0f0ec5"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 15 21:46:02 2010 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 23 13:49:50 2010 +0200"
      },
      "message": "ext2: fix a typo on comment in ext2/inode.c\n\n\u0027excpet\u0027 should be \u0027except\u0027.\n\u0027ext3_get_branch\u0027 should be \u0027ext2_get_branch\u0027.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2aec7c523291621ebb68ba8e0bd9b52a26bb76ee",
      "tree": "5be94d61cb157c0482c4e4005e438844c0312dd0",
      "parents": [
        "365b18189789bfa1acd9939e6312b8a4b4577b28"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Jul 19 18:19:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:45 2010 -0400"
      },
      "message": "mbcache: Remove unused features\n\nThe mbcache code was written to support a variable number of indexes,\nbut all the existing users use exactly one index.  Simplify to code to\nsupport only that case.\n\nThere are also no users of the cache entry free operation, and none of\nthe users keep extra data in cache entries.  Remove those features as\nwell.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "72edc4d0873ba5165c0759264298bf5f55351c7a",
      "tree": "e9a7f27de6e646f03b25f2c3fa2ad7f6a786100b",
      "parents": [
        "3937871d91e4f43e4aaf0b214c68a7857c0e6e80"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 23:32:28 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:57 2010 -0400"
      },
      "message": "merge ext2 delete_inode and clear_inode, switch to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3937871d91e4f43e4aaf0b214c68a7857c0e6e80",
      "tree": "1375f4cecdcb3fbab1ca1615b4d4ad1ec80d2c4c",
      "parents": [
        "addacc7d6f0f0bcce12adf9fe9e6455e1dfd74da"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 22 01:22:47 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:56 2010 -0400"
      },
      "message": "Don\u0027t dirty the victim in ext2_xattr_delete_inode()\n\n... it\u0027s beyond fs-writeback reach already - writeback won\u0027t\nbe started at that point.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "addacc7d6f0f0bcce12adf9fe9e6455e1dfd74da",
      "tree": "8743c3586ebc9691fe45b2783e13500ad33b584d",
      "parents": [
        "3889717d2851bf38015c0b291026c07c02264623"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 22 01:19:42 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:55 2010 -0400"
      },
      "message": "Take dirtying the inode to callers of ext2_free_blocks()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3889717d2851bf38015c0b291026c07c02264623",
      "tree": "730ce868c322caabfb550cae816c30d210f9d8be",
      "parents": [
        "5ccb4a78d8c0e27985afec32cc4894d48e7b876e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 22 01:13:36 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:54 2010 -0400"
      },
      "message": "ext2: switch to dquot_free_block_nodirty()\n\nbrute-force conversion\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c27c65ed0696f0b5df2dad2cf6462d72164d547",
      "tree": "7d9036e3dea98938f7fd7074366ee73929e9b2e5",
      "parents": [
        "db78b877f7744bec4a9d9f9e7d10da3931d7cd39"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:04 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:39 2010 -0400"
      },
      "message": "check ATTR_SIZE contraints in inode_change_ok\n\nMake sure we check the truncate constraints early on in -\u003esetattr by adding\nthose checks to inode_change_ok.  Also clean up and document inode_change_ok\nto make this obvious.\n\nAs a fallout we don\u0027t have to call inode_newsize_ok from simple_setsize and\nsimplify it down to a truncate_setsize which doesn\u0027t return an error.  This\nsimplifies a lot of setattr implementations and means we use truncate_setsize\nalmost everywhere.  Get rid of fat_setsize now that it\u0027s trivial and mark\next2_setsize static to make the calling convention obvious.\n\nKeep the inode_newsize_ok in vmtruncate for now as all callers need an\naudit for its removal anyway.\n\nNote: setattr code in ecryptfs doesn\u0027t call inode_change_ok at all and\nneeds a deeper audit, but that is left for later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a1a90ad1b0edb556a7550a6ef8a8756f0304dd5",
      "tree": "234488533d89e3f8b938823c2071be19e66e1b4b",
      "parents": [
        "d39aae9ec447dda84d9a2850743a78a535a71c90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:00 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:35 2010 -0400"
      },
      "message": "rename generic_setattr\n\nDespite its name it\u0027s now a generic implementation of -\u003esetattr, but\nrather a helper to copy attributes from a struct iattr to the inode.\nRename it to setattr_copy to reflect this fact.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "155130a4f7848b1aac439cab6bda1a175507c71c",
      "tree": "5019b14b0a9221b08959196e01e3f9326957d678",
      "parents": [
        "6e1db88d536adcbbfe562b2d4b7d6425784fff12"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:58 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:33 2010 -0400"
      },
      "message": "get rid of block_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to block_write_begin.\n\nWhile we\u0027re at it also remove several unused arguments to block_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6e1db88d536adcbbfe562b2d4b7d6425784fff12",
      "tree": "8cfcb5a6190722db6249b2e4978f39247975abcf",
      "parents": [
        "f4e420dc423148fba637af1ab618fa8896dfb2d6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:57 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:32 2010 -0400"
      },
      "message": "introduce __block_write_begin\n\nSplit up the block_write_begin implementation - __block_write_begin is a new\ntrivial wrapper for block_prepare_write that always takes an already\nallocated page and can be either called from block_write_begin or filesystem\ncode that already has a page allocated.  Remove the handling of already\nallocated pages from block_write_begin after switching all callers that\ndo it to __block_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4e420dc423148fba637af1ab618fa8896dfb2d6",
      "tree": "df0e81f5f4b8448dd6b3929e5537dcc46e7d7dde",
      "parents": [
        "282dc178849882289d30e58b54be6b2799b351aa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:56 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:31 2010 -0400"
      },
      "message": "clean up write_begin usage for directories in pagecache\n\nFor filesystem that implement directories in pagecache we call\nblock_write_begin with an already allocated page for this code, while the\nnormal regular file write path uses the default block_write_begin behaviour.\n\nGet rid of the __foofs_write_begin helper and opencode the normal write_begin\ncall in foofs_write_begin, while adding a new foofs_prepare_chunk helper for\nthe directory code.  The added benefit is that foofs_prepare_chunk has\na much saner calling convention.\n\nNote that the interruptible flag passed into block_write_begin is always\nignored if we already pass in a page (see next patch for details), and\nwe never were doing truncations of exessive blocks for this case either so we\ncan switch directly to block_write_begin_newtrunc.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ea0f04e59543bafb3d2cbe37a0d375acb0bb2c34",
      "tree": "66a400f5b8e9a01acb72107c72e504325af6fe67",
      "parents": [
        "eafdc7d190a944c755a9fe68573c193e6e0217e7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:54 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:30 2010 -0400"
      },
      "message": "get rid of nobh_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the only\nremaining caller and rename the non-truncating version to nobh_write_begin.\n\nGet rid of the superflous file argument to it while we\u0027re at it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eafdc7d190a944c755a9fe68573c193e6e0217e7",
      "tree": "915c3cc8004706fabf88eae1ab123a3fa0147516",
      "parents": [
        "256249584bda1a9357e2d29987a37f5b2df035f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:53 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:29 2010 -0400"
      },
      "message": "sort out blockdev_direct_IO variants\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin prepearation of the new truncate calling sequence.  This was only done\nfor DIO_LOCKING filesystems, so the __blockdev_direct_IO_newtrunc variant\nwas not needed anyway.  Get rid of blockdev_direct_IO_no_locking and\nits _newtrunc variant while at it as just opencoding the two additional\nparamters is shorted than the name suffix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "523825bc586d19e0fbcfc5db717f5bb90108bbc3",
      "tree": "54860c07d882f1c4417e8ce5c46510fb4f8c2726",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 02 16:26:51 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jun 25 01:20:37 2010 +0200"
      },
      "message": "ext2: update ctime when changing the file\u0027s permission by setfacl\n\next2 didn\u0027t update the ctime of the file when its permission was changed.\n\nSteps to reproduce:\n # touch aaa\n # stat -c %Z aaa\n 1275289822\n # setfacl -m  \u0027u::x,g::x,o::x\u0027 aaa\n # stat -c %Z aaa\n 1275289822                         \u003c- unchanged\n\nBut, according to the spec of the ctime, ext2 must update it.\n\nPort of ext3 patch by Miao Xie \u003cmiaox@cn.fujitsu.com\u003e.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "af5a30d8cfcfc561336f982b06345d6b815e0bb3",
      "tree": "eb4e6fb6873355a2a96b698aeb371eb058a88c87",
      "parents": [
        "8718d36cf99f5acf0f37487557ec25aee54b930b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jun 03 22:01:46 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 17:16:30 2010 -0400"
      },
      "message": "fix truncate inode time modification breakage\n\nmtime and ctime should be changed only if the file size has actually\nchanged. Patches changing ext2 and tmpfs from vmtruncate to new truncate\nsequence has caused regressions where they always update timestamps.\n\nThere is some strange cases in POSIX where truncate(2) must not update\ntimes unless the size has acutally changed, see 6e656be89.\n\nThis area is all still rather buggy in different ways in a lot of\nfilesystems and needs a cleanup and audit (ideally the vfs will provide\na simple attribute or call to direct all filesystems exactly which\nattributes to change). But coming up with the best solution will take a\nwhile and is not appropriate for rc anyway.\n\nSo fix recent regression for now.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "737f2e93b9724a3554f9d0b248c22cd407313f86",
      "tree": "205ceb526d32c5fcc6ad84a85b05afa9c7fc9902",
      "parents": [
        "3889e6e76f66b7de208a1709d0fe530b21a2d384"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:37 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:57 2010 -0400"
      },
      "message": "ext2: convert to use the new truncate convention.\n\nI also have commented a possible bug in existing ext2 code, marked with XXX.\n\nCc: linux-ext4@vger.kernel.org\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "287a80958cf63fc5c68d5bf6e89a3669dd66234a",
      "tree": "8e6883881709ffbbe3b1d6cb7a5b4dcef3428380",
      "parents": [
        "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:45 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: rename default quotactl methods to dquot_\n\nFollow the dquot_* style used elsewhere in dquot.c.\n\n[Jan Kara: Fixed up missing conversion of ext2]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b",
      "tree": "a7a49a9aabb2136e8d19a3d86096bb525a16e0b9",
      "parents": [
        "307ae18a56e5b706056a2050d52e8cc01b5171c0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:44 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: explicitly set -\u003edq_op and -\u003es_qcop\n\nOnly set the quota operation vectors if the filesystem actually supports\nquota instead of doing it for all filesystems in alloc_super().\n\n[Jan Kara: Export dquot_operations and vfs_quotactl_ops]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b",
      "tree": "a62a84034243e75e07bb063526e10ea0b837062f",
      "parents": [
        "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:42 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:09:12 2010 +0200"
      },
      "message": "quota: move unmount handling into the filesystem\n\nCurrently the VFS calls into the quotactl interface for unmounting\nfilesystems.  This means filesystems with their own quota handling\ncan\u0027t easily distinguish between user-space originating quotaoff\nand an unount.  Instead move the responsibily of the unmount handling\ninto the filesystem to be consistent with all other dquot handling.\n\nNote that we do call dquot_disable a lot later now, e.g. after\na sync_filesystem.  But this is fine as the quota code does all its\nwrites via blockdev\u0027s mapping and that is synced even later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250",
      "tree": "295ac31b109f78873cb191867603943d8562ead0",
      "parents": [
        "c79d967de3741ceb60c5bbbf1b6f97eab9a89838"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:41 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:40 2010 +0200"
      },
      "message": "quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n\nInstead of having wrappers in the VFS namespace export the dquot_suspend\nand dquot_resume helpers directly.  Also rename vfs_quota_disable to\ndquot_disable while we\u0027re at it.\n\n[Jan Kara: Moved dquot_suspend to quotaops.h and made it inline]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c79d967de3741ceb60c5bbbf1b6f97eab9a89838",
      "tree": "5494e7b504cffb0ddc6942d1542c2b4a472207ed",
      "parents": [
        "eea7feb072f5914ecafa95b3d83be0c229244d90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:40 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:39 2010 +0200"
      },
      "message": "quota: move remount handling into the filesystem\n\nCurrently do_remount_sb calls into the dquot code to tell it about going\nfrom rw to ro and ro to rw.  Move this code into the filesystem to\nnot depend on the dquot code in the VFS - note ocfs2 already ignores\nthese calls and handles remount by itself.  This gets rid of overloading\nthe quotactl calls and allows to unify the VFS and XFS codepaths in\nthat area later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ffba102d75a2e79ac9754841c6cf4a6dd6892c42",
      "tree": "b7bb51be713a8b665ac97f53ec5872f9abaa9e9c",
      "parents": [
        "e00117f14f68d9e54c8aa3d52ebdc76cdbbc4f87"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Mar 04 17:31:49 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:24 2010 -0400"
      },
      "message": "ext2: replace inode uid,gid,mode init with helper\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "749c72efa4bd91dad3a8c2ac8bfaa7c45490ceef",
      "tree": "3c475251243b0e8c686daed4ae1113efbaf49d6e",
      "parents": [
        "f01cbd3f8148f2056567f829e07c157b28b2dd1e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 17:53:16 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:18 2010 -0400"
      },
      "message": "ext2: constify xattr_handler\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "12755627bdcddcdb30a1bfb9a09395a52b1d6838",
      "tree": "b2d69696975d5457648020324f683a45302fbf3c",
      "parents": [
        "fcbc59f96e38a0999e827be9d04d46b62b53b20a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Apr 08 22:04:20 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:45 2010 +0200"
      },
      "message": "quota: unify quota init condition in setattr\n\nQuota must being initialized if size or uid/git changes requested.\nBut initialization performed in two different places:\nin case of i_size file system is responsible for dquot init\n, but in case of uid/gid init will be called internally in\ndquot_transfer().\nThis ambiguity makes code harder to understand.\nLet\u0027s move this logic to one common helper function.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e0a5cbac029db69032758000c67465c2ed7a5736",
      "tree": "14d81b8fee8d43674acd4c63a2e994bdc3da774c",
      "parents": [
        "c15271f4e74cd6dbdf461335d6d1450949c4b956"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:39 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:40 2010 +0200"
      },
      "message": "BKL: Remove BKL from ext2 filesystem\n\nThe BKL is still used in ext2_put_super(), ext2_fill_super(), ext2_sync_fs()\next2_remount() and ext2_write_inode(). From these calls ext2_put_super(),\next2_fill_super() and ext2_remount() are protected against each other by\nthe struct super_block s_umount rw semaphore. The call in ext2_write_inode()\ncould only protect the modification of the ext2_sb_info through\next2_update_dynamic_rev() against concurrent ext2_sync_fs() or ext2_remount().\next2_fill_super() and ext2_put_super() can be left out because you need a\nvalid filesystem reference in all three cases, which you do not have when\nyou are one of these functions.\n\nIf the BKL is only protecting the modification of the ext2_sb_info it can\nsafely be removed since this is protected by the struct ext2_sb_info s_lock.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c15271f4e74cd6dbdf461335d6d1450949c4b956",
      "tree": "585738bde9a80e580686072d02cd6c1e5d261c1e",
      "parents": [
        "4c96a68bfc110d87b28bcee4c395a7b4d26ed67a"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:38 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:39 2010 +0200"
      },
      "message": "ext2: Add ext2_sb_info s_lock spinlock\n\nAdd a spinlock that protects against concurrent modifications of\ns_mount_state, s_blocks_last, s_overhead_last and the content of the\nsuperblock\u0027s buffer pointed to by sbi-\u003es_es. The spinlock is now used in\next2_xattr_update_super_block() which was setting the\nEXT2_FEATURE_COMPAT_EXT_ATTR flag on the superblock without protection\nbefore. Likewise the spinlock is used in ext2_show_options() to have a\nconsistent view of the mount options.\n\nThis is a preparation patch for removing the BKL from ext2 in the next\npatch.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4c96a68bfc110d87b28bcee4c395a7b4d26ed67a",
      "tree": "14f23f06bd88da1cbc01f34421bbeb727204435d",
      "parents": [
        "ee6921ebd04cb807dfe88b10ad80f1124813c673"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:37 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:39 2010 +0200"
      },
      "message": "ext2: Move ext2_write_super() out of ext2_setup_super()\n\nMove ext2_write_super() out of ext2_setup_super() as a preparation for the\nnext patch that adds a new lock for superblock fields.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ee6921ebd04cb807dfe88b10ad80f1124813c673",
      "tree": "a8892d816bb76c07b5e0f0df70596ccf0bfb6f98",
      "parents": [
        "20da9baf4cf9c627aaf7b00d64ce0b2221bab9bf"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:36 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:39 2010 +0200"
      },
      "message": "ext2: Fold ext2_commit_super() into ext2_sync_super()\n\nBoth function originally did similar things except that ext2_sync_super()\nis returning after the call to sync_dirty_buffer(sbh). Therefore this\npatch adds a wait flag to tell ext2_sync_super() if it has to call\nsync_dirty_buffer() to wait for in-progress I/O to finish.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "20da9baf4cf9c627aaf7b00d64ce0b2221bab9bf",
      "tree": "aab271acba35a0e0c83e29136471ceb267c76d45",
      "parents": [
        "269c8db30cf5b60f47a44bbceaac118b986895d8"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:35 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:39 2010 +0200"
      },
      "message": "ext2: Remove duplicate code from ext2_sync_fs()\n\nDepending in the state (valid or unchecked) of the filesystem either\next2_sync_super() or ext2_commit_super() is called. If the filesystem is\ncurrently valid (it is checked), we first mark it unchecked and afterwards\nduplicate the work that ext2_sync_super() is doing later. Therefore this\npatch removes the duplicate code and calls ext2_sync_super() directly after\nmarking the filesystem unchecked.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "269c8db30cf5b60f47a44bbceaac118b986895d8",
      "tree": "aeae85a806e4acdc95aaab10fc1e1274ea9f102a",
      "parents": [
        "2b8120efb2d41e2aefce3b06cf3fd085f71e9021"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:34 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:38 2010 +0200"
      },
      "message": "ext2: Set the write time in ext2_sync_fs()\n\nThis is probably a typo since the write time should actually be updated by\next2_sync_fs() instead of the mount time.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2b8120efb2d41e2aefce3b06cf3fd085f71e9021",
      "tree": "638dece002c64eed3758e909bca7328d6ab728f7",
      "parents": [
        "41d1a636b813867339db52e12377ca132d54700f"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed Apr 14 14:38:33 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:38 2010 +0200"
      },
      "message": "ext2: Use ext2_clear_super_error() in ext2_sync_fs()\n\next2_sync_fs() used to duplicate the code from ext2_clear_super_error().\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    }
  ],
  "next": "524e4a1d102bdcee37297c0b763e945827b33ab8"
}
