)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e",
      "tree": "ee7b36d3a83ea843746ed3c906a9ad778838b9c6",
      "parents": [
        "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "message": "ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n\nWe need to make sure that existing ext3 filesystems can also avail the\nnew fields that have been added to the ext4 inode. We use\ns_want_extra_isize and s_min_extra_isize to decide by how much we should\nexpand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set\nthen we expand the inode by max(s_want_extra_isize, s_min_extra_isize ,\nsizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is\nstill an open question about whether users should be able to set\ns_*_extra_isize smaller than the known fields or not.\n\nThis patch also adds the functionality to expand inodes to include the\nnewly added fields. We start by trying to expand by s_want_extra_isize\nbytes and if its fails we try to expand by s_min_extra_isize bytes. This\nis done by changing the i_extra_isize if enough space is available in\nthe inode and no EAs are present. If EAs are present and there is enough\nspace in the inode then the EAs in the inode are shifted to make space.\nIf enough space is not available in the inode due to the EAs then 1 or\nmore EAs are shifted to the external EA block. In the worst case when\neven the external EA block does not have enough space we inform the user\nthat some EA would need to be deleted or s_min_extra_isize would have to\nbe reduced.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.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": "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80",
      "tree": "ee34a5821332cf70b89827eb872f08bc0dd43f89",
      "parents": [
        "0f49d5d019afa4e94253bfc92f0daca3badb990b"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "message": "ext4: Add nanosecond timestamps\n\nThis patch adds nanosecond timestamps for ext4. This involves adding\n*time_extra fields to the ext4_inode to extend the timestamps to\n64-bits.  Creation time is also added by this patch.\n\nThese extended fields will fit into an inode if the filesystem was\nformatted with large inodes (-I 256 or larger) and there are currently\nno EAs consuming all of the available space. For new inodes we always\nreserve enough space for the kernel\u0027s known extended fields, but for\ninodes created with an old kernel this might not have been the case. So\nthis patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature\nflag(ro-compat so that older kernels can\u0027t create inodes with a smaller\nextra_isize). which indicates if the fields fitting inside\ns_min_extra_isize are available or not.  If the expansion of inodes if\nunsuccessful then this feature will be disabled.  This feature is only\nenabled if requested by the sysadmin.\n\nNone of the extended inode fields is critical for correct filesystem\noperation.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@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": "e23291b9120c11aafb2ee76fb71a062eb3c1056c",
      "tree": "1a0f458c5c2803eb9a959e79622974cd5db4f985",
      "parents": [
        "eb40a09c679d7f9709f7087add57f2e1c7122bb3"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "message": "jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG\n\nWhen the JBD code was forked to create the new JBD2 code base, the\nreferences to CONFIG_JBD_DEBUG where never changed to\nCONFIG_JBD2_DEBUG.  This patch fixes that.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "eb40a09c679d7f9709f7087add57f2e1c7122bb3",
      "tree": "63037cd1cba5a7abd6d6ce0d74c0137ddae51dfb",
      "parents": [
        "c29c0ae7f282828da3695167ed870131798348d9"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:37:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:37:25 2007 -0400"
      },
      "message": "ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices\n\nSet the journals JBD2_FEATURE_INCOMPAT_64BIT on devices with more\nthan 32bit block sizes during mount time.  This ensure proper record\nlenth when writing to the journal.\n\nSigned-off-by: Jose R. Santos \u003cjrs@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: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c29c0ae7f282828da3695167ed870131798348d9",
      "tree": "c2d2edc01981892014cfb17fca499a6f2913384d",
      "parents": [
        "ff9ddf7e847c4dc533f119efb6c77a6e57ab6397"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Wed Jul 18 09:19:09 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:19:09 2007 -0400"
      },
      "message": "ext4: Make extents code sanely handle on-disk corruption\n\nAdd more run-time checking of extent header fields and remove BUG_ON\nchecks so we don\u0027t panic the kernel just because the on-disk filesystem\nis corrupted.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.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": "ff9ddf7e847c4dc533f119efb6c77a6e57ab6397",
      "tree": "fff8ab26370c0e466d96fb99bf3dc566b909a104",
      "parents": [
        "1e2462f93e011f63fd0f1fedd2c05338ca6b31c2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "message": "ext4: copy i_flags to inode flags on write\n    \nPropagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into\next4-specific i_flags.  Quota code changes these flags on quota files\n(to make it harder for sysadmin to screw himself) and these changes were\nnot correctly propagated into the filesystem.\n\n(This is a forward port patch from ext3)\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": "1e2462f93e011f63fd0f1fedd2c05338ca6b31c2",
      "tree": "fc8cb0f94c20b78198e73b3a7319c5678a2e3921",
      "parents": [
        "749269facaf87f6e516c3af12763e03181b9c139"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Jul 18 09:00:55 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:00:55 2007 -0400"
      },
      "message": "ext4: Enable extents by default\n\nTurn on extents feature by default in ext4 filesystem, to get wider\ntesting of extents feature in ext4dev.  This can be disabled using \n-o noextents.  \n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "749269facaf87f6e516c3af12763e03181b9c139",
      "tree": "5c8a2091d4b1ce7636de404a1366bd174b4634fd",
      "parents": [
        "56055d3ae4cc7fa6d2b10885f20269de8a989ed7"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Wed Jul 18 09:02:56 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:02:56 2007 -0400"
      },
      "message": "Change on-disk format to support 2^15 uninitialized extents\n\nThis change was suggested by Andreas Dilger. \nThis patch changes the EXT_MAX_LEN value and extent code which marks/checks\nuninitialized extents. With this change it will be possible to have\ninitialized extents with 2^15 blocks (earlier the max blocks we could have\nwas 2^15 - 1). This way we can have better extent-to-block alignment.\nNow, maximum number of blocks we can have in an initialized extent is 2^15\nand in an uninitialized extent is 2^15 - 1.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "56055d3ae4cc7fa6d2b10885f20269de8a989ed7",
      "tree": "ab0008be38ef4d2789aee16d084fdaa2d5acfc32",
      "parents": [
        "a2df2a63407803a833f82e1fa6693826c8c9d584"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:38 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:38 2007 -0400"
      },
      "message": "write support for preallocated blocks\n\nThis patch adds write support to the uninitialized extents that get\ncreated when a preallocation is done using fallocate(). It takes care of\nsplitting the extents into multiple (upto three) extents and merging the\nnew split extents with neighbouring ones, if possible.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "a2df2a63407803a833f82e1fa6693826c8c9d584",
      "tree": "db761e8d82dbbe53e166511a9f8af9162541a212",
      "parents": [
        "97ac73506c0ba93f30239bb57b4cfc5d73e68a62"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:41 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:41 2007 -0400"
      },
      "message": "fallocate support in ext4\n\nThis patch implements -\u003efallocate() inode operation in ext4. With this\npatch users of ext4 file systems will be able to use fallocate() system\ncall for persistent preallocation. Current implementation only supports\npreallocation for regular files (directories not supported as of date)\nwith extent maps. This patch does not support block-mapped files currently.\nOnly FALLOC_ALLOCATE and FALLOC_RESV_SPACE modes are being supported as of\nnow.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@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": "5e70030d4cf91613530a23b40ad9919bb9ee114f",
      "tree": "30a53102b73179840cac06ed325ece645585a566",
      "parents": [
        "a71ce8c6c9bf269b192f352ea555217815cf027e"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Jul 15 23:42:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "ext4: statfs speed up\n\nThis is a patch that speeds up statfs.  It is very simple - the \"overhead\"\ncalculation, which takes a huge amount of time for large filesystems, never\nchanges unless the size of the filesystem itself changes.  That means we can\nstore it in memory and only recalculate if the filesystem has been resized\n(almost never).\n\nIt also fixes a minor problem that we never update the on-disk superblock free\nblocks/inodes counts until the filesystem is unmounted.  While not fatal, we\nmay as well update that on disk when we have the information, and it makes\nthings like debugfs and dumpe2fs report a bit more accurate info.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c675bd43ccc36927c855d53d2e0042cdd1074ab",
      "tree": "530e4def493610d8bcab042bddce4b7ea376d43b",
      "parents": [
        "952d9de116ad87261de106464a9eeec038c4cd14"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun Jul 15 23:41:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:51 2007 -0700"
      },
      "message": "ext4: fix error handling in ext4_create_journal\n\nFix error handling in ext4_create_journal according to kernel conventions.\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\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": "29bc5b4f73a65ef667df50d5ed474e371471d915",
      "tree": "1ef736b9961c16774f2df90ad9668ed5cfe0f613",
      "parents": [
        "2be7fe075af8f8ba9c8b8ab0feec4ba4fff04979"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Sun Jul 15 23:41:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:49 2007 -0700"
      },
      "message": "mistaken ext4_inode_bitmap for ext4_block_bitmap\n\nIn ext4_new_blocks(), one of two ext4_block_bitmap() calls should be\next4_inode_bitmap() call.  It is not harmful in normal processing, but it\nshould be fixed.\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nCc: Theodore Ts\u0027o \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": "32c3773011a9b3522bd4abadc7fad8c27417119f",
      "tree": "c3a07aecbef3cdb66a4126e2822c69166aee1c97",
      "parents": [
        "030703e49d4966bd348660e0fdc2699507efb82b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Jul 15 23:41:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "ext4: fix deadlock in ext4_remount() and orphan list handling\n\next4_orphan_add() and ext4_orphan_del() functions lock sb-\u003es_lock with a\ntransaction started with ext4_mark_recovery_complete() waits for a transaction\nholding sb-\u003es_lock, thus leading to a possible deadlock.  At the moment we\ncall ext4_mark_recovery_complete() from ext4_remount() we have done all the\nwork needed for remounting and thus we are safe to drop sb-\u003es_lock before we\nwait for transactions to commit.  Note that at this moment we are still\nguarded by s_umount lock against other remounts/umounts.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Eric Sandeen \u003csandeen@sandeen.net\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": "a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692",
      "tree": "87af8336e669c8e63fda7d57b0650b5a806f77ff",
      "parents": [
        "9f7dd93de07420b423336d5d0028959e94778ddb"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Sun Jul 15 23:40:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "ext3/ext4: orphan list corruption due bad inode\n\nAfter ext3 orphan list check has been added into ext3_destroy_inode()\n(please see my previous patch) the following situation has been detected:\n\n EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0\n Inode 00000101a15b7840: orphan list check failed!\n 00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f\n...\n Call Trace: [\u003cffffffff80211ea9\u003e] ext3_destroy_inode+0x79/0x90\n  [\u003cffffffff801a2b16\u003e] sys_unlink+0x126/0x1a0\n  [\u003cffffffff80111479\u003e] error_exit+0x0/0x81\n  [\u003cffffffff80110aba\u003e] system_call+0x7e/0x83\n\nFirst messages said that unlinked inode has i_nlink\u003d0, then ext3_unlink()\nadds this inode into orphan list.\n\nSecond message means that this inode has not been removed from orphan list.\n Inode dump has showed that i_fop \u003d \u0026bad_file_ops and it can be set in\nmake_bad_inode() only.  Then I\u0027ve found that ext3_read_inode() can call\nmake_bad_inode() without any error/warning messages, for example in the\nfollowing case:\n\n...\n        if (inode-\u003ei_nlink \u003d\u003d 0) {\n                if (inode-\u003ei_mode \u003d\u003d 0 ||\n                    !(EXT3_SB(inode-\u003ei_sb)-\u003es_mount_state \u0026 EXT3_ORPHAN_FS)) {\n                        /* this inode is deleted */\n                        brelse (bh);\n                        goto bad_inode;\n...\n\nBad inode can live some time, ext3_unlink can add it to orphan list, but\next3_delete_inode() do not deleted this inode from orphan list.  As result\nwe can have orphan list corruption detected in ext3_destroy_inode().\n\nHowever it is not clear for me how to fix this issue correctly.\n\nAs far as i see is_bad_inode() is called after iget() in all places\nexcluding ext3_lookup() and ext3_get_parent().  I believe it makes sense to\nadd bad inode check to these functions too and call iput if bad inode\ndetected.\n\nSigned-off-by:\tVasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f7dd93de07420b423336d5d0028959e94778ddb",
      "tree": "a2255d5c1f28bc8defdd7103a95689c706d08a1d",
      "parents": [
        "dcae56ea661e13d8f904b584bbe4c1e50c7ee548"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Sun Jul 15 23:40:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "ext3/ext4: orphan list check on destroy_inode\n\nCustomers claims to ext3-related errors, investigation showed that ext3\norphan list has been corrupted and have the reference to non-ext3 inode.\nThe following debug helps to understand the reasons of this issue.\n\n[akpm@linux-foundation.org: update for print_hex_dump() changes]\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e5d2861f31474b373ce7754dc5122b414a176c64",
      "tree": "17daf2e4c81af9adc74912fb4cc15a2a16d819ff",
      "parents": [
        "e4a10a362cd1df6c23fe46f449d36b3f712e2824"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Sat Jun 23 17:16:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:12 2007 -0700"
      },
      "message": "ext4: lost brelse in ext4_read_inode()\n\nOne of error path in ext4_read_inode() leaks bh since brelse is forgoten.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nAcked-by: Vasily Averin \u003cvvs@sw.ru\u003e\nCc: Theodore Ts\u0027o \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": "315054f023d28ee64f308adf8b5737831541776b",
      "tree": "09d40287fdde6f6e46ad578f9810e30933c7594c",
      "parents": [
        "25d14f983f70ddbeb15fa2d0f32f6b70bca42a15"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Thu May 24 13:04:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 31 16:20:15 2007 -0400"
      },
      "message": "When ext4_ext_insert_extent() fails to insert new blocks\n\nwe should free just the allocated blocks.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "25d14f983f70ddbeb15fa2d0f32f6b70bca42a15",
      "tree": "322e219240fc4b527b5c5b16d1f7a97b5dd0917b",
      "parents": [
        "8a9dc94498f39c259b011d0abcb89bdf73cafa2d"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Thu May 24 13:04:13 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 31 16:20:15 2007 -0400"
      },
      "message": "ext4: Extent overlap bugfix\n\nThis patch adds a check for overlap of extents and cuts short the\nnew extent to be inserted, if there is a chance of overlap.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8a9dc94498f39c259b011d0abcb89bdf73cafa2d",
      "tree": "c3805d49931287bd6c1d9021783a4b7292d91332",
      "parents": [
        "8c55e20411c9499c52890a081724a8b71f3dc3a1"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Thu May 24 13:04:41 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 31 16:20:15 2007 -0400"
      },
      "message": "Remove unnecessary exported symbols.\n\nSigned-Off-By: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8c55e20411c9499c52890a081724a8b71f3dc3a1",
      "tree": "82f1badade34aa5a5461a4ae5141c30a9a64cc66",
      "parents": [
        "54ca4123363f388ab724fc66da92b87dc05395c3"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Thu May 24 13:04:54 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 31 16:20:14 2007 -0400"
      },
      "message": "EXT4: Fix whitespace\n\nReplace a lot of spaces with tabs\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@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": "fedee54d8f12cdfde299f181fec5c62b0c647ad6",
      "tree": "815a5de82d0c242bb1e6a012a237d0715c3b08af",
      "parents": [
        "753e9c5cd9b123156152c66c816f751954b15e53"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Tue May 08 00:25:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "ext3: dirindex error pointer issues\n\n- ext3_dx_find_entry() exit with out setting proper error pointer\n\n- do_split() exit with out setting proper error pointer\n  it is realy painful because many callers contain folowing code:\n\n          de \u003d do_split(handle,dir, \u0026bh, frame, \u0026hinfo, \u0026retval);\n          if (!(de))\n                       return retval;\n          \u003c\u003c\u003c WOW retval wasn\u0027t changed by do_split(), so caller failed\n          \u003c\u003c\u003c but return SUCCESS :)\n\n- Rearrange do_split() error path. Current error path is realy ugly, all\n  this up and down jump stuff doesn\u0027t make code easy to understand.\n\n[dmonakhov@sw.ru: fix annoying fake error messages]\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d7bf11d649c72621ca31b8ea12b9c94af380e63",
      "tree": "c4a3c11cf6d13210ed344de0ae091d3f7523c689",
      "parents": [
        "8948e11f450e6189a79e47d6051c3d5a0b98e3f3"
      ],
      "author": {
        "name": "Markus Rechberger",
        "email": "Markus.Rechberger@amd.com",
        "time": "Tue May 08 00:23:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "ext2/3/4: fix file date underflow on ext2 3 filesystems on 64 bit systems\n\nTaken from http://bugzilla.kernel.org/show_bug.cgi?id\u003d5079\n\nsigned long ranges from -2.147.483.648 to 2.147.483.647 on x86 32bit\n\n10000011110110100100111110111101 .. -2,082,844,739\n10000011110110100100111110111101 ..  2,212,122,557 \u003c- this currently gets\nstored on the disk but when converting it to a 64bit signed long value it loses\nits sign and becomes positive.\n\nCc: Andreas Dilger \u003cadilger@dilger.ca\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\n\nAndreas says:\n\nThis patch is now treating timestamps with the high bit set as negative\ntimes (before Jan 1, 1970).  This means we lose 1/2 of the possible range\nof timestamps (lopping off 68 years before unix timestamp overflow -\nnow only 30 years away :-) to handle the extremely rare case of setting\ntimestamps into the distant past.\n\nIf we are only interested in fixing the underflow case, we could just\nlimit the values to 0 instead of storing negative values.  At worst this\nwill skew the timestamp by a few hours for timezones in the far east\n(files would still show Jan 1, 1970 in \"ls -l\" output).\n\nThat said, it seems 32-bit systems (mine at least) allow files to be set\ninto the past (01/01/1907 works fine) so it seems this patch is bringing\nthe x86_64 behaviour into sync with other kernels.\n\nOn the plus side, we have a patch that is ready to add nanosecond timestamps\nto ext3 and as an added bonus adds 2 high bits to the on-disk timestamp so\nthis extends the maximum date to 2242.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\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": "f98393a64ca1392130724c3acb4e3f325801d2b6",
      "tree": "b02838bdf84156ac923bb37b6cf5f5ed6aaa3d48",
      "parents": [
        "0a27a14a62921b438bb6f33772690d345a089be6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: remove destroy_dirty_buffers from invalidate_bdev()\n\nRemove the destroy_dirty_buffers argument from invalidate_bdev(), it hasn\u0027t\nbeen used in 6 years (so akpm says).\n\nfind * -name \\*.[ch] | xargs grep -l invalidate_bdev |\nwhile read file; do\n\tquilt add $file;\n\tsed -ie \u0027s/invalidate_bdev(\\([^,]*\\),[^)]*)/invalidate_bdev(\\1)/g\u0027 $file;\ndone\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": "7479d2b90b103f84d956a7177b3f99cbd472b345",
      "tree": "fb0f9978ba10d39be2fa8004536d15764cf69584",
      "parents": [
        "1aa9b4b9bc10a0cf6e6109c2997d759a76e840e5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Apr 01 23:49:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:08 2007 -0700"
      },
      "message": "[PATCH] revert \"retries in ext4_prepare_write() violate ordering requirements\"\n\nRevert b46be05004abb419e303e66e143eed9f8a6e9f3f.  Same reasoning as for ext3.\n\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@openvz.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": "8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465",
      "tree": "10c90347c8eaf6dcad69b74198c535c2febd3387",
      "parents": [
        "1463fdbcc797dfcb8574ababbd39cf6205f6ed00"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Feb 28 20:13:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] ext[34]: EA block reference count racing fix\n\nThere are race issues around ext[34] xattr block release code.\n\next[34]_xattr_release_block() checks the reference count of xattr block\n(h_refcount) and frees that xattr block if it is the last one reference it.\n Unlike ext2, the check of this counter is unprotected by any lock.\next[34]_xattr_release_block() will free the mb_cache entry before freeing\nthat xattr block.  There is a small window between the check for the re\nh_refcount \u003d\u003d1 and the call to mb_cache_entry_free().  During this small\nwindow another inode might find this xattr block from the mbcache and reuse\nit, racing a refcount updates.  The xattr block will later be freed by the\nfirst inode without notice other inode is still use it.  Later if that\nblock is reallocated as a datablock for other file, then more serious\nproblem might happen.\n\nWe need put a lock around places checking the refount as well to avoid\nracing issue.  Another place need this kind of protection is in\next3_xattr_block_set(), where it will modify the xattr block content in-\nthe-fly if the refcount is 1 (means it\u0027s the only inode reference it).\n\nThis will also fix another issue: the xattr block may not get freed at all\nif no lock is to protect the refcount check at the release time.  It is\npossible that the last two inodes could release the shared xattr block at\nthe same time.  But both of them think they are not the last one so only\ndecreased the h_refcount without freeing xattr block at all.\n\nWe need to call lock_buffer() after ext3_journal_get_write_access() to\navoid deadlock (because the later will call lock_buffer()/unlock_buffer\n() as well).\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\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": "e627432c2948d500669a6c4522f22b66f5118d64",
      "tree": "dc7abe744ab9eff3a3b95251a3d3552ed8b54f0c",
      "parents": [
        "ae6b95d4d86565a4f267359852f7fbe000b6e0e7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@gmail.com",
        "time": "Tue Feb 20 13:57:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:14 2007 -0800"
      },
      "message": "[PATCH] ext[234]: update documentation\n\nSigned-off-by: \"Aneesh Kumar K.V\" \u003caneesh.kumar@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": "bbf2f9fb1c7239ae0aea55f7cb1555f4adc15f76",
      "tree": "a721233e2a69965b28a3ad3baf90a4646d4cb324",
      "parents": [
        "4c3ee8266334e927d2318c8d6da5341a01394c0c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:20:16 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:20:16 2007 +0100"
      },
      "message": "Fix misspellings of \"agressive\".\n\nFix the various misspellings of \"agressive\", as well as a couple\nother things on the same lines while we\u0027re there.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e4fdaf8aebe489e8e59826fdf78cb64356d2ad0",
      "tree": "fe95bee85f97d16f192ff02fa8880f857b71d136",
      "parents": [
        "501b9ebf43f9973c3e246c8fbd17144d81a989ef"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Feb 10 01:46:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] jbd layer function called instead of fs specific one\n\njbd function called instead of fs specific one.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "731b9a549882c76189baafccbd068d5785ea2a82",
      "tree": "0393399e3dccd93f78595f6e503ae098758c9811",
      "parents": [
        "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] remove ext[34]_inc_count and _dec_count\n\n- Naming is confusing, ext3_inc_count manipulates i_nlink not i_count\n- handle argument passed in is not used\n- ext3 and ext4 already call inc_nlink and dec_nlink directly in other places\n\nSigned-off-by: Eric Sandeen \u003csandeen@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": "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3",
      "tree": "9c1b67be5d16a24d5c613ecb8e3804c7ff3994da",
      "parents": [
        "967bb77c69e3bc44dd1128a8b503a205cce3fd4a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] return ENOENT from ext3_link when racing with unlink\n\nReturn -ENOENT from ext[34]_link if we\u0027ve raced with unlink and i_nlink is\n0.  Doing otherwise has the potential to corrupt the orphan inode list,\nbecause we\u0027d wind up with an inode with a non-zero link count on the list,\nand it will never get properly cleaned up \u0026 removed from the orphan list\nbefore it is freed.\n\n[akpm@osdl.org: build fix]\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": "2e7842b887627c4319c4625d2b52fa6616fda2cd",
      "tree": "608123e38adff4cb19f756b0a67158ea30a15b18",
      "parents": [
        "9bbf81e4830db873300c1d0503b371b4f8a932ce"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Feb 10 01:46:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] fix umask when noACL kernel meets extN tuned for ACLs\n\nFix insecure default behaviour reported by Tigran Aivazian: if an ext2 or\next3 or ext4 filesystem is tuned to mount with \"acl\", but mounted by a\nkernel built without ACL support, then umask was ignored when creating\ninodes - though root or user has umask 022, touch creates files as 0666,\nand mkdir creates directories as 0777.\n\nThis appears to have worked right until 2.6.11, when a fix to the default\nmode on symlinks (always 0777) assumed VFS applies umask: which it does,\nunless the mount is marked for ACLs; but ext[234] set MS_POSIXACL in\ns_flags according to s_mount_opt set according to def_mount_opts.\n\nWe could revert to the 2.6.10 ext[234]_init_acl (adding an S_ISLNK test);\nbut other filesystems only set MS_POSIXACL when ACLs are configured.  We\ncould fix this at another level; but it seems most robust to avoid setting\nthe s_mount_opt flag in the first place (at the expense of more ifdefs).\n\nLikewise don\u0027t set the XATTR_USER flag when built without XATTR support.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ead6596b9e776ac32d82f7d1931d7638e6d4a7bd",
      "tree": "32e518737ab4b656cdf573167a6ac6308c4c3aad",
      "parents": [
        "ea9a05a1330053759c02eb2c60547085140a4cbd"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] ext4: refuse ro to rw remount of fs with orphan inodes\n\nIn the rare case where we have skipped orphan inode processing due to a\nreadonly block device, and the block device subsequently changes back to\nread-write, disallow a remount,rw transition of the filesystem when we have an\nunprocessed orphan inodes as this would corrupt the list.\n\nIdeally we should process the orphan inode list during the remount, but that\u0027s\ntrickier, and this plugs the hole for now.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@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": "9d549890e69156800878a486f832e92d8f3d7c97",
      "tree": "8da371c871c0fff5cce76a767349edd76457f43e",
      "parents": [
        "fe21a69389165b9641a8d0b89e00a71c4e5f5d59"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] ext4: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext4\nfilesystem.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01a732eb22dab153732b94962467eaabb1fd3797",
      "tree": "08b8dbc1a87fb4d0e9e6fd65f7781b04c2684428",
      "parents": [
        "bff19b1d0b2c62882ca4b8f900b52f410c09e967"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Dec 08 02:35:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:37 2006 -0800"
      },
      "message": "[PATCH] ext4 calls journal_stop\n\njournal_stop() is not defined for ext4; change to ext4_journal_stop().\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09b882520bbe01f2e5044642109c1c1d19fe3559",
      "tree": "aa3644cb7d9fdc6a8a40eb3160f4b28dbecae687",
      "parents": [
        "5d4958f923f431e148d9ba8ff894209a134b943e"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Wed Dec 06 20:41:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext4: Eliminate inline functions\n\nRemoves all inline keywords, since the compiler will make static functions\ninline when it is appropriate.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d4958f923f431e148d9ba8ff894209a134b943e",
      "tree": "b23c443fa3047ec02c7ff3527bcb1a76caa97a05",
      "parents": [
        "7e0289766a0750a56260565bd3b74eb544483d45"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Wed Dec 06 20:41:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext4: kmalloc to kzalloc\n\nPerforms kmalloc to kzalloc conversion\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e0289766a0750a56260565bd3b74eb544483d45",
      "tree": "1982232640bf359c572bd0b905005a79fd9c6030",
      "parents": [
        "7d1c520bb57e4b5e94ec937c13553dccf473341b"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Wed Dec 06 20:41:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:48 2006 -0800"
      },
      "message": "[PATCH] ext4: if expression format\n\nchanges instances of\n\tif ((lhs \u003d expression)) {\n\nto the preferred coding style\n\n\tlhs\u003dexpression;\n\tif (lhs) {\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "feb189274638ea357750a9e809f5a6e2223a082e",
      "tree": "ff783ee2a84cf6dd0319533515a8cfa2d21ec9a1",
      "parents": [
        "97d2a80584b30b5cd32da411deca1986ef61877a"
      ],
      "author": {
        "name": "Johann Lombardi",
        "email": "johann.lombardi@bull.net",
        "time": "Wed Dec 06 20:40:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] ext4: fix credit calculation in ext4_ext_calc_credits_for_insert\n\nFix a nit in ext4_ext_calc_credits_for_insert().  Besides, credits for the\nnew root are already added in the index split accounting.\n\nSigned-off-by: Johann Lombardi \u003cjohann.lombardi@bull.net\u003e\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8f48a95619cbce8f85423480e7d0a1bf971a62b",
      "tree": "c33bf8406bb61945c4031b89cad533b041599567",
      "parents": [
        "a0e7688df1484fbf4d6d61c31f7d61a5d8cacf3c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 06 20:40:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] ext3/4: don\u0027t do orphan processing on readonly devices\n\nIf you do something like:\n\n  # touch foo\n  # tail -f foo \u0026\n  # rm foo\n  # \u003ctake snapshot\u003e\n  # \u003cmount snapshot\u003e\n\nyou\u0027ll panic, because ext3/4 tries to do orphan list processing on the\nreadonly snapshot device, and:\n\n  kernel: journal commit I/O error\n  kernel: Assertion failure in journal_flush_Rsmp_e2f189ce() at journal.c:1356: \"!journal-\u003ej_checkpoint_transactions\"\n  kernel: Kernel panic: Fatal exception\n\nfor a truly readonly underlying device, it\u0027s reasonable and necessary\nto just skip orphan list processing.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec0837f230e57afde65db72539e748d2a75abed0",
      "tree": "c997afd235decff9f36b5cc4bfae5e132d86f656",
      "parents": [
        "341cee438593ff9c4520fb73c561460074f29a9a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Dec 06 20:39:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:43 2006 -0800"
      },
      "message": "[PATCH] ext4 balloc: fix _with_rsv freeze\n\nPort fix to the off-by-one in find_next_usable_block\u0027s memscan from ext2 to\next4; but it didn\u0027t cause a serious problem for ext4 because the additional\next4_test_allocatable check rescued it from the error.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "341cee438593ff9c4520fb73c561460074f29a9a"
}
