)]}'
{
  "log": [
    {
      "commit": "ece78b7df734726e790dcab207f463401ff80440",
      "tree": "4a0b23c28c6a727d5eebc8a88a22fe3720c425fd",
      "parents": [
        "07acfc2a9349a8ce45b236c2624dad452001966b",
        "0324876628a9c7faf8127e20af29373dc6dec876"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 08:14:59 2012 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\nPull ext2, ext3 and quota fixes from Jan Kara:\n \"Interesting bits are:\n   - removal of a special i_mutex locking subclass (I_MUTEX_QUOTA) since\n     quota code does not need i_mutex anymore in any unusual way.\n   - backport (from ext4) of a fix of a checkpointing bug (missing cache\n     flush) that could lead to fs corruption on power failure\n\n  The rest are just random small fixes \u0026 cleanups.\"\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2: trivial fix to comment for ext2_free_blocks\n  ext2: remove the redundant comment for ext2_export_ops\n  ext3: return 32/64-bit dir name hash according to usage type\n  quota: Get rid of nested I_MUTEX_QUOTA locking subclass\n  quota: Use precomputed value of sb_dqopt in dquot_quota_sync\n  ext2: Remove i_mutex use from ext2_quota_write()\n  reiserfs: Remove i_mutex use from reiserfs_quota_write()\n  ext4: Remove i_mutex use from ext4_quota_write()\n  ext3: Remove i_mutex use from ext3_quota_write()\n  quota: Fix double lock in add_dquot_ref() with CONFIG_QUOTA_DEBUG\n  jbd: Write journal superblock with WRITE_FUA after checkpointing\n  jbd: protect all log tail updates with j_checkpoint_mutex\n  jbd: Split updating of journal superblock and marking journal empty\n  ext2: do not register write_super within VFS\n  ext2: Remove s_dirt handling\n  ext2: write superblock only once on unmount\n  ext3: update documentation with barrier\u003d1 default\n  ext3: remove max_debt in find_group_orlov()\n  jbd: Refine commit writeout logic\n"
    },
    {
      "commit": "1523299d5817773e344d135d4b1c485f269400bc",
      "tree": "eef0768f5418facb1d37dbe99f346b9d77223f9f",
      "parents": [
        "b8a9f9e183229d163d8ace855cbbb63c209fba3c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:24 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext3 to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "d7dab39b6e16d5eea78ed3c705d2a2d0772b4f06",
      "tree": "a2b201b2afd8cd1d278947f7e080ce7457e88814",
      "parents": [
        "a80b12c3d08dbbf15e6a551e481c32a2df4911f3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Apr 26 13:10:39 2012 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:39 2012 +0200"
      },
      "message": "ext3: return 32/64-bit dir name hash according to usage type\n\nThis is based on commit d1f5273e9adb40724a85272f248f210dc4ce919a\next4: return 32/64-bit dir name hash according to usage type\nby Fan Yong \u003cyong.fan@whamcloud.com\u003e\n\nTraditionally ext2/3/4 has returned a 32-bit hash value from llseek()\nto appease NFSv2, which can only handle a 32-bit cookie for seekdir()\nand telldir().  However, this causes problems if there are 32-bit hash\ncollisions, since the NFSv2 server can get stuck resending the same\nentries from the directory repeatedly.\n\nAllow ext3 to return a full 64-bit hash (both major and minor) for\ntelldir to decrease the chance of hash collisions.\n\nThis patch does implement a new ext3_dir_llseek op, because with 64-bit\nhashes, nfs will attempt to seek to a hash \"offset\" which is much\nlarger than ext3\u0027s s_maxbytes.  So for dx dirs, we call\ngeneric_file_llseek_size() with the appropriate max hash value as the\nmaximum seekable size.  Otherwise we just pass through to\ngeneric_file_llseek().\n\nPatch-updated-by: Bernd Schubert \u003cbernd.schubert@itwm.fraunhofer.de\u003e\nPatch-updated-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n(blame us if something is not correct)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4613ad180d19082f99551477dcb13cb23d23661b",
      "tree": "c90407d53b5e7270c55831e394bd879825e0c6e9",
      "parents": [
        "f7699f2b0114fcd0ea5ad5f8aa2142f1bcc27fd0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 29 22:30:07 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "ext3: move headers to fs/ext3/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "187f1882b5b0748b3c4c22274663fdb372ac0452",
      "tree": "36283f258cf65f03599a045d48bb05d0ec27f3f9",
      "parents": [
        "50af5ead3b44ccf8bd2b4d2a50c1b610f557c480"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Nov 23 20:12:59 2011 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Mar 04 17:54:34 2012 -0500"
      },
      "message": "BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n\nIf a header file is making use of BUG, BUG_ON, BUILD_BUG_ON, or any\nother BUG variant in a static inline (i.e. not in a #define) then\nthat header really should be including \u003clinux/bug.h\u003e and not just\nexpecting it to be implicitly present.\n\nWe can make this change risk-free, since if the files using these\nheaders didn\u0027t have exposure to linux/bug.h already, they would have\nbeen causing compile failures/warnings.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "69b34f3ab30836bb736b5108f40bf76de9f656f3",
      "tree": "a79d92c9acb4efd686d0e633ac14f5b53434767b",
      "parents": [
        "3ea40bc9471ae5a24b7e07cbf085fcd3c9572c91"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 02:46:57 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:58 2012 -0500"
      },
      "message": "ext3: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f1f8935a5c38a2c61e86a42bc971a2539eef2211",
      "tree": "694950045f2f5d89507d7206cf6595e09cdfbd2c",
      "parents": [
        "34116645d912f65d7eb4508a1db3c9d0e45facb1",
        "f2a44523b20f323e4aef7c16261d34d6f0a4bf06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:06:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 10:06:20 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (97 commits)\n  jbd2: Unify log messages in jbd2 code\n  jbd/jbd2: validate sb-\u003es_first in journal_get_superblock()\n  ext4: let ext4_ext_rm_leaf work with EXT_DEBUG defined\n  ext4: fix a syntax error in ext4_ext_insert_extent when debugging enabled\n  ext4: fix a typo in struct ext4_allocation_context\n  ext4: Don\u0027t normalize an falloc request if it can fit in 1 extent.\n  ext4: remove comments about extent mount option in ext4_new_inode()\n  ext4: let ext4_discard_partial_buffers handle unaligned range correctly\n  ext4: return ENOMEM if find_or_create_pages fails\n  ext4: move vars to local scope in ext4_discard_partial_page_buffers_no_lock()\n  ext4: Create helper function for EXT4_IO_END_UNWRITTEN and i_aiodio_unwritten\n  ext4: optimize locking for end_io extent conversion\n  ext4: remove unnecessary call to waitqueue_active()\n  ext4: Use correct locking for ext4_end_io_nolock()\n  ext4: fix race in xattr block allocation path\n  ext4: trace punch_hole correctly in ext4_ext_map_blocks\n  ext4: clean up AGGRESSIVE_TEST code\n  ext4: move variables to their scope\n  ext4: fix quota accounting during migration\n  ext4: migrate cleanup\n  ...\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": "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": "1cd9f0976aa4606db8d6e3dc3edd0aca8019372a",
      "tree": "3928541b60787c1add5120bb34a4016529de3d6b",
      "parents": [
        "8c0bec2151a47906bf779c6715a10ce04453ab77"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 31 11:54:51 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 31 11:54:51 2011 -0400"
      },
      "message": "ext2,ext3,ext4: don\u0027t inherit APPEND_FL or IMMUTABLE_FL for new inodes\n\nThis doesn\u0027t make much sense, and it exposes a bug in the kernel where\nattempts to create a new file in an append-only directory using\nO_CREAT will fail (but still leave a zero-length file).  This was\ndiscovered when xfstests #79 was generalized so it could run on all\nfile systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc:stable@kernel.org\n"
    },
    {
      "commit": "fbc854027c91fa2813ae7f9de43cc0b5c1119f41",
      "tree": "36003e9919758ac0507034652d0832514728e421",
      "parents": [
        "46130222df8567ffde773216044c7611a1e71d51"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Tue Aug 16 18:08:06 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 17 11:42:19 2011 +0200"
      },
      "message": "ext3: remove deprecated oldalloc\n\nFor a long time now orlov is the default block allocator in the ext3. It\nperforms better than the old one and no one seems to claim otherwise so\nwe can safely drop it and make oldalloc and orlov mount option\ndeprecated.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "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": "9008593017069ad513cc7dc78a6c94e8dfddba31",
      "tree": "b44a9c8d3135ebd82fcbe11e0a67a000aa3085aa",
      "parents": [
        "fbcc9e624b8dbc7f740fac3906aa261b83398100"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Jun 01 23:34:04 2011 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Jun 25 17:29:52 2011 +0200"
      },
      "message": "ext3: use proper little-endian bitops\n\next3_{set,clear}_bit() is defined as __test_and_{set,clear}_bit_le()\nfor ext3.  But all ext3_{set,clear}_bit() calls ignore return values.\nSo these can be replaced with __{set,clear}_bit_le().\n\nThis changes ext3_{set,clear}_bit safely, because if someone uses\nthese macros without noticing the change, new ext3_{set,clear}_bit\ndon\u0027t have return value and causes compiler errors where the return\nvalue is used.\n\nThis also removes unused ext3_find_first_zero_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "40680f2fa4670ab35ee554822a69dda1a118f966",
      "tree": "24d8fa1e6354b851b2a268a6681270fde4ef8b5a",
      "parents": [
        "99cb1a318c37bf462c53d43f4dacb7b4896ce0c9"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 24 22:24:47 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Jun 25 17:29:51 2011 +0200"
      },
      "message": "ext3: Convert ext3 to new truncate calling convention\n\nMostly trivial conversion. We fix a bug that IS_IMMUTABLE and IS_APPEND files\ncould not be truncated during failed writes as we change the code.  In fact the\ntest is not needed at all because both IS_IMMUTABLE and IS_APPEND is tested in\nupper layers in do_sys_[f]truncate(), may_write(), etc.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aa38572954ade525817fe88c54faebf85e5a61c0",
      "tree": "ef398ec06c97134592f62a49c99f3f80041b427c",
      "parents": [
        "d6e9bd256c88ce5f4b668249e363a74f51393daa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri May 27 06:53:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 27 07:04:40 2011 -0400"
      },
      "message": "fs: pass exact type of data dirties to -\u003edirty_inode\n\nTell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or\nanything else, so that the filesystem can track internally if it\nneeds to push out a transaction for fdatasync or not.\n\nThis is just the prototype change with no user for it yet.  I plan\nto push large XFS changes for the next merge window, and getting\nthis trivial infrastructure in this window would help a lot to avoid\ntree interdependencies.\n\nAlso remove incorrect comments that -\u003edirty_inode can\u0027t block.  That\nhas been changed a long time ago, and many implementations rely on it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0795ccea24714c790187e3d4f23c8e5be515f42d",
      "tree": "643e48522c01936d3a203fdf45e0373cfb4e7a20",
      "parents": [
        "e1dc1c81b9d1c823f2a529b9b9cf8bf5dacbce6a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ext3: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "a4ae3094869f18e26ece25ad175bbe4cd740e60b",
      "tree": "dea6bfdc5c0e3e34b2bd74cffae147220c4cc855",
      "parents": [
        "40a063f6691ce937a3d00c9700b6964b5ec4e022"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Dec 07 11:55:27 2010 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 10 19:04:07 2011 +0100"
      },
      "message": "ext3: 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\nSimilar changes already exist in the ext4 codebase.\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 77,000/s to about 82,000/s, about a 6% improvement.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b853b96b1dbdc05fc8eae141a595366d8172962b",
      "tree": "d0f7eb47da8263f2ac35554ead88a8cf70cd99cf",
      "parents": [
        "ad1857a0e0cb29313efae3bb69c913b2c3c833a1"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Mon Nov 22 12:29:17 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 10 19:03:58 2011 +0100"
      },
      "message": "ext3: Add batched discard support for ext3\n\nWalk through allocation groups and trim all free extents. It can be\ninvoked through FITRIM ioctl on the file system. The main idea is to\nprovide a way to trim the whole file system if needed, since some SSD\u0027s\nmay suffer from performance loss after the whole device was filled (it\ndoes not mean that fs is full!).\n\nIt search for free extents in allocation groups specified by Byte range\nstart -\u003e start+len. When the free extent is within this range, blocks are\nmarked as used and then trimmed. Afterwards these blocks are marked as\nfree in per-group bitmap.\n\n[JK: Fixed up error handling and trimming of a single group]\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "ac14a95b5239d37b6082c3791b88d7ab4e8e444c",
      "tree": "b7a763b2e25de51730104e14fffd5b4ec035b415",
      "parents": [
        "0f3f63a4700d7c5aed51491b0113a257cf290a56"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 06 07:08:19 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:03 2010 -0400"
      },
      "message": "convert ext3 to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4c4d3901225518ed1a4c938ba15ba09842a00770",
      "tree": "0ed9eb0ad123174ebdd6ea507ac06b388d0d0b20",
      "parents": [
        "0411ba7902e09111d6f2041b4697a597d2cf7736"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 07 10:20:39 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 21 16:01:47 2010 +0200"
      },
      "message": "ext3: remove vestiges of nobh support\n\nThe nobh option was only supported for writeback mode, but given that all\nwrite paths (except mmapped writed) actually create buffer heads, it\neffectively was a no-op already.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "de329820e920cd9cfbc2127cad26a37026260cce",
      "tree": "c392dbee75854e1f0b950f9d16dcf03214c63e80",
      "parents": [
        "ad4ba059005f18ec9e274966c16d99fc5ce8b2cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "message": "ext3: fix broken handling of EXT3_STATE_NEW\n\nIn commit 9df93939b735 (\"ext3: Use bitops to read/modify\nEXT3_I(inode)-\u003ei_state\") ext3 changed its internal \u0027i_state\u0027 variable to\nuse bitops for its state handling.  However, unline the same ext4\nchange, it didn\u0027t actually change the name of the field when it changed\nthe semantics of it.\n\nAs a result, an old use of \u0027i_state\u0027 remained in fs/ext3/ialloc.c that\ninitialized the field to EXT3_STATE_NEW.  And that does not work\n_at_all_ when we\u0027re now working with individually named bits rather than\nvalues that get masked.  So the code tried to mark the state to be new,\nbut in actual fact set the field to EXT3_STATE_JDATA.  Which makes no\nsense at all, and screws up all the code that checks whether the inode\nwas newly allocated.\n\nIn particular, it made the xattr code unhappy, and caused various random\nbehavior, like apparently\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d577911\n\nSo fix the initialization, and rename the field to match ext4 so that we\ndon\u0027t have this happen again.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Daniel J Walsh \u003cdwalsh@redhat.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9df93939b735dd273e49cbee290b9f4738500ef4",
      "tree": "2840172239e13d1c0fea496755b8346a9b394336",
      "parents": [
        "26245c949c8473ea7352907b5a54bc34487eb87f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 06 21:58:48 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:20 2010 +0100"
      },
      "message": "ext3: Use bitops to read/modify EXT3_I(inode)-\u003ei_state\n\nAt several places we modify EXT3_I(inode)-\u003ei_state without holding i_mutex\n(ext3_release_file, ext3_bmap, ext3_journalled_writepage, ext3_do_update_inode,\n...). These modifications are racy and we can lose updates to i_state. So\nconvert handling of i_state to use bitops which are atomic.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4cf46b67eb6de94532c1bea11d2479d085229d0e",
      "tree": "1d14729f879ccc0afc56563b4edfb50ddec8c38c",
      "parents": [
        "2074abfeb8ea2904aeeaecc45e0dfea3f83a22b2"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Sun Nov 22 20:38:55 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "ext3: Unify log messages in ext3\n\nMake messages produced by ext3 more unified. It should be\neasy to parse.\n\ndmesg before patch:\n[ 4893.684892] reservations ON\n[ 4893.684896] xip option not supported\n[ 4893.684964] EXT3-fs warning: maximal mount count reached, running\ne2fsck is recommended\n\ndmesg after patch:\n[  873.300792] EXT3-fs (loop0): using internal journaln\n[  873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n[  723.755642] EXT3-fs (loop0): error: bad blocksize 8192\n[  357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2?\n[  873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "43237b5490e8f2f4679decd660064ff35ce490cc",
      "tree": "487380755d875bfe4e5b3700d08c85d58f97ae14",
      "parents": [
        "1e9fd53b783ea646de3ee09a4574afeb6778d504"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 20 18:41:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 21:30:46 2009 +0200"
      },
      "message": "ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()\n\nGet rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to\nbe a relict from some old days and setting disksize in this function does not\nmake much sence. Currently it was set only by ext3_getblk().  Since the\nparameter has some effect only if create \u003d\u003d 1, it is easy to check that the\nthree callers which end up calling ext3_getblk() with create \u003d\u003d 1 (ext3_append,\next3_quota_write, ext3_mkdir) do the right thing and set disksize themselves.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "20bec8ab1458c24bed0d5492ee15d87807fc415a",
      "tree": "e5f910947dbe314b96a591e41e2cfb2d3322caad",
      "parents": [
        "18b34b9546dc192d978dda940673f40928d2e36e",
        "e7c8f5079ed9ec9e6eb1abe3defc5fb4ebfdf1cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 11:10:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 11:10:33 2009 -0700"
      },
      "message": "Merge branch \u0027ext3-latency-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027ext3-latency-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext3: Add replace-on-rename hueristics for data\u003dwriteback mode\n  ext3: Add replace-on-truncate hueristics for data\u003dwriteback mode\n  ext3: Use WRITE_SYNC for commits which are caused by fsync()\n  block_write_full_page: Use synchronous writes for WBC_SYNC_ALL writebacks\n"
    },
    {
      "commit": "f7ab34ea723ed304b19698efca85d6f40cecd99b",
      "tree": "28a609a654a24bc40d694fd2ec87a1f785c97c79",
      "parents": [
        "512a004382f2c60d5c4f855476ba965adc00250c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:35 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:35 2009 -0400"
      },
      "message": "ext3: Add replace-on-truncate hueristics for data\u003dwriteback mode\n\nIn data\u003dwriteback mode, start an asynchronous flush when closing a\nfile which had been previously truncated down to zero.  This lowers\nthe probability of data loss in the case of applications that attempt\nto replace a file using truncate.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "039fd8ce6258e01ec29f1637f9bf1868dd877c55",
      "tree": "dcc90b006655eecad1d0cd82850feef2398976fa",
      "parents": [
        "b277c884f7856ce0791b1e72079023a86767981b"
      ],
      "author": {
        "name": "Cyrus Massoumi",
        "email": "cyrusm@gmx.net",
        "time": "Thu Apr 02 16:57:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: remove the BKL in ext3/ioctl.c\n\nReformat ext3/ioctl.c to make it look more like ext4/ioctl.c and remove\nthe BKL around ext3_ioctl().\n\nSigned-off-by: Cyrus Massoumi \u003ccyrusm@gmx.net\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -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: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c",
      "tree": "1a8b6add3f19db63663bcf33205b771272e451d8",
      "parents": [
        "2e8671cb566da993425d324fc355af31edc6e7f1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e8671cb566da993425d324fc355af31edc6e7f1",
      "tree": "6da1dc8231ecbff398229398b602a6a3543979fd",
      "parents": [
        "5df096d67ec2b6578518caed7d57317a4b807aa1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: don\u0027t inherit inappropriate inode flags from parent\n\nAt present INDEX is the only flag that new ext3 inodes do NOT inherit from\ntheir parent.  In addition prevent the flags DIRTY, ECOMPR, IMAGIC and\nTOPDIR from being inherited.  List inheritable flags explicitly to prevent\nfuture flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e1f8c9e20a92743eefc9a82c2db835213905e26",
      "tree": "0c945d1e31b87d1d8c18381f4ffe99122ddb797b",
      "parents": [
        "8f72fbdf0d92e6127583cc548bf043c60cd4720f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:55 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:55 2008 -0400"
      },
      "message": "ext3: Add support for non-native signed/unsigned htree hash algorithms\n\nThe original ext3 hash algorithms assumed that variables of type char\nwere signed, as God and K\u0026R intended.  Unfortunately, this assumption\nis not true on some architectures.  Userspace support for marking\nfilesystems with non-native signed/unsigned chars was added two years\nago, but the kernel-side support was never added (until now).\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: akpm@linux-foundation.org\nCc: linux-kernel@vger.kernel.org\n"
    },
    {
      "commit": "0e4fb5e283870757024294bc4567a7c59d936f0b",
      "tree": "162263fe9e712124d3df886ca57d8db752a3237d",
      "parents": [
        "46d01a225e694f1a4343beea44f1e85105aedd7e"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "ext3: add an option to control error handling on file data\n\nIf the journal doesn\u0027t abort when it gets an IO error in file data blocks,\nthe file data corruption will spread silently.  Because most of\napplications and commands do buffered writes without fsync(), they don\u0027t\nnotice the IO error.  It\u0027s scary for mission critical systems.  On the\nother hand, if the journal aborts whenever it gets an IO error in file\ndata blocks, the system will easily become inoperable.  So this patch\nintroduces a filesystem option to determine whether it aborts the journal\nor just call printk() when it gets an IO error in file data.\n\nIf you mount a ext3 fs with data_err\u003dabort option, it aborts on file data\nwrite error.  If you mount it with data_err\u003dignore, it doesn\u0027t abort, just\ncall printk().  data_err\u003dignore is the default.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5c003b4d1690e666dbab02bc8e705947baa848c",
      "tree": "868edee78b635698429173a95ac4215b932f0155",
      "parents": [
        "8e9c7716c138fa82d919bfe1115ec8c938e90918"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "include: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68c9d702bb72f367f3b148963ec6cf5e07ff7f65",
      "tree": "16fc61a1bd973c14a7858ab1fbcb306d3ae75184",
      "parents": [
        "00dc417fa3e763345b34ccb6034d72de76eea0a1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Fri Oct 03 17:32:43 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 03 17:32:43 2008 -0400"
      },
      "message": "generic block based fiemap implementation\n\nAny block based fs (this patch includes ext3) just has to declare its own\nfiemap() function and then call this generic function with its own\nget_block_t. This works well for block based filesystems that will map\nmultiple contiguous blocks at one time, but will work for filesystems that\nonly map one block at a time, you will just end up with an \"extent\" for each\nblock. One gotcha is this will not play nicely where there is hole+data\nafter the EOF. This function will assume its hit the end of the data as soon\nas it hits a hole after the EOF, so if there is any data past that it will\nnot pick that up. AFAIK no block based fs does this anyway, but its in the\ncomments of the function anyway just in case.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "ae76dd9a6b5bbe5315fb7028e03f68f75b8538f3",
      "tree": "3b877057e84fda45782dd25a3c8be91173324922",
      "parents": [
        "ef1afd39519b74fbe1f63c9ab5a14490effec0e3"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Jul 25 01:46:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "ext3: handle corrupted orphan list at mount\n\nIf the orphan node list includes valid, untruncatable nodes with nlink \u003e 0\nthe ext3_orphan_cleanup loop which attempts to delete them will not do so,\ncausing it to loop forever. Fix by checking for such nodes in the\next3_orphan_get function.\n\nThis patch fixes the second case (image hdb.20000009.softlockup.gz)\nreported in http://bugzilla.kernel.org/show_bug.cgi?id\u003d10882.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: printk warning fix]\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "473043dcee1874aab99f66b0362b344618eb3790",
      "tree": "bc329501ec6cd0d31dfe11d4587347093dca4ccf",
      "parents": [
        "52fcf7032935b33158e3998ed399cac97447ab8d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT3 from using iget() and read_inode()\n\nStop the EXT3 filesystem from using iget() and read_inode().  Replace\next3_read_inode() with ext3_iget(), and call that instead of iget().\next3_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next3_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c06a8dc64a2d1884bd19b4c6353d9267ae4e3e1",
      "tree": "67afad25e4de3139d3b993e22327096c3e015013",
      "parents": [
        "dbaf4c024a657175f43b5091c4fab8b9f0e17078"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 14 17:00:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:43 2007 -0800"
      },
      "message": "Fix 64KB blocksize in ext3 directories\n\nWith 64KB blocksize, a directory entry can have size 64KB which does not\nfit into 16 bits we have for entry lenght.  So we store 0xffff instead and\nconvert value when read from / written to disk.  The patch also converts\nsome places to use ext3_next_entry() when we are changing them anyway.\n\n[akpm@linux-foundation.org: coding-style cleanups]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f0a89ebe1ccf7c280534f69577cdd182941eb6a",
      "tree": "f82d98ac18168ff8b7757cd8ac66e93e46695e30",
      "parents": [
        "4176ed593866b5e4bcf86896e0734315ad46661b"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "sho@tnes.nec.co.jp",
        "time": "Thu Oct 18 03:06:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "ext3: support large blocksize up to PAGESIZE\n\nThis patch set supports large block size(\u003e4k, \u003c\u003d64k) in ext3 just enlarging\nthe block size limit.  But it is NOT possible to have 64kB blocksize on\next3 without some changes to the directory handling code.  The reason is\nthat an empty 64kB directory block would have a rec_len \u003d\u003d (__u16)2^16 \u003d\u003d\n0, and this would cause an error to be hit in the filesystem.  The proposed\nsolution is treat 64k rec_len with a an impossible value like rec_len \u003d\n0xffff to handle this.\n\nThe Patch-set consists of the following 2 patches.\n  [1/2]  ext3: enlarge blocksize\n         - Allow blocksize up to pagesize\n\n  [2/2]  ext3: fix rec_len overflow\n         - prevent rec_len from overflow with 64KB blocksize\n\nNow on 64k page ppc64 box runs with this patch set we could create a 64k\nblock size ext3, and able to handle empty directory block.\n\nSigned-off-by: Takashi Sato \u003csho@tnes.nec.co.jp\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "059590f495f9c6e89cb018b9e612c3eec2336109",
      "tree": "89f86070d05fc3c153a0f6a506ac315ef87cba3a",
      "parents": [
        "a9c62a18a291499d15a370d08771e781fbaf91e6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 23:30:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "ext3: remove #ifdef CONFIG_EXT3_INDEX\n\nCONFIG_EXT3_INDEX is not an exposed config option in the kernel, and it is\nunconditionally defined in ext3_fs.h.  tune2fs is already able to turn off\ndir indexing, so at this point it\u0027s just cluttering up the code.  Remove\nit.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28be5abb400e5e082f5225105fdc69337ec0c0b4",
      "tree": "e4bb3e527aac316004be68e28a25b2919e30afd4",
      "parents": [
        "9926e4c74300c4b31dee007298c6475d33369df0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 08 00:30:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:12 2007 -0700"
      },
      "message": "ext3: copy i_flags to inode flags on write\n\nA patch that stores inode flags such as S_IMMUTABLE, S_APPEND, etc.  from\ni_flags to EXT3_I(inode)-\u003ei_flags when inode is written to disk.  The same\nthing is done on GETFLAGS ioctl.\n\nQuota code changes these flags on quota files (to make it harder for\nsysadmin to screw himself) and these changes were not correctly propagated\ninto the filesystem (especially, lsattr did not show them and users were\nwondering...).\n\nPropagate flags such as S_APPEND, S_IMMUTABLE, etc.  from i_flags into\next3-specific i_flags.  Hence, when someone sets these flags via a\ndifferent interface than ioctl, they are stored correctly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52a700c5675f399c07e6e57328291e57f13ef3bb",
      "tree": "4ef1a3a7d66f589ad2e5f7d769da8c30f172a70e",
      "parents": [
        "e322ff07fb2d0f05c02d85e7c6b30d23f308c20f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:06:23 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:29 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]\n\nMove the Ext3 device ioctl compat stuff from fs/compat_ioctl.c to the Ext3\ndriver so that the Ext3 header file doesn\u0027t need to be included.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "36695673b012096228ebdc1b39a6a5850daa474e",
      "tree": "4b617e27256750f367b2b50653981c70db0ce2d0",
      "parents": [
        "863d5b822c02d0e7215fb84ca79e9f8c3e35f04e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:06:16 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:28 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]\n\nMove common FS-specific ioctls from linux/ext2_fs.h to linux/fs.h as FS_IOC_*\nand FS_IOC32_* and have the users of them use those as a base.\n\nAlso move the GETFLAGS/SETFLAGS flags to linux/fs.h as FS_*_FL macros, and then\nhave the other users use them as a base.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "a4e4de36dc446b2193bdc8ebb96a96e44b69dd94",
      "tree": "d9a024e2c10dcb94decadc57caac162cef706307",
      "parents": [
        "e9ad5620bfb901df8a7a2603c88689ededeecaf1"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: Fix sparse warnings\n\nFixing up some endian-ness warnings in preparation to clone ext4 from ext3.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9ad5620bfb901df8a7a2603c88689ededeecaf1",
      "tree": "82a2b22e1b7401b98fc2f201b8df2db05764332a",
      "parents": [
        "7543fc7b3abfee8c6cd6349ebd5e5fde02fac984"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: More whitespace cleanups\n\nMore white space cleanups in preparation of cloning ext4 from ext3.\nRemoving spaces that precede a tab.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18fa700c9a31360bc8f193aa543b7ef7b39a06b",
      "tree": "1006f53177341c614d4aeb6c96e2e8f3859b5f52",
      "parents": [
        "4f5537de7c1531398e84e18a24f667e49cc94208"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 11:13:19 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 11:13:19 2006 -0400"
      },
      "message": "Move several *_SUPER_MAGIC symbols to include/linux/magic.h.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2ccb48ebb4de139eef4fcefd5f2bb823cb0d81b9",
      "tree": "e06a83c7306e143175a87df2328b45e1ef34da5b",
      "parents": [
        "f712c0c7e1796f92e45e4de144e247816d974b8f"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Sun Jul 30 03:03:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:36 2006 -0700"
      },
      "message": "[PATCH] ext3: avoid triggering ext3_error on bad NFS file handle\n\nThe inode number out of an NFS file handle gets passed eventually to\next3_get_inode_block() without any checking.  If ext3_get_inode_block()\nallows it to trigger an error, then bad filehandles can have unpleasant\neffect - ext3_error() will usually cause a forced read-only remount, or a\npanic if `errors\u003dpanic\u0027 was used.\n\nSo remove the call to ext3_error there and put a matching check in\next3/namei.c where inode numbers are read off storage.\n\n[akpm@osdl.org: fix off-by-one error]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Eric Sandeen \u003cesandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43d23f9039fc810ecd621f1e4f9d578eadce058a",
      "tree": "be241eb5a8e6010f1f8ca9e960bc9838b70d6779",
      "parents": [
        "1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Jun 25 05:48:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:10 2006 -0700"
      },
      "message": "[PATCH] ext3_fsblk_t: the rest of in-kernel filesystem blocks conversion\n\nConvert the ext3 in-kernel filesystem blocks to ext3_fsblk_t.  Convert the\nrest of all unsigned long type in-kernel filesystem blocks to ext3_fsblk_t,\nand replace the printk format string respondingly.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2",
      "tree": "abb4e01a4bc146183d5cf1f0e18c1aa6e847aa5e",
      "parents": [
        "cedfb178ada245b6c52a654936b34d7996e26a1d"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Jun 25 05:48:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:10 2006 -0700"
      },
      "message": "[PATCH] ext3_fsblk_t: filesystem, group blocks and bug fixes\n\nSome of the in-kernel ext3 block variable type are treated as signed 4 bytes\nint type, thus limited ext3 filesystem to 8TB (4kblock size based).  While\ntrying to fix them, it seems quite confusing in the ext3 code where some\nblocks are filesystem-wide blocks, some are group relative offsets that need\nto be signed value (as -1 has special meaning).  So it seem saner to define\ntwo types of physical blocks: one is filesystem wide blocks, another is\ngroup-relative blocks.  The following patches clarify these two types of\nblocks in the ext3 code, and fix the type bugs which limit current 32 bit ext3\nfilesystem limit to 8TB.\n\nWith this series of patches and the percpu counter data type changes in the mm\ntree, we are able to extend exts filesystem limit to 16TB.\n\nThis work is also a pre-request for the recent \u003e32 bit ext3 work, and makes\nthe kernel to able to address 48 bit ext3 block a lot easier: Simply redefine\next3_fsblk_t from unsigned long to sector_t and redefine the format string for\next3 filesystem block corresponding.\n\nTwo RFC with a series patches have been posted to ext2-devel list and have\nbeen reviewed and discussed:\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114722190816690\u0026w\u003d2\n\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114784919525942\u0026w\u003d2\n\nPatches are tested on both 32 bit machine and 64 bit machine, \u003c8TB ext3 and\n\u003e8TB ext3 filesystem(with the latest to be released e2fsprogs-1.39).  Tests\nincludes overnight fsx, tiobench, dbench and fsstress.\n\nThis patch:\n\nDefines ext3_fsblk_t and ext3_grpblk_t, and the printk format string for\nfilesystem wide blocks.\n\nThis patch classifies all block group relative blocks, and ext3_fsblk_t blocks\noccurs in the same function where used to be confusing before.  Also include\nkernel bug fixes for filesystem wide in-kernel block variables.  There are\nsome fileystem wide blocks are treated as int/unsigned int type in the kernel\ncurrently, especially in ext3 block allocation and reservation code.  This\npatch fixed those bugs by converting those variables to ext3_fsblk_t(unsigned\nlong) type.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de654c97861c314fd0fc0b6a6dd1bc4202e00e42",
      "tree": "db922e0c667e86c816eb7a0bb87f11787b581216",
      "parents": [
        "7ee7d0e3186e2ad2a872436b5a272a814ea5cb0f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 04 17:28:26 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 04 17:28:26 2006 +0100"
      },
      "message": "Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "d85004eb15a635b3937e91d1dbadb1d37541983c",
      "tree": "0ac080c0b83feae466a436a73fab3f0efedcafa3",
      "parents": [
        "52a78c1cae382ff5684f3970848676de12449745"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 15:18:46 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 15:18:46 2006 +0100"
      },
      "message": "Don\u0027t include private headers from user-visible part of linux/ext3_fs.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b54e41ec17ae91dce174eb5a3515e7af4a440d42",
      "tree": "aa98a38e05188b204950eb0756fb792675951b0d",
      "parents": [
        "b47b24781c59565f45acd765dc995a752d561e96"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Mar 26 01:37:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] ext3_get_blocks: support multiple blocks allocation in ext3_new_block()\n\nChange ext3_try_to_allocate() (called via ext3_new_blocks()) to try to\nallocate the requested number of blocks on a best effort basis: After\nallocated the first block, it will always attempt to allocate the next few(up\nto the requested size and not beyond the reservation window) adjacent blocks\nat the same time.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89747d369d34e333b9b60f10f333a0b727b4e4e2",
      "tree": "26b55849e666c7f6c7a7312b100756c3b591559f",
      "parents": [
        "e2d53f9525790dfacbcf09f359536311d3913d98"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Mar 26 01:37:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:00 2006 -0800"
      },
      "message": "[PATCH] ext3_get_blocks: Mapping multiple blocks at a once\n\nCurrently ext3_get_block() only maps or allocates one block at a time.  This\nis quite inefficient for sequential IO workload.\n\nI have posted a early implements a simply multiple block map and allocation\nwith current ext3.  The basic idea is allocating the 1st block in the existing\nway, and attempting to allocate the next adjacent blocks on a best effort\nbasis.  More description about the implementation could be found here:\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d112162230003522\u0026w\u003d2\n\nThe following the latest version of the patch: break the original patch into 5\npatches, re-worked some logicals, and fixed some bugs.  The break ups are:\n\n [patch 1] Adding map multiple blocks at a time in ext3_get_blocks()\n [patch 2] Extend ext3_get_blocks() to support multiple block allocation\n [patch 3] Implement multiple block allocation in ext3-try-to-allocate\n (called via ext3_new_block()).\n [patch 4] Proper accounting updates in ext3_new_blocks()\n [patch 5] Adjust reservation window size properly (by the given number\n of blocks to allocate) before block allocation to increase the\n possibility of allocating multiple blocks in a single call.\n\nTests done so far includes fsx,tiobench and dbench.  The following numbers\ncollected from Direct IO tests (1G file creation/read) shows the system time\nhave been greatly reduced (more than 50% on my 8 cpu system) with the patches.\n\n 1G file DIO write:\n \t2.6.15\t\t2.6.15+patches\n real    0m31.275s\t0m31.161s\n user    0m0.000s\t0m0.000s\n sys     0m3.384s\t0m0.564s\n\n 1G file DIO read:\n \t2.6.15\t\t2.6.15+patches\n real    0m30.733s\t0m30.624s\n user    0m0.000s\t0m0.004s\n sys     0m0.748s\t0m0.380s\n\nSome previous test we did on buffered IO with using multiple blocks allocation\nand delayed allocation shows noticeable improvement on throughput and system\ntime.\n\nThis patch:\n\nAdd support of mapping multiple blocks in one call.\n\nThis is useful for DIO reads and re-writes (where blocks are already\nallocated), also is in line with Christoph\u0027s proposal of using getblocks() in\nmpage_readpage() or mpage_readpages().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8733c2956968a01394a4d2a9e97a8b431a78776",
      "tree": "9743c9020eb5193efa4a0f102b3a7eb1d999c4fd",
      "parents": [
        "b8e31edc10d160a8bf2159541d9d12f2079a0887"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:09 2006 -0800"
      },
      "message": "[PATCH] ext3_readdir: use generic readahead\n\nLinus points out that ext3_readdir\u0027s readahead only cuts in when\next3_readdir() is operating at the very start of the directory.  So for large\ndirectories we end up performing no readahead at all and we suck.\n\nSo take it all out and use the core VM\u0027s page_cache_readahead().  This means\nthat ext3 directory reads will use all of readahead\u0027s dynamic sizing goop.\n\nNote that we\u0027re using the directory\u0027s filp-\u003ef_ra to hold the readahead state,\nbut readahead is actually being performed against the underlying blockdev\u0027s\naddress_space.  Fortunately the readahead code is all set up to handle this.\n\nTested with printk.  It works.  I was struggling to find a real workload which\nactually cared.\n\n(The patch also exports page_cache_readahead() to GPL modules)\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fc2751beb0941966d3a97b26544e8585e428c08",
      "tree": "30a03f2e173f31d76fb436054ed2356542099999",
      "parents": [
        "c92371566ea505cf455c208cdfb89046b3db87de"
      ],
      "author": {
        "name": "Mark Bellon",
        "email": "mbellon@mvista.com",
        "time": "Tue Sep 06 15:16:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:23 2005 -0700"
      },
      "message": "[PATCH] disk quotas fail when /etc/mtab is symlinked to /proc/mounts\n\nIf /etc/mtab is a regular file all of the mount options (of a file system)\nare written to /etc/mtab by the mount command.  The quota tools look there\nfor the quota strings for their operation.  If, however, /etc/mtab is a\nsymlink to /proc/mounts (a \"good thing\" in some environments) the tools\ndon\u0027t write anything - they assume the kernel will take care of things.\n\nWhile the quota options are sent down to the kernel via the mount system\ncall and the file system codes handle them properly unfortunately there is\nno code to echo the quota strings into /proc/mounts and the quota tools\nfail in the symlink case.\n\nThe attached patchs modify the EXT[2|3] and JFS codes to add the necessary\nhooks.  The show_options function of each file system in these patches\ncurrently deal with only those things that seemed related to quotas;\nespecially in the EXT3 case more can be done (later?).\n\nJan Kara also noted the difficulty in moving these changes above the FS\ncodes responding similarly to myself to Andrew\u0027s comment about possible\nVFS migration. Issue summary:\n\n - FS codes have to process the entire string of options anyway.\n\n - Only FS codes that use quotas must have a show_options function (for\n   quotas to work properly) however quotas are only used in a small number\n   of FS.\n\n - Since most of the quota using FS support other options these FS codes\n   should have the a show_options function to show those options - and the\n   quota echoing becomes virtually negligible.\n\nBased on feedback I have modified my patches from the original:\n\n   JFS a missing patch has been restored to the posting\n   EXT[2|3] and JFS always use the show_options function\n       - Each FS has at least one FS specific option displayed\n       - QUOTA output is under a CONFIG_QUOTA ifdef\n       - a follow-on patch will add a multitude of options for each FS\n   EXT[2|3] and JFS \"quota\" is treated as \"usrquota\"\n   EXT3 journalled data check for journalled quota removed\n   EXT[2|3] mount when quota specified but not compiled in\n\n - no changes from my original patch.  I tested the patch and the codes\n   warn but\n\n - still mount.  With all due respection I believe the comments\n   otherwise were a\n\n - misread of the patch.  Please reread/test and comment.  XFS patch\n   removed - the XFS team already made the necessary changes EXT3 mixing\n   old and new quotas are handled differently (not purely exclusive)\n\n - if old and new quotas for the same type are used together the old\n   type is silently depricated for compatability (e.g.  usrquota and\n   usrjquota)\n\n - mixing of old and new quotas is an error (e.g.  usrjquota and\n   grpquota)\n\nSigned-off-by: Mark Bellon \u003cmbellon@mvista.com\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "08c6a96fd77836856c090ebb39beadc81cb8484d",
      "tree": "36e643a41179078abcb8a866894586cba9bbf7e0",
      "parents": [
        "5323125031799a7fd8602ce150c3902aedfdcba6"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 12 13:58:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:01:01 2005 -0700"
      },
      "message": "[PATCH] ext3: fix options parsing\n\nFix a problem with ext3 mount option parsing.  When remount of a filesystem\nfails, old options are now restored.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f54587bea84a35125c95e19b98c2f464c50871b",
      "tree": "42f2467d6892be821271a2257e1259922bdafd45",
      "parents": [
        "4e5117ba0af4582b6ec9164874f719d7f3f1eb2b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 23 22:01:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:20 2005 -0700"
      },
      "message": "[PATCH] quota: ext3: Improve quota credit estimates\n\nUse improved credits estimates for quota operations.  Also reserve a space\nfor a quota operation in a transaction only if filesystem was mounted with\nsome quota options.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
