)]}'
{
  "log": [
    {
      "commit": "469108ff3dcbc00313699d620c47f3ee1e7d19c6",
      "tree": "d7cd5a7097d1c87b0dfc46297b05d297aabfdf62",
      "parents": [
        "26346ff681cb42c1436ed09c44dcae4809470dab"
      ],
      "author": {
        "name": "Theodore Tso",
        "email": "tytso@MIT.EDU",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "message": "ext4: Add new \"development flag\" to the ext4 filesystem\n\nThis flag is simply a generic \"this is a crash/burn test filesystem\"\nmarker.  If it is set, then filesystem code which is \"in development\"\nwill be allowed to mount the filesystem.  Filesystem code which is not\nconsidered ready for prime-time will check for this flag, and if it is\nnot set, it will refuse to touch the filesystem.\n\nAs we start rolling ext4 out to distro\u0027s like Fedora, et. al, this makes\nit less likely that a user might accidentally start using ext4 on a\nproduction filesystem; a bad thing, since that will essentially make it\nbe unfsckable until e2fsprogs catches up.\n\nSigned-off-by: Theodore Tso \u003ctytso@MIT.EDU\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n\n"
    },
    {
      "commit": "26346ff681cb42c1436ed09c44dcae4809470dab",
      "tree": "1f1b8bff59e9aedbd0ad80a51317d5c1e5cbad91",
      "parents": [
        "256bdb497c6f562462f1e89fc8e1409f61ef40cb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "message": "ext4: Don\u0027t panic in case of corrupt bitmap\n\nMultiblock allocator calls BUG_ON in many case if the free and used\nblocks count obtained looking at the bitmap is different from what\nthe allocator internally accounted for. Use ext4_error in such case\nand don\u0027t panic the system.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "256bdb497c6f562462f1e89fc8e1409f61ef40cb",
      "tree": "e8c16516bba080b4e40eccebb5a3ea5fb25cf5fd",
      "parents": [
        "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "message": "ext4: allocate struct ext4_allocation_context from a kmem cache\n\nstruct ext4_allocation_context is rather large, and this bloats\nthe stack of many functions which use it.  Allocating it from\na named slab cache will alleviate this.\n\nFor example, with this change (on top of the noinline patch sent earlier):\n\n-ext4_mb_new_blocks\t\t200\n+ext4_mb_new_blocks\t\t 40\n\n-ext4_mb_free_blocks\t\t344\n+ext4_mb_free_blocks\t\t168\n\n-ext4_mb_release_inode_pa\t216\n+ext4_mb_release_inode_pa\t 40\n\n-ext4_mb_release_group_pa\t192\n+ext4_mb_release_group_pa\t 24\n\nMost of these stack-allocated structs are actually used only for\nmballoc history; and in those cases often a smaller struct would do.\nSo changing that may be another way around it, at least for those\nfunctions, if preferred.  For now, in those cases where the ac\nis only for history, an allocation failure simply skips the history\nrecording, and does not cause any other failures.\n\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "7fb5409df092589b86cc9412d926879cb572b7f0",
      "tree": "8201f2fc124d34098776799f8cec89a8f8b4f8bb",
      "parents": [
        "8009f9fb3067fef6c2ca0c16f6bac786ae28639d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "message": "ext4: Fix Direct I/O locking\n\nWe cannot start transaction in ext4_direct_IO() and just let it last\nduring the whole write because dio_get_page() acquires mmap_sem which\nranks above transaction start (e.g. because we have dependency chain\nmmap_sem-\u003ePageLock-\u003ejournal_start, or because we update atime while\nholding mmap_sem) and thus deadlocks could happen. We solve the problem\nby starting a transaction separately for each ext4_get_block() call.\n\nWe *could* have a problem that we allocate a block and before its data\nare written out the machine crashes and thus we expose stale data. But\nthat does not happen because for hole-filling generic code falls back to\nbuffered writes and for file extension, we add inode to orphan list and\nthus in case of crash, journal replay will truncate inode back to the\noriginal size.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8009f9fb3067fef6c2ca0c16f6bac786ae28639d",
      "tree": "acf8bbfd2833a63baa9d2194ed30bf7e7dcb3075",
      "parents": [
        "0040d9875dcccfcb2131417b10fbd9841bc5f05b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "message": "ext4: Fix circular locking dependency with migrate and rm.\n\nIn order to prevent a circular locking dependency when an unlink\noperation is racing with an ext4 migration, we delay taking i_data_sem\nuntil just before switch the inode format, and use i_mutex to prevent\nwrites and truncates during the first part of the migration operation.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0040d9875dcccfcb2131417b10fbd9841bc5f05b",
      "tree": "1480723c649906ec01c4b3c7ee7e2b667324665a",
      "parents": [
        "42a10add852e6291a7544afd8a286622a3e6ae76"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "message": "allow in-inode EAs on ext4 root inode\n\nThe ext3 root inode was treated specially with respect\nto in-inode extended attributes, for reasons detailed\nin the removed comment below.  The first mkfs-created\ninodes would not get extra_i_size or the EXT3_STATE_XATTR\nflag set in ext3_read_inode, which disallowed reading or\nsetting in-inode EAs on the root.\n\nHowever, in ext4, ext4_mark_inode_dirty calls\next4_expand_extra_isize for all inodes; once this is done\nEAs may be placed in the root ext4 inode body.\n\nBut for reasons above, it won\u0027t be found after a reboot.\n\ntestcase:\n\nsetfattr -n user.name -v value mntpt/\nsetfattr -n user.name2 -v value2 mntpt/\numount mntpt/; remount mntpt/\ngetfattr -d mntpt/\n\nname2/value2 has gone missing; debugfs shows it in the\ninode body, but it is not found there by getattr.\n\nThe following fixes it up; newer mkfs appears to properly\nzero the inodes, so this workaround isn\u0027t needed for ext4.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "42a10add852e6291a7544afd8a286622a3e6ae76",
      "tree": "3acf1bdd712f1a53181b1b386c4be8ab0fa58713",
      "parents": [
        "b8356c465b42c162f34b5fd4102a6c27cec36f43"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "message": "ext4: Fix null bh pointer dereference in mballoc\n\nRepoted by Adrian Bunk \u003cbunk@kernel.org\u003e:\n\nThe Coverity checker spotted the following NULL dereference:\n\nstatic int ext4_mb_mark_diskspace_used\n{\n\t...\n\tif (!bitmap_bh)\n\t\tgoto out_err;\n\t...\nout_err:\n\tsb-\u003es_dirt \u003d 1;\n\tput_bh(bitmap_bh);\n\t...\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "b8356c465b42c162f34b5fd4102a6c27cec36f43",
      "tree": "806034b9694b04341888f7bfcaf118fe73e75b71",
      "parents": [
        "4d605179723a3fb8ba594d9516897426e6629a5b"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "message": "ext4: Don\u0027t set EXTENTS_FL flag for fast symlinks\n\nFor fast symbolic links, the file content is stored in the i_block[]\narray, which is not compatible with the new file extents format.\ne2fsck reports error on such files because EXTENTS_FL is set.\nDon\u0027t set the EXTENTS_FL flag when creating fast symlinks.\n\nIn the case of file migration, skip fast symbolic links.\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1d1fe1ee02b9ac2660995b10e35dd41448fef011",
      "tree": "8961bbe5a36a07dc8ad8c6cd3e973ce0fcde5850",
      "parents": [
        "473043dcee1874aab99f66b0362b344618eb3790"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT4 from using iget() and read_inode()\n\nStop the EXT4 filesystem from using iget() and read_inode().  Replace\next4_read_inode() with ext4_iget(), and call that instead of iget().\next4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\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": "859cb93679929edb88642414bf37789ea263bc47",
      "tree": "3dcc640e2d1fcd7b661336efcd22ef4d3104bb03",
      "parents": [
        "fb01bfdac733f1925561eea52c60072f2fbcdc97"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: cleanup ext[234]_bg_num_gdb()\n\nUse ext[234]_bg_has_super() to remove duplicate code.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.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": "fb01bfdac733f1925561eea52c60072f2fbcdc97",
      "tree": "92e95b0dd90b99f447d14f0598b398cc2eee9d42",
      "parents": [
        "197cd65accc6a274dabcd81f4811ba5d9a4856df"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: remove unused argument for ext[234]_find_goal()\n\nThe argument chain for ext[234]_find_goal() is not used.  This patch removes\nit and fixes comment as well.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "197cd65accc6a274dabcd81f4811ba5d9a4856df",
      "tree": "a41f7b375887c505f8c6a374ad643bb4c1222ed5",
      "parents": [
        "144704e5227362cbd694b0b3c3aa4ac99a0115c9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: use ext[234]_get_group_desc()\n\nUse ext[234]_get_group_desc() to get group descriptor from group number.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "144704e5227362cbd694b0b3c3aa4ac99a0115c9",
      "tree": "d87b081741724d742514e9b91714ee0aa510ed1e",
      "parents": [
        "1eca93f9cafdec4a332ace9b0fc0d3886d430c28"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: fix comment for nonexistent variable\n\nThe comment in ext[234]_new_blocks() describes about \"i\".  But there is no\nlocal variable called \"i\" in that scope.  I guess it has been renamed to\ngroup_no.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b939e3766ec19eb556cb784c2faace253c6e1560",
      "tree": "0e088db3593d032ce9ee7090ae82b8ed213ccb23",
      "parents": [
        "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Use the ext4_ext_actual_len() helper function\n\next4 uses the high bit of the extent length to encode whether the extent\nis intialized or not. The helper function ext4_ext_get_actual_len should\nbe used to get the actual length of the extent.\n\nThis addresses the kernel bug documented here: \n     http://bugzilla.kernel.org/show_bug.cgi?id\u003d9732\n\nkernel BUG at fs/ext4/extents.c:1056!\n....\nCall Trace:\n[\u003cffffffff88366073\u003e] :ext4dev:ext4_ext_get_blocks+0x5ba/0x8c1\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff812748f6\u003e] _spin_unlock+0x17/0x20\n[\u003cffffffff883400a6\u003e] :jbd2:start_this_handle+0x4e0/0x4fe\n[\u003cffffffff88366564\u003e] :ext4dev:ext4_fallocate+0x175/0x39a\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff81056480\u003e] __lock_acquire+0x4e7/0xc4d\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff810a8de7\u003e] sys_fallocate+0xe4/0x10d\n[\u003cffffffff8100c043\u003e] tracesys+0xd5/0xda\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72",
      "tree": "0065fa9b23765b42aed171cc3e070aabb655d9de",
      "parents": [
        "ce40733ce93de402ed629762f0e912d9af187cef"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix uniniatilized extent splitting error\n\nFix bug reported by Dmitry Monakhov caused by lost error code\n\n    Testcase: \n\n    blksize \u003d 0x1000;\n    fd \u003d open(argv[1], O_RDWR|O_CREAT, 0700);\n    unsigned long long sz \u003d 0x10000000UL;\n    /* allocating big blocks chunk */\n    syscall(__NR_fallocate, fd, 0, 0UL, sz)\n\n    /* grab all other available filesystem space */\n    tfd \u003d open(\"tmp\", O_RDWR|O_CREAT|O_DIRECT, 0700);\n    while( write(tfd, buf, 4096) \u003e 0); /* loop untill ENOSPC */\n    fsync(fd); /* just in case */\n    while (pos \u003c sz) {\n    \t/* each seek+ write operation result in splits uninitialized extent\n    \tin three extents. Splitting may result in new extent allocation\n    \twhich probably will fail because of ENOSPC*/\n\n    \tlseek(fd, blksize*2 -1, SEEK_CUR);\n    \tif ((ret \u003d write(fd, \u0027a\u0027, 1)) !\u003d 1)\n    \t\texit(1);\n    \tpos +\u003d blksize * 2;\n    }\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ce40733ce93de402ed629762f0e912d9af187cef",
      "tree": "b52c78ac15120151ea688550ba4f6ce619d471c0",
      "parents": [
        "cb45bbe44b09f35bb12d67ffa7ecff862608aeae"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Check for return value from sb_set_blocksize\n\nsb_set_blocksize validates whether the specfied block size can be used by\nthe file system. Make sure we fail mounting the file system if the\nblocksize specfied cannot be used.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "cb45bbe44b09f35bb12d67ffa7ecff862608aeae",
      "tree": "4b5a7f95772fcab8d1caac6171a06c970189f3e2",
      "parents": [
        "3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add stripe\u003d option to /proc/mounts\nAdd stripe\u003d option to /proc/mounts for ext4 filesystems.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1",
      "tree": "4b985bdd423deaea51688857320c1a53a4e61999",
      "parents": [
        "c9de560ded61faa5b754137b7753da252391c55a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Enable the multiblock allocator by default\n\nEnable the multiblock allocator by default.\n\nFix ext4_show_options() so if it is not enabled, the nomballoc option\nincluded in /proc/mounts.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c9de560ded61faa5b754137b7753da252391c55a",
      "tree": "2c4311377c4aa72450e27f531e198fe3e1c67db0",
      "parents": [
        "1988b51e476bd097d910c9245b53f2e38aedaf0d"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "message": "ext4: Add multi block allocator for ext4\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1988b51e476bd097d910c9245b53f2e38aedaf0d",
      "tree": "a36b860ac1a49b359d6dc5fd7af9916cf034cac8",
      "parents": [
        "aa02ad67d9b308290fde390682cd039b29f7ab85"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add new functions for searching extent tree\n\nAdd the functions ext4_ext_search_left() and ext4_ext_search_right(),\nwhich are used by mballoc during ext4_ext_get_blocks to decided whether\nto merge extent information.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Johann Lombardi \u003cjohann@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c549a95d40efd83fc054785dd1634e8b71fba890",
      "tree": "3d4623829ceb02b34f1e8a110eb2b8d741db8b14",
      "parents": [
        "aa22df2cc84011808ad7227437ac8f0e01030480"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix up EXT4FS_DEBUG builds\n\nBuilds with EXT4FS_DEBUG defined (to enable ext4_debug()) fail\nwithout these changes.  Clean up some format warnings too.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "aa22df2cc84011808ad7227437ac8f0e01030480",
      "tree": "19dc3172d07ee2fb776ec4e811b4e50e910fc058",
      "parents": [
        "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Fix ext4_show_options to show the correct mount options.\n\nWe need to look at the default value and make sure\nthe mount options are not set via default value\nbefore showing them via ext4_show_options\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e",
      "tree": "6ca056c1cff1103739170d7a19c66a9966c59eb2",
      "parents": [
        "25ec56b518257a56d2ff41a941d288e4b5ff9488"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add EXT4_IOC_MIGRATE ioctl\n\nThe below patch add ioctl for migrating ext3 indirect block mapped inode\nto ext4 extent mapped inode.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "25ec56b518257a56d2ff41a941d288e4b5ff9488",
      "tree": "77e84d38a5ad242f9d73a006f009649f223378f1",
      "parents": [
        "7a224228ed79d587ece2304869000aad1b8e97dd"
      ],
      "author": {
        "name": "Jean Noel Cordenner",
        "email": "jean-noel.cordenner@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add inode version support in ext4\n\nThis patch adds 64-bit inode version support to ext4. The lower 32 bits\nare stored in the osd1.linux1.l_i_version field while the high 32 bits\nare stored in the i_version_hi field newly created in the ext4_inode.\nThis field is incremented in case the ext4_inode is large enough. A\ni_version mount option has been added to enable the feature.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\u003e\n"
    },
    {
      "commit": "818d276ceb83aa9fdebb5e0a53188290312de987",
      "tree": "de3fb4ffadd72caea2876c5232ce76cd14b3646e",
      "parents": [
        "8e85fb3f305b24b79c6d9cb7a56d22b062335ad3"
      ],
      "author": {
        "name": "Girish Shilamkar",
        "email": "girish@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add the journal checksum feature\n\nThe journal checksum feature adds two new flags i.e\nJBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM.\n\nJBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the\nchecksum for the blocks described by the descriptor blocks.\nDue to checksums, writing of the commit record no longer needs to be\nsynchronous. Now commit record can be sent to disk without waiting for\ndescriptor blocks to be written to disk. This behavior is controlled\nusing JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be\nable to recover the journal with _ASYNC_COMMIT hence it is made\nincompat.\nThe commit header has been extended to hold the checksum along with the\ntype of the checksum.\n\nFor recovery in pass scan checksums are verified to ensure the sanity\nand completeness(in case of _ASYNC_COMMIT) of every transaction.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Girish Shilamkar \u003cgirish@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "4df3d265bf8f3762e1d77f554ee279c39dedb020",
      "tree": "35d455ac6592750450d9173125b1e5b9b5efe819",
      "parents": [
        "0e855ac8b103ef579052936b59fe7c599ac422a4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:29 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:29 2008 -0500"
      },
      "message": "ext4: Take read lock during overwrite case.\n\nWhen we are overwriting a file and not actually allocating new file system\nblocks we need to take only the read lock on i_data_sem.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0e855ac8b103ef579052936b59fe7c599ac422a4",
      "tree": "ec29f82e1d7bb1987dcadc00497daf69d6955483",
      "parents": [
        "c278bfecebfb1ed67c326ef472660878baa745cd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Convert truncate_mutex to read write semaphore.\n\nWe are currently taking the truncate_mutex for every read. This would have\nperformance impact on large CPU configuration. Convert the lock to read write\nsemaphore and take read lock when we are trying to read the file.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c278bfecebfb1ed67c326ef472660878baa745cd",
      "tree": "7207594cef5bd04ea7333a8321d78aefee01a540",
      "parents": [
        "01f4adc04480a4e0395906d0268c056cf09c39c0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Make ext4_get_blocks_wrap take the truncate_mutex early.\n\nWhen doing a migrate from ext3 to ext4 inode we need to make sure the test\nfor inode type and walking inode data happens inside  lock. To make this\nhappen move truncate_mutex early before checking the i_flags.\n\n\nThis actually should enable us to remove the verify_chain().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "01f4adc04480a4e0395906d0268c056cf09c39c0",
      "tree": "e89bc1364e50329c1a287cb11960a96cd032ff29",
      "parents": [
        "221879c927df05280283a4de6124806c17cc44d4"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: remove unused code from ext4_find_entry()\n\nThe unused code found in ext3_find_entry() is also present (and still\nunused) in the ext4_find_entry() code. This patch removes it.\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "221879c927df05280283a4de6124806c17cc44d4",
      "tree": "c9d1a53dc45c5d7dbe2456cbaee6eb56ed967bb2",
      "parents": [
        "f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Check for the correct error return from\n\next4_ext_get_blocks returns negative values on error. We should\ncheck for  \u003c\u003d 0\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "abcb2947c91130426539f209f7a473a67a1f6663",
      "tree": "4305e34c0a129c1351d9acabd254b0f896617470",
      "parents": [
        "389d1b083c767a360ec84b27a95da06244becec8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap()\nthere are a few bits that should ALWAYS be set.  In particular,\nthe blocks given corresponding to block bitmap, inode bitmap and inode tables.\nValidate the block bitmap against these blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bb4f397a1a7f2330cb173233599aa159f5780f58",
      "tree": "eaa1605d6ddc816479803e98b82e26b8f0afdfb0",
      "parents": [
        "e7c95593001cb96ef5dd121a4523286c574c7133"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Change the default behaviour on error\n\next4 file system was by default ignoring errors and continuing. This\nis not a good default as continuing on error could lead to file system\ncorruption. Change the default to mark the file system\nreadonly. Debian and ubuntu already does this as the default in their\nfstab.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "e7c95593001cb96ef5dd121a4523286c574c7133",
      "tree": "e49d172341611a20e9e5394379801d4e97977a0b",
      "parents": [
        "07620f69eff6671fea6bd382c95709f757e33768"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix oops on corrupted ext4 mount\n\nWhen mounting an ext4 filesystem with corrupted s_first_data_block, things\ncan go very wrong and oops.\n\nBecause blocks_count in ext4_fill_super is a u64, and we must use do_div,\nthe calculation of db_count is done differently than on ext4.  If\nfirst_data_block is corrupted such that it is larger than ext4_blocks_count,\nfor example, then the intermediate blocks_count value may go negative,\nbut sign-extend to a very large value:\n\n        blocks_count \u003d (ext4_blocks_count(es) -\n                        le32_to_cpu(es-\u003es_first_data_block) +\n                        EXT4_BLOCKS_PER_GROUP(sb) - 1);\n\nThis is then assigned to s_groups_count which is an unsigned long:\n\n        sbi-\u003es_groups_count \u003d blocks_count;\n\nThis may result in a value of 0xFFFFFFFF which is then used to compute\ndb_count:\n\n        db_count \u003d (sbi-\u003es_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) /\n                   EXT4_DESC_PER_BLOCK(sb);\n\nand in this case db_count will wind up as 0 because the addition overflows\n32 bits.  This in turn causes the kmalloc for group_desc to be of 0 size:\n\n        sbi-\u003es_group_desc \u003d kmalloc(db_count * sizeof (struct buffer_head *),\n                                    GFP_KERNEL);\n\nand eventually in ext4_check_descriptors, dereferencing\nsbi-\u003es_group_desc[desc_block] will result in a NULL pointer dereference.\n\nThe simplest test seems to be to sanity check s_first_data_block,\nEXT4_BLOCKS_PER_GROUP, and ext4_blocks_count values to be sure\ntheir combination won\u0027t result in a bad intermediate value for\nblocks_count.  We could just check for db_count \u003d\u003d 0, but\ncatching it at the root cause seems like it provides more info.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "07620f69eff6671fea6bd382c95709f757e33768",
      "tree": "347f56eb81222c3ee28b2991e4c3a3ed722ee618",
      "parents": [
        "cb47dce79145d04634156fd18437e1e78af712e4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4/super.c: fix #ifdef\u0027s (CONFIG_EXT4_* -\u003e CONFIG_EXT4DEV_*)\n\nBased on a report by Robert P. J. Day.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "cb47dce79145d04634156fd18437e1e78af712e4",
      "tree": "d43ee74c88b8ea8463cff9741fa0f4f1e9604c0a",
      "parents": [
        "91b51a018d7711b20e9e0bb14c3d790de4e310d4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Return after ext4_error in case of failures\n\nThis fix some instances where we were continuing after calling\next4_error. ext4_error call panic only if errors\u003dpanic mount option is\nset. So we need to make sure we return correctly after ext4_error call\n\nReported by: Adrian Bunk \u003cbunk@kernel.org\u003e\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e2b4657453c0d5571bd3c7256585c486ed42d364",
      "tree": "5b8ab501cdf5fa7427ef32440ace56eac72e9ecf",
      "parents": [
        "19295529db35381d46dbaf246f69b4e3b3393996"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: store maxbytes for bitmapped  files and return EFBIG as appropriate\n\nCalculate \u0026 store the max offset for bitmapped files, and\ncatch too-large seeks, truncates, and writes in ext4, shortening\nor rejecting as appropriate.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "cd2291a463c26f60b18e0d9b1901be236dd7f402",
      "tree": "832f5f030a59c72f62e16292006becaddb630059",
      "parents": [
        "8180a5627d126362c2f64e4fa886d6f608d9632a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: different maxbytes functions for bitmap \u0026 extent\tfiles\n\nuse 2 different maxbytes functions for bitmapped \u0026 extent-based\nfiles.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "8180a5627d126362c2f64e4fa886d6f608d9632a",
      "tree": "1b3a3261f72f8245afdd87088703641c76f60392",
      "parents": [
        "0fc1b451471dfc3cabd6e99ef441df9804616e63"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Support large files\n\nThis patch converts ext4_inode i_blocks to represent total\nblocks occupied by the inode in file system block size.\nEarlier the variable used to represent this in 512 byte\nblock size. This actually limited the total size of the file.\n\nThe feature is enabled transparently when we write an inode\nwhose i_blocks cannot be represnted as 512 byte units in a\n48 bit variable.\n\ninode flag  EXT4_HUGE_FILE_FL\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0fc1b451471dfc3cabd6e99ef441df9804616e63",
      "tree": "b018b6ddc5bb5f02b985b06c11f0c01adb38167a",
      "parents": [
        "a48380f769dfed6163fb82a68b13bd562ea1e027"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add support for 48 bit inode i_blocks.\n\nUse the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode\nto represet the higher 16 bits for i_blocks. With this change max_file\nsize becomes (2**48 -1 )* 512 bytes.\n\nWe add a RO_COMPAT feature to the super block to indicate that inode\nhave i_blocks represented as a split 48 bits. Super block with this\nfeature set cannot be mounted read write on a kernel with CONFIG_LSF\ndisabled.\n\nSuper block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a48380f769dfed6163fb82a68b13bd562ea1e027",
      "tree": "2c898479122b3da5c9531aba4b3629c3e6ecfe9f",
      "parents": [
        "7973c0c19ecba92f113488045005f8e7ce1cd7c8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_dir_acl to i_size_high\n\nRename ext4_inode.i_dir_acl to i_size_high\ndrop ext4_inode_info.i_dir_acl as it is not used\nRename ext4_inode.i_size to ext4_inode.i_size_lo\nAdd helper function for accessing the ext4_inode combined i_size.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7973c0c19ecba92f113488045005f8e7ce1cd7c8",
      "tree": "c02d6f963d53b362265715c74b8189aef29ae808",
      "parents": [
        "1d03ec984ca41ba184822d1101babb3fa3e26c77"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_file_acl to i_file_acl_lo\n\nRename i_file_acl to i_file_acl_lo. This helps\nin finding bugs where we use i_file_acl instead\nof the combined i_file_acl_lo and i_file_acl_high\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1d03ec984ca41ba184822d1101babb3fa3e26c77",
      "tree": "6265c324e4c381d4324c69e1692fe6e6dc44cbbc",
      "parents": [
        "99e6f829a854daa6d56006cad51156e98863e73a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Fix sparse warnings.\n\nFix sparse warnings related to static functions\nand local variables.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "99e6f829a854daa6d56006cad51156e98863e73a",
      "tree": "fff435d898ce3db5492252a241531d4016ba3b65",
      "parents": [
        "2aa9fc4c405467f6afbbb2162ff8afaced47d99b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_update_*_feature\n\nIntroduce ext4_update_*_feature and use them instead\nof opencoding.\n\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2aa9fc4c405467f6afbbb2162ff8afaced47d99b",
      "tree": "49fc3490d5b59af8a409207de2d5faac52ab8c91",
      "parents": [
        "fd2d42912f9f09e5250cb3b024ee0625704e9cb7"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fixes block group number being set to a negative value\n\nThis patch fixes various places where the group number is set to a negative\nvalue.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fd2d42912f9f09e5250cb3b024ee0625704e9cb7",
      "tree": "23e85123e8cc06d518fd7cff665f93429e19e4e2",
      "parents": [
        "bba907433b85ba2adae1bb3b6fd29b4e5f35c468"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: add ext4_group_t, and change all group variables to this type.\n\nIn many places variables for block group are of type int, which limits the\nmaximum number of block groups to 2^31.  Each block group can have up to\n2^15 blocks, with a 4K block size,  and the max filesystem size is limited to\n2^31 * (2^15 * 2^12) \u003d 2^58  -- or 256 PB\n\nThis patch introduces a new type ext4_group_t, of type unsigned long, to\nrepresent block group numbers in ext4.\nAll occurrences of block group variables are converted to type ext4_group_t.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\n"
    },
    {
      "commit": "bba907433b85ba2adae1bb3b6fd29b4e5f35c468",
      "tree": "e542fa7aa0d8ec783be83a895a02d6e26af9fbf6",
      "parents": [
        "725d26d3f09ccb5bac4b4293096b985a312a0d67"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4 extents: remove unneeded casts\n\nThere are many casts in extents.c which are not needed,\nas the variables are already the type of the cast, or\nare being promoted for no particular reason in printk\u0027s.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "725d26d3f09ccb5bac4b4293096b985a312a0d67",
      "tree": "1c49a07da252832fc6842c88a2359e8cd43af636",
      "parents": [
        "a72d7f834e1afa08421938d7eb06bd8e56b0e58c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_lblk_t\n\nThis patch adds a new data type ext4_lblk_t to represent\nthe logical file blocks.\n\nThis is the preparatory patch to support large files in ext4\nThe follow up patch with convert the ext4_inode i_blocks to\nrepresent the number of blocks in file system block size. This\nchanges makes it possible to have a block number 2**32 -1 which\nwill result in overflow if the block number is represented by\nsigned long. This patch convert all the block number to type\next4_lblk_t which is typedef to __u32\n\nAlso remove dead code ext4_ext_walk_space\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "a72d7f834e1afa08421938d7eb06bd8e56b0e58c",
      "tree": "21c6fbbf4187fa8ba56878ea2d5e576e123e1f95",
      "parents": [
        "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Avoid rec_len overflow with 64KB block size\n\nWith 64KB blocksize, a directory entry can have size 64KB which does not fit\ninto 16 bits we have for entry lenght. So we store 0xffff instead and convert\nvalue when read from / written to disk. The patch also converts some places\nto use ext4_next_entry() when we are changing them anyway.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670",
      "tree": "90e6daf4a3f41433221d9cb8d7ce909cde0d62d1",
      "parents": [
        "8561b089afbaed2651591e5a4574fdca451d82f2"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "sho@tnes.nec.co.jp",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Support large blocksize up to PAGESIZE\n\nThis patch set supports large block size(\u003e4k, \u003c\u003d64k) in ext4,\njust enlarging the block size limit. But it is NOT possible to have 64kB\nblocksize on ext4 without some changes to the directory handling\ncode.  The reason is that an empty 64kB directory block would have a\nrec_len \u003d\u003d (__u16)2^16 \u003d\u003d 0, and this would cause an error to be hit in\nthe filesystem.  The proposed solution is treat 64k rec_len\nwith a an impossible value like rec_len \u003d 0xffff to handle this.\n\nThe Patch-set consists of the following 2 patches.\n  [1/2]  ext4: enlarge blocksize\n         - Allow blocksize up to pagesize\n\n  [2/2]  ext4: 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 ext4dev, 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\n"
    },
    {
      "commit": "b47b6f38e5202c924bfe7632dce5dda4e3d40731",
      "tree": "b9dfeb426adc7125ac7828d5b646d893163314c6",
      "parents": [
        "9e2de407bec98fb07040f658f55fb71ba1b594f5"
      ],
      "author": {
        "name": "Andries E. Brouwer",
        "email": "Andries.Brouwer@cwi.nl",
        "time": "Mon Dec 17 16:19:55 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:16 2007 -0800"
      },
      "message": "ext3, ext4: avoid divide by zero\n\nAs it turns out, the kernel divides by EXT3_INODES_PER_GROUP(s) when\nmounting an ext3 filesystem.  If that number is zero, a crash follows.\nBelow a patch.\n\nThis crash was reported by Joeri de Ruiter, Carst Tankink and Pim Vullers.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e47776a0a41a14a5634633c96e590827f552c4b5",
      "tree": "44d5168b83fb1d8d72668728c690116d34f6711f",
      "parents": [
        "28822f22e18fc3c422f64b5bf0bb1e6c306af634"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 14 16:58:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:38 2007 -0800"
      },
      "message": "Forbid user to change file flags on quota files\n\nForbid user from changing file flags on quota files.  User has no bussiness\nin playing with these flags when quota is on.  Furthermore there is a\nremote possibility of deadlock due to a lock inversion between quota file\u0027s\ni_mutex and transaction\u0027s start (i_mutex for quota file is locked only when\ntrasaction is started in quota operations) in ext3 and ext4.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: LIOU Payphone \u003clioupayphone@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b832a4b93932103d73c0c3f35ef1153e288327b",
      "tree": "77ca1ff445287685dbebf448fdf172d3f951ed89",
      "parents": [
        "325d22df7b19e0116aff3391d3a03f73d0634ded"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Nov 13 08:07:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Nov 13 08:09:11 2007 -0800"
      },
      "message": "Revert \"ext2/ext3/ext4: add block bitmap validation\"\n\nThis reverts commit 7c9e69faa28027913ee059c285a5ea8382e24b5d, fixing up\nconflicts in fs/ext4/balloc.c manually.\n\nThe cost of doing the bitmap validation on each lookup - even when the\nbitmap is cached - is absolutely prohibitive.  We could, and probably\nshould, do it only when adding the bitmap to the buffer cache.  However,\nright now we are better off just reverting it.\n\nPeter Zijlstra measured the cost of this extra validation as a 85%\ndecrease in cached iozone, and while I had a patch that took it down to\njust 17% by not being _quite_ so stupid in the validation, it was still\na big slowdown that could have been avoided by just doing it right.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Aneesh Kumar \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39655164405940d4818224a085e35420e2f97aed",
      "tree": "6b019b3bc77eecac1731fe64e5c031790c2b5223",
      "parents": [
        "cfaea787c05822acbb4d8963baee5edd1cc0258f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: make struct export_operations const\n\nNow that nfsd has stopped writing to the find_exported_dentry member we an\nmark the export_operations const\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b961ac05a1624ac2883ec31a3601de7eb30ebdd",
      "tree": "06ecfcb552d7610ac45e4c770c64625432a48d78",
      "parents": [
        "74af0baad4fd44cc4412cc210d6d9b6fdf7be8da"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:20 2007 -0700"
      },
      "message": "ext4: new export ops\n\nTrivial switch over to the new generic helpers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "149041070deb2e83cd36dc60bc72975b3cbf5bbe",
      "tree": "8691039d34be263f28f9e0845bb555737033efad",
      "parents": [
        "5b615287b37c32dc0c9dbeab13b19ac87828a5f7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:04 2007 -0400"
      },
      "message": "ext4: lighten up resize transaction requirements\n\nWhen resizing online, setup_new_group_blocks attempts to reserve a\npotentially very large transaction, depending on the current filesystem\ngeometry.  For some journal sizes, there may not be enough room for this\ntransaction, and the online resize will fail.\n\nThe patch below resizes \u0026 restarts the transaction as necessary while\nsetting up the new group, and should work with even the smallest journal.\n\nTested with something like:\n\n[root@newbox ~]# dd if\u003d/dev/zero of\u003dfsfile bs\u003d1024 count\u003d32768\n[root@newbox ~]# mkfs.ext3 -b 1024 fsfile 16384\n[root@newbox ~]# mount -o loop fsfile mnt/\n[root@newbox ~]# resize2fs /dev/loop0\nresize2fs 1.40.2 (12-Jul-2007)\nFilesystem at /dev/loop0 is mounted on /root/mnt; on-line resizing required\nold desc_blocks \u003d 1, new_desc_blocks \u003d 1\nPerforming an on-line resize of /dev/loop0 to 32768 (1k) blocks.\nresize2fs: No space left on device While trying to add group #2\n[root@newbox ~]# dmesg | tail -n 1\nJBD: resize2fs wants too many credits (258 \u003e 256)\n[root@newbox ~]#\n\nWith the below change, it works.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\n"
    },
    {
      "commit": "5b615287b37c32dc0c9dbeab13b19ac87828a5f7",
      "tree": "ebfcf41b38dcfafa223a363efcad09762871ea1f",
      "parents": [
        "ac39849ddc19c0bbb39068497139ac45bccd4321"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:04 2007 -0400"
      },
      "message": "ext4: fix setup_new_group_blocks locking\n\nsetup_new_group_blocks() manipulates the group descriptor block bh\nunder the block_bitmap bh\u0027s lock.  It shouldn\u0027t matter since nobody\nbut resize should be touching these blocks, but it\u0027s worth fixing up.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "ac39849ddc19c0bbb39068497139ac45bccd4321",
      "tree": "b5a6a17f1cd9c98374b91feafcf554bf5197c44d",
      "parents": [
        "d8dd0b45438d62fc4a93d8e3cee9985710d01e40"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: sparse fixes\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d8dd0b45438d62fc4a93d8e3cee9985710d01e40",
      "tree": "78582128460ab1a05b7feecbd9c3ccbdbbd86ea8",
      "parents": [
        "b377611d11aba5251264b487dd4485ddb80260f1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: Convert ext4_extent_idx.ei_leaf to ext4_extent_idx.ei_leaf_lo\n\nConvert ext4_extent_idx.ei_leaf  ext4_extent_idx.ei_leaf_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 48 bit values.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b377611d11aba5251264b487dd4485ddb80260f1",
      "tree": "a92c547ee2e426dacfb7248c146ae7a974d55544",
      "parents": [
        "308ba3ece7db82e8b8d32d6962e4d12e09c5aa41"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: Convert ext4_extent.ee_start to ext4_extent.ee_start_lo\n\nConvert ext4_extent.ee_start to ext4_extent.ee_start_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 48 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "308ba3ece7db82e8b8d32d6962e4d12e09c5aa41",
      "tree": "988a6a40329b2f22738560b2d56ca85f525cdee4",
      "parents": [
        "6bc9feff14a2524c4bb2bac533dfd874b1533e20"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert s_r_blocks_count and s_free_blocks_count\n\nConvert s_r_blocks_count and s_free_blocks_count to\ns_r_blocks_count_lo and s_free_blocks_count_lo\n\nThis helps in finding BUGs due to direct partial access of\nthese split 64 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6bc9feff14a2524c4bb2bac533dfd874b1533e20",
      "tree": "2ac4775b1c165e4d02eb4c678e213563b87ad727",
      "parents": [
        "5272f8372786a181313c00c7a67304ac6def2e34"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert s_blocks_count to s_blocks_count_lo\n\nConvert s_blocks_count to s_blocks_count_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 64 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5272f8372786a181313c00c7a67304ac6def2e34",
      "tree": "d410591f49209a5a6ae4f04152fb91d1556c946a",
      "parents": [
        "3a14589cceea4c5d2d4de0369ee10b0fb627b107"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert bg_inode_bitmap and bg_inode_table\n\nConvert bg_inode_bitmap and bg_inode_table to bg_inode_bitmap_lo\nand bg_inode_table_lo.  This helps in finding BUGs due to\ndirect partial access of these split 64 bit values\n\nAlso fix one direct partial access\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a14589cceea4c5d2d4de0369ee10b0fb627b107",
      "tree": "ff7125b54a041a722c6b99adf5af2ffeb44ef19d",
      "parents": [
        "ce421581794f6593830b056969ad7536ab929b2f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: Convert bg_block_bitmap to bg_block_bitmap_lo\n\nConvert bg_block_bitmap to bg_block_bitmap_lo\nThis helps in catching some BUGS due to direct\npartial access of these split fields.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ce421581794f6593830b056969ad7536ab929b2f",
      "tree": "f1b225ae41dbd64f9e6e931ee5454842c6b272ba",
      "parents": [
        "c1bddad9491b3941f7ae27eeee1e4f4822fb3169"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: FLEX_BG Kernel support v2.\n\nThis feature relaxes check restrictions on where each block groups meta\ndata is located within the storage media.  This allows for the allocation\nof bitmaps or inode tables outside the block group boundaries in cases\nwhere bad blocks forces us to look for new blocks which the owning block\ngroup can not satisfy.  This will also allow for new meta-data allocation\nschemes to improve performance and scalability.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1bddad9491b3941f7ae27eeee1e4f4822fb3169",
      "tree": "60f5da7d44b8785f49178d2e48fd84cbd8107102",
      "parents": [
        "717d50e4971b81b96c0199c91cdf0039a8cb181a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: Fix sparse warnings\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717d50e4971b81b96c0199c91cdf0039a8cb181a",
      "tree": "a8d68edbc1f064c76cbfee206e093d2c86c80ba0",
      "parents": [
        "4074fe3736b1a43431dff870bf9055ac5dcf3f03"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:00 2007 -0400"
      },
      "message": "Ext4: Uninitialized Block Groups\n\nIn pass1 of e2fsck, every inode table in the fileystem is scanned and checked,\nregardless of whether it is in use.  This is this the most time consuming part\nof the filesystem check.  The unintialized block group feature can greatly\nreduce e2fsck time by eliminating checking of uninitialized inodes.\n\nWith this feature, there is a a high water mark of used inodes for each block\ngroup.  Block and inode bitmaps can be uninitialized on disk via a flag in the\ngroup descriptor to avoid reading or scanning them at e2fsck time.  A checksum\nof each group descriptor is used to ensure that corruption in the group\ndescriptor\u0027s bit flags does not cause incorrect operation.\n\nThe feature is enabled through a mkfs option\n\n\tmke2fs /dev/ -O uninit_groups\n\nA patch adding support for uninitialized block groups to e2fsprogs tools has\nbeen posted to the linux-ext4 mailing list.\n\nThe patches have been stress tested with fsstress and fsx.  In performance\ntests testing e2fsck time, we have seen that e2fsck time on ext3 grows\nlinearly with the total number of inodes in the filesytem.  In ext4 with the\nuninitialized block groups feature, the e2fsck time is constant, based\nsolely on the number of used inodes rather than the total inode count.\nSince typical ext4 filesystems only use 1-10% of their inodes, this feature can\ngreatly reduce e2fsck time for users.  With performance improvement of 2-20\ntimes, depending on how full the filesystem is.\n\nThe attached graph shows the major improvements in e2fsck times in filesystems\nwith a large total inode count, but few inodes in use.\n\nIn each group descriptor if we have\n\nEXT4_BG_INODE_UNINIT set in bg_flags:\n        Inode table is not initialized/used in this group. So we can skip\n        the consistency check during fsck.\nEXT4_BG_BLOCK_UNINIT set in bg_flags:\n        No block in the group is used. So we can skip the block bitmap\n        verification for this group.\n\nWe also add two new fields to group descriptor as a part of\nuninitialized group patch.\n\n        __le16  bg_itable_unused;       /* Unused inodes count */\n        __le16  bg_checksum;            /* crc16(sb_uuid+group+desc) */\n\nbg_itable_unused:\n\nIf we have EXT4_BG_INODE_UNINIT not set in bg_flags\nthen bg_itable_unused will give the offset within\nthe inode table till the inodes are used. This can be\nused by fsck to skip list of inodes that are marked unused.\n\nbg_checksum:\nNow that we depend on bg_flags and bg_itable_unused to determine\nthe block and inode usage, we need to make sure group descriptor\nis not corrupt. We add checksum to group descriptor to\ndetect corruption. If the descriptor is found to be corrupt, we\nmark all the blocks and inodes in the group used.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4074fe3736b1a43431dff870bf9055ac5dcf3f03",
      "tree": "bd33adb6b06eef7f7405addac686ae170750903d",
      "parents": [
        "f077d0d7ea5d65d01f2ce2e7131e964c13a32433"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:00 2007 -0400"
      },
      "message": "ext4: remove #ifdef CONFIG_EXT4_INDEX\n\nCONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is\nunconditionally defined in ext4_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\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f077d0d7ea5d65d01f2ce2e7131e964c13a32433",
      "tree": "17022250e65dd332ea6da88e70df7df3f27725dc",
      "parents": [
        "6f38c74f5a01c7bccf58f9d7ee47ea24fb45752f"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:59 2007 -0400"
      },
      "message": "ext4: Remove (partial, never completed) fragment support\n\nFragment support in ext2/3/4 was never implemented, and it probably will\nnever be implemented.   So remove it from ext4.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cd02ff0b14b7e27cbdfd7ff2814b08199a2b7168",
      "tree": "fd9158bb92d086838a1b81b549243f3cdc23a7b8",
      "parents": [
        "d802ffa8850f2a80d141457d7221809182ed8c9f"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:58 2007 -0400"
      },
      "message": "jbd2: JBD_XXX to JBD2_XXX naming cleanup\n\nchange JBD_XXX macros to JBD2_XXX in JBD2/Ext4\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d802ffa8850f2a80d141457d7221809182ed8c9f",
      "tree": "e5a3e9974f0242658ae41391990a28178cc42495",
      "parents": [
        "2d917969bc8dbde45900f5cbc2558e2cf1f8ec32"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:57 2007 -0400"
      },
      "message": "JBD2/Ext4: Convert kmalloc to kzalloc in jbd2/ext4\n\nConvert kmalloc to kzalloc() and get rid of the memset().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b47c3611de05c585e2d81204f6c7e3e255a3461",
      "tree": "24a14614fb9bf507b4b6ad3fa6a7cfa5a92318fb",
      "parents": [
        "41d10da3717409de33d5441f2f6d8f072ab3fbb6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Oct 16 23:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Fix f_version type: should be u64 instead of unsigned long\n\nFix f_version type: should be u64 instead of long\n\nThere is a type inconsistency between struct inode i_version and struct file\nf_version.\n\nfs.h:\n\nstruct inode\n  u64                     i_version;\n\nand\n\nstruct file\n  unsigned long           f_version;\n\nUsers do:\n\nfs/ext3/dir.c:\n\nif (filp-\u003ef_version !\u003d inode-\u003ei_version) {\n\nSo why isn\u0027t f_version a u64 ? It becomes a problem if versions gets\nhigher than 2^32 and we are on an architecture where longs are 32 bits.\n\nThis patch changes the f_version type to u64, and updates the users accordingly.\n\nIt applies to 2.6.23-rc2-mm2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8ea6cf89991000ae458e34e36379814cf202555",
      "tree": "267324741b51696f4e5642ff4f53746cee78e4cc",
      "parents": [
        "3befe7ceb8d39a56a9ea55dd2da8b4bd9ddcdd36"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Tue Oct 16 23:27:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "ext2/4: use is_power_of_2()\n\nReplace n \u0026 (n - 1) with is_power_of_2(n)\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.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": "7c9e69faa28027913ee059c285a5ea8382e24b5d",
      "tree": "951e6e780da734c61337eb8fef23ac3ad68b1e18",
      "parents": [
        "82df39738ba9e02c057fa99b7461a56117d36119"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 23:27:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:52 2007 -0700"
      },
      "message": "ext2/ext3/ext4: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap() there are\na few bits that should ALWAYS be set.  In particular, the blocks given by\next4_blk_bitmap, ext4_inode_bitmap and ext4_inode_table.  Validate the\nblock bitmap against these blocks.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2fb67989d30fea475bb01c5b7ca44adbce5dea",
      "tree": "295e6be829b658f198fd2331c02a0477bf7fd245",
      "parents": [
        "74bf17cffc32511c7c6d70fe7f376b92662e186e"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 23:26:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "remove unused bh in calls to ext234_get_group_desc\n\next[234]_get_group_desc never tests the bh argument, and only sets it if it\nis passed in; it is perfectly happy with a NULL bh argument.  But, many\ncallers send one in and never use it.  May as well call with NULL like\nother callers who don\u0027t use the bh.\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": "d9c9bef1345e5d9258febce2a37e4d40319fa728",
      "tree": "cf2d2539011d914fdf33355bb2f3eac1c29a2fdc",
      "parents": [
        "571beed8d698e20392e525ed7f360410e40d12e8"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:26:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "ext4: show all mount options\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@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": "e57aa839cea13852e07ecb495692b602b11136c9",
      "tree": "5296984f012e1483519f87af55c617fcbf186073",
      "parents": [
        "bf020cb7b3918e186309db21d75cb91ebafc9d6f"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@gmail.com",
        "time": "Tue Oct 16 23:26:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "convert ill defined log2() to ilog2()\n\nIt\u0027s *wrong* to have\n\t\t\t#define log2(n) ffz(~(n))\nIt should be *reversed*:\n\t\t\t#define log2(n) flz(~(n))\nor\n\t\t\t#define log2(n) fls(n)\nor just use\n\t\t\tilog2(n) defined in linux/log2.h.\n\nThis patch follows the last solution, recommended by Andrew Morton.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Chris Ahna \u003cchristopher.j.ahna@intel.com\u003e\nCc: David Mosberger-Tang \u003cdavidm@hpl.hp.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "febfcf9115917ba80931dbf9f36d8d413698b628",
      "tree": "64a690982354475f4e53c0cb89083e1bfa5231f8",
      "parents": [
        "55ca3e796d452d1fd213846ae6ce8bc4d37b54cc"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Oct 16 23:26:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "fs: mark nibblemap const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-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": "833f4077bf7c2dcff6e31526e03ec2ad91c88581",
      "tree": "80916540be846267342c3e5e4a6255c2c18b44d5",
      "parents": [
        "bf1d89c81352f6eca72d0c10cfee3dba29ef5efb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_init error handling\n\nalloc_percpu can fail, propagate that error.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52d9f3b4090922f34497ace82bd062d80a465a29",
      "tree": "77ee238498a5b205fa80e58b41212a9e3334c8bf",
      "parents": [
        "3a587f47b82f96f19318c036e7b979fcd5c3848f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_sum_positive\n\n s/percpu_counter_sum/\u0026_positive/\n\nBecause its consitent with percpu_counter_read*\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cb4f9fa0c5f3ded9f70f85b70ee6d429834f911",
      "tree": "d1f45445fa98bd41a2f8986781f7c62b470a6b8d",
      "parents": [
        "aa0dff2d09bfa50b7d02714a45920c64568e699d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_sub\n\nHugh spotted that some code does:\n  percpu_counter_add(\u0026counter, -unsignedlong)\n\nwhich, when the amount argument is of type s32, sort-of works thanks to\ntwo\u0027s-complement. However when we\u0027d change the type to s64 this breaks on 32bit\nmachines, because the promotion rules zero extend the unsigned number.\n\nProvide percpu_counter_sub() to hide the s64 cast. That is:\n  percpu_counter_sub(\u0026counter, foo)\nis equal to:\n  percpu_counter_add(\u0026counter, -(s64)foo);\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0dff2d09bfa50b7d02714a45920c64568e699d",
      "tree": "ef94abad6a7c82da3ef9ecfb296d9bc1d3d4efb6",
      "parents": [
        "c4dc4beed23827e155d7cbc2a1ffa3949eddd194"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_add\n\n s/percpu_counter_mod/percpu_counter_add/\n\nBecause its a better name, _mod implies modulo.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfc1af650a8f36feba6b90a6c398325f885c00bc",
      "tree": "c7db5bbfad01d2c18533e7a128027e26d1992a42",
      "parents": [
        "f4fc66a894546bdc88a775d0e83ad20a65210bcb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "ext4: convert to new aops\n\nConvert ext4 to use write_begin()/write_end() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@sw.ru\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4e6b498d6e06742d72706ef50593a9c4dd72214",
      "tree": "74a573302b2ea086c0d21907175be604f110f5b1",
      "parents": [
        "0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: combine file_ra_state.prev_index/prev_offset into prev_pos\n\nCombine the file_ra_state members\n\t\t\t\tunsigned long prev_index\n\t\t\t\tunsigned int prev_offset\ninto\n\t\t\t\tloff_t prev_pos\n\nIt is more consistent and better supports huge files.\n\nThanks to Peter for the nice proposal!\n\n[akpm@linux-foundation.org: fix shift overflow]\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2b02d3e617cb0400eedf2668f86215e1b0e6af",
      "tree": "d6d65ea9ad201645dab91383dc6e0928c2069024",
      "parents": [
        "e42601973b1bce1d2987f82159c1ebeaccc6b310"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Sep 18 22:46:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "ext34: ensure do_split leaves enough free space in both blocks\n\nThe do_split() function for htree dir blocks is intended to split a leaf\nblock to make room for a new entry.  It sorts the entries in the original\nblock by hash value, then moves the last half of the entries to the new\nblock - without accounting for how much space this actually moves.  (IOW,\nit moves half of the entry *count* not half of the entry *space*).  If by\nchance we have both large \u0026 small entries, and we move only the smallest\nentries, and we have a large new entry to insert, we may not have created\nenough space for it.\n\nThe patch below stores each record size when calculating the dx_map, and\nthen walks the hash-sorted dx_map, calculating how many entries must be\nmoved to more evenly split the existing entries between the old block and\nthe new block, guaranteeing enough space for the new entry.\n\nThe dx_map \"offs\" member is reduced to u16 so that the overall map size\ndoes not change - it is temporarily stored at the end of the new block, and\nif it grows too large it may be overwritten.  By making offs and size both\nu16, we won\u0027t grow the map size.\n\nAlso add a few comments to the functions involved.\n\nThis fixes the testcase reported by hooanon05@yahoo.co.jp on the\nlinux-ext4 list, \"ext3 dir_index causes an error\"\n\nThanks to Andreas Dilger for discussing the problem \u0026 solution with me.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nTested-by: Junjiro Okajima \u003chooanon05@yahoo.co.jp\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d82abae9523c33d4a16fdfdfd2bdde316d7b56a",
      "tree": "e0059b667ac7ef765814a2ee9587f9e89015b387",
      "parents": [
        "e67aa27a6179c287983c6c525beb5320f5cd1672"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Sep 18 22:46:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "dir_index: error out instead of BUG on corrupt dx dirs\n\nConvert asserts (BUGs) in dx_probe from bad on-disk data to recoverable\nerrors with helpful warnings.  With help catching other asserts from Duane\nGriffin \u003cduaneg@dghda.com\u003e\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c3013e9b91ad23ecae88e45405e98208cce455d",
      "tree": "2f18bb2d539727e2d9228a3d02a2e8810aa2ac3d",
      "parents": [
        "af7b83f9324a77ef9a9080044bf0461f444ca651"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 11 15:23:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:19 2007 -0700"
      },
      "message": "quota: fix infinite loop\n\nIf we fail to start a transaction when releasing dquot, we have to call\ndquot_release() anyway to mark dquot structure as inactive.  Otherwise we\nend in an infinite loop inside dqput().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: xb \u003cxavier.bru@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd54567a83057821a667109a5cadec6eed0295de",
      "tree": "88e06af13f4ba9db1fb61b2ebb5453e80ccd14c5",
      "parents": [
        "6676ae62822f189e7bca80526eca514c399adcfc"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Jul 31 00:37:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:37 2007 -0700"
      },
      "message": "\"ext4_ext_put_in_cache\" uses __u32 to receive physical block number\n\nYan Zheng wrote:\n\n\u003e I think I found a bug in ext4/extents.c, \"ext4_ext_put_in_cache\" uses\n\u003e \"__u32\" to receive physical block number.  \"ext4_ext_put_in_cache\" is\n\u003e used in \"ext4_ext_get_blocks\", it sets ext4 inode\u0027s extent cache\n\u003e according most recently tree lookup (higher 16 bits of saved physical\n\u003e block number are always zero). when serving a mapping request,\n\u003e \"ext4_ext_get_blocks\" first check whether the logical block is in\n\u003e inode\u0027s extent cache. if the logical block is in the cache and the\n\u003e cached region isn\u0027t a gap, \"ext4_ext_get_blocks\" gets physical block\n\u003e number by using cached region\u0027s physical block number and offset in\n\u003e the cached region.  as described above, \"ext4_ext_get_blocks\" may\n\u003e return wrong result when there are physical block numbers bigger than\n\u003e 0xffffffff.\n\u003e\n\nYou are right.  Thanks for reporting this!\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Yan Zheng \u003cyanzheng@21cn.com\u003e\nCc: \u003cstable@kernel.org\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": "780dcdb21170ae8ad3faa640ede249261f216a8c",
      "tree": "c452df9f27ff6e1df8498f7b53763ef31279b3d0",
      "parents": [
        "98ac0e53facc851f8bc5110039ab05005c0c4736"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 26 10:41:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "fix inode_table test in ext234_check_descriptors\n\next[234]_check_descriptors sanity checks block group descriptor geometry at\nmount time, testing whether the block bitmap, inode bitmap, and inode table\nreside wholly within the blockgroup.  However, the inode table test is off\nby one so that if the last block in the inode table resides on the last\nblock of the block group, the test incorrectly fails.  This is because it\ntests the last block as (start + length) rather than (start + length - 1).\n\nThis can be seen by trying to mount a filesystem made such as:\n\n mkfs.ext2 -F -b 1024 -m 0 -g 256 -N 3744 fsfile 1024\n\nwhich yields:\n\n EXT2-fs error (device loop0): ext2_check_descriptors: Inode table for group 0 not in group (block 101)!\n EXT2-fs: group descriptors corrupted!\n\nThere is a similar bug in e2fsprogs, patch already sent for that.\n\n(I wonder if inside(), outside(), and/or in_range() should someday be\nused in this and other tests throughout the ext filesystems...)\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": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "b38bd33a6bf5095736620ca8e85fe61820c2d312",
      "tree": "86ba1d0c28dedc87ced6d1f06c7a80d944650559",
      "parents": [
        "f0a594c1c74fedbd838402e7372030311be8cc6e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Thu Jul 19 01:48:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "fix ext4/JBD2 build warnings\n\nLooking at the current linus-git tree jbd_debug() define in\ninclude/linux/jbd2.h\n\nextern u8 journal_enable_debug;\n\n#define jbd_debug(n, f, a...)                                           \\\n        do {                                                            \\\n                if ((n) \u003c\u003d journal_enable_debug) {                      \\\n                        printk (KERN_DEBUG \"(%s, %d): %s: \",            \\\n                                __FILE__, __LINE__, __FUNCTION__);      \\\n                        printk (f, ## a);                               \\\n                }                                                       \\\n        } while (0)\n\u003e fs/ext4/inode.c: In function âext4_write_inodeâ:\n\u003e fs/ext4/inode.c:2906: warning: comparison is always true due to limited\n\u003e range of data type\n\u003e\n\u003e fs/jbd2/recovery.c: In function âjbd2_journal_recoverâ:\n\u003e fs/jbd2/recovery.c:254: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e fs/jbd2/recovery.c:257: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e\n\u003e fs/jbd2/recovery.c: In function âjbd2_journal_skip_recoveryâ:\n\u003e fs/jbd2/recovery.c:301: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e\nNoticed all warnings are occurs when the debug level is 0. Then found\nthe \"jbd2: Move jbd2-debug file to debugfs\" patch\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003d0f49d5d019afa4e94253bfc92f0daca3badb990b\n\nchanged the jbd2_journal_enable_debug from int type to u8, makes the\njbd_debug comparision is always true when the debugging level is 0. Thus\nthe compile warning occurs.\n\nThought about changing the jbd2_journal_enable_debug data type back to\nint, but can\u0027t, because the jbd2-debug is moved to debug fs, where\ncalling debugfs_create_u8() to create the debugfs entry needs the value\nto be u8 type.\n\nEven if we changed the data type back to int, the code is still buggy,\nkernel should not print jbd2 debug message if the\njbd2_journal_enable_debug is set to 0. But this is not the case.\n\nThe fix is change the level of debugging to 1. The same should fixed in\next3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we\nprobably should fix it all together.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d",
      "tree": "baf7e79de006ca80eac426d2d1be4c52f5f19624",
      "parents": [
        "fe3cba17c49471e99d3421e675fc8b3deaaf0b70"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: split ondemand readahead interface into two functions\n\nSplit ondemand readahead interface into two functions.  I think this makes it\na little clearer for non-readahead experts (like Rusty).\n\nInternally they both call ondemand_readahead(), but the page argument is\nchanged to an obvious boolean flag.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc7868fcb9a73990e6f30371c1be465c436a7a7f",
      "tree": "21dfd3e625bb4a9f78a7795f0a5b110c3dd8843e",
      "parents": [
        "a08a166fe77d9f9ad88ed6d06b97e73453661f89"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: convert ext3/ext4 invocations\n\nConvert ext3/ext4 dir reads to use on-demand readahead.\n\nReadahead for dirs operates _not_ on file level, but on blockdev level.  This\nmakes a difference when the data blocks are not continuous.  And the read\nroutine is somehow opaque: there\u0027s no handy info about the status of current\npage.  So a simplified call scheme is employed: to call into readahead\nwhenever the current page falls out of readahead windows.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9f410b1c035b6e63f0b4c3d6cfe4298d6a04492",
      "tree": "8c7cb3c756102e201025086205bd148a5bcc6904",
      "parents": [
        "26d535ed24f74ce949d7b49e40574c45cd845cdd"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Wed Jul 18 09:09:15 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:09:15 2007 -0400"
      },
      "message": "ext4: extent macros cleanup\n\nUse the EXT_LAST_INDEX macro; that\u0027s what it\u0027s there for.\n\nClean up ext4_ext_ext_grow_indepth() so the correct EXT_FIRST_INDEX or\nEXT_FIRST_MACRO is used as necessary.  The two macros are equivalent, so\nthe C will collapse the if statement out, but it makes the code much\nmore readable.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nAcked-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSinged-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "26d535ed24f74ce949d7b49e40574c45cd845cdd",
      "tree": "9638fe45f9c7a18c012da7b347871fa2eca0d7be",
      "parents": [
        "d699594dc151c664a2b307e680a3cd9b7145fd83"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Wed Jul 18 08:33:37 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:33:37 2007 -0400"
      },
      "message": "Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nAcked-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d699594dc151c664a2b307e680a3cd9b7145fd83",
      "tree": "9b3e50339d09ea5a7786369fda4da6ecf597d4dd",
      "parents": [
        "1330593eb2d055bdd6ed935886cf2c13c896b288"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Wed Jul 18 08:33:51 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:33:51 2007 -0400"
      },
      "message": "ext4: remove extra IS_RDONLY() check\n\next4_change_inode_journal_flag() is only called from one location:\next4_ioctl(EXT3_IOC_SETFLAGS).  That ioctl case already has a IS_RDONLY()\ncall in it so this one is superfluous.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1330593eb2d055bdd6ed935886cf2c13c896b288",
      "tree": "e4e73798e07758eb029625fc04c82385ec6749ee",
      "parents": [
        "fc0e15a667121e02686cc52679f6272959fb60cc"
      ],
      "author": {
        "name": "Vignesh Babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Wed Jul 18 09:11:02 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:11:02 2007 -0400"
      },
      "message": "ext4: Use is_power_of_2()\n\nReplace (n \u0026 (n-1)) in the context of power of 2 checks with\nis_power_of_2()\n\nSigned-off-by: Vignesh Babu \u003cvignesh.babu@wipro.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fc0e15a667121e02686cc52679f6272959fb60cc",
      "tree": "1390b806b6286166f486e03726de32c47c3811fa",
      "parents": [
        "f8628a14a27eb4512a1ede43de1d9db4d9f92bc3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Jul 18 09:20:44 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:20:44 2007 -0400"
      },
      "message": "Use zero_user_page() in ext4 where possible\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "f8628a14a27eb4512a1ede43de1d9db4d9f92bc3",
      "tree": "45719452db34112382a1b3e83dc648abe45eac70",
      "parents": [
        "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "message": "ext4: Remove 65000 subdirectory limit\n\nThis patch adds support to ext4 for allowing more than 65000\nsubdirectories. Currently the maximum number of subdirectories is capped\nat 32000.\n\nIf we exceed 65000 subdirectories in an htree directory it sets the\ninode link count to 1 and no longer counts subdirectories.  The\ndirectory link count is not actually used when determining if a\ndirectory is empty, as that only counts subdirectories and not regular\nfiles that might be in there. \n\nA EXT4_FEATURE_RO_COMPAT_DIR_NLINK flag has been added and it is set if\nthe subdir count for any directory crosses 65000. A later fsck will clear\nEXT4_FEATURE_RO_COMPAT_DIR_NLINK if there are no longer any directory\nwith \u003e65000 subdirs.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    }
  ],
  "next": "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e"
}
