)]}'
{
  "log": [
    {
      "commit": "6873fa0de14e49c433f1f181c54e511f4f3d459d",
      "tree": "4759862db403c037c11f570f0b2ca5e25198073e",
      "parents": [
        "68c9d702bb72f367f3b148963ec6cf5e07ff7f65"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 07 00:46:36 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 07 00:46:36 2008 -0400"
      },
      "message": "Hook ext4 to the vfs fiemap interface.\n\next4_ext_walk_space() was reinstated to be used for iterating over file\nextents with a callback; it is used by the ext4 fiemap implementation.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-ext4@vger.kernel.org\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "c2ea3fde61f1df1dbf062345f23277dcd6f01dfe",
      "tree": "53ecbf57416326810540494e814c05753bf30874",
      "parents": [
        "240799cdf22bd789ea6852653c3b879d35ad0a6c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 09:40:52 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 09:40:52 2008 -0400"
      },
      "message": "ext4: Remove old legacy block allocator\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cf17fea6575cb1739552e1d0cb2b446305ee3d0c",
      "tree": "319e1044e271aeb31ad14847f369776ac5db74db",
      "parents": [
        "ae4d537211ff250a8c23c4f1227c4276cd2508ab"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Sep 13 13:06:18 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 13 13:06:18 2008 -0400"
      },
      "message": "ext4: Properly update i_disksize.\n\nWith delayed allocation we use i_data_sem to update i_disksize.  We need\nto update i_disksize only if the new size specified is greater than the\ncurrent value and we need to make sure we don\u0027t race with other\ni_disksize update.  With delayed allocation we will switch to the\nwrite_begin function for non-delayed allocation if we are low on free\nblocks.  This means the write_begin function for non-delayed allocation\nalso needs to use the same locking.\n\nWe also need to check and update i_disksize even if the new size is less\nthat inode.i_size because of delayed allocation.\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": "af5bc92dded4d98dfeabc8b5b9812571345b263d",
      "tree": "5cfaf27e673a09d3ad1341c175559be0a3ea990d",
      "parents": [
        "e5f8eab8851dff162e7ade46f084cb8575dc45f7"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 08 22:25:24 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 08 22:25:24 2008 -0400"
      },
      "message": "ext4: Fix whitespace checkpatch warnings/errors\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "4776004f54e4190e104caf620fd0fa5909412236",
      "tree": "ebd37cb847d58d434ad4ea3bd98c77256f05347e",
      "parents": [
        "1f7c14c62ce63805f9574664a6c6de3633d4a354"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 08 23:00:52 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 08 23:00:52 2008 -0400"
      },
      "message": "ext4: Add printk priority levels to clean up checkpatch warnings\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "525f4ed8dcb72c71b306a78ecbf06f41d08fe441",
      "tree": "d4d74dc7b109c5d74fa955970a8528ec90e20b06",
      "parents": [
        "a1d6cc563bfdf1bf2829d3e6ce4d8b774251796b"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Aug 19 22:15:58 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 19 22:15:58 2008 -0400"
      },
      "message": "ext4: journal credit fix for the delayed allocation\u0027s writepages() function\n\nPrevious delalloc writepages implementation started a new transaction\noutside of a loop which called get_block() to do the block allocation.\nSince we didn\u0027t know exactly how many blocks would need to be allocated,\nthe estimated journal credits required was very conservative and caused\nmany issues.\n\nWith the reworked delayed allocation, a new transaction is created for\neach get_block(), thus we don\u0027t need to guess how many credits for the\nmultiple chunk of allocation.  We start every transaction with enough\ncredits for inserting a single exent.  When estimate the credits for\nindirect blocks to allocate a chunk of blocks, we need to know the\nnumber of data blocks to allocate.  We use the total number of reserved\ndelalloc datablocks; if that is too big, for non-extent files, we need\nto limit the number of blocks to EXT4_MAX_TRANS_BLOCKS.\n\nCode cleanup from Aneesh.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nReviewed-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": "f3bd1f3fa8ca7ec70cfd87aa94dc5e1a260901f2",
      "tree": "a0f0ce2e044f8a75009e94d5f788b45a3948bbe3",
      "parents": [
        "ee12b630687d510f6f4b6d4acdc4e267fd4adeda"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Aug 19 22:16:03 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 19 22:16:03 2008 -0400"
      },
      "message": "ext4: journal credits reservation fixes for DIO, fallocate\n\nDIO and fallocate credit calculation is different than writepage, as\nthey do start a new journal right for each call to ext4_get_blocks_wrap().\nThis patch uses the helper function in DIO and fallocate case, passing\na flag indicating that the modified data are contigous thus could account\nless indirect/index blocks.\n\nThis patch also fixed the journal credit reservation for direct I/O\n(DIO).  Previously the estimated credits for DIO only was calculated for\nnon-extent files, which was not enough if the file is extent-based.\n\nAlso fixed was fallocate double-counting credits for modifying the the\nsuperblock.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ee12b630687d510f6f4b6d4acdc4e267fd4adeda",
      "tree": "8dd253073c5e811751bf1bb479fb03f772e42406",
      "parents": [
        "a02908f19c819aeec5e3dcf238adaa6deddd70b0"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Aug 19 22:16:05 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 19 22:16:05 2008 -0400"
      },
      "message": "ext4: journal credits reservation fixes for extent file writepage\n\nThis patch modified the writepage/write_begin credit calculation for\nextent files, to use the credits caculation helper function.\n\nThe current calculation of how many index/leaf blocks should be\naccounted is too conservetive, it always considered the worse case,\nwhere the tree level is 5, and in the case of multiple chunk\nallocations, it always assumed no blocks were dirtied in common across\nthe allocations. This path uses the accurate depth of the inode with\nsome extras to calculate the index blocks, and also less conservative in\nthe case of multiple allocation accounting.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "88aa3cff4e9a38b953de9fbc54c96e619a2bb9f9",
      "tree": "2905089c0d20ef7a6017d40acbe887148f3cd1fa",
      "parents": [
        "d015641734cde55d2fce48a6db3983c8a029fe05"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 16 07:57:35 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 16 07:57:35 2008 -0400"
      },
      "message": "ext4: Use ext4_discard_reservations instead of mballoc-specific call\n\nIn ext4_ext_truncate(), we should use the more generic\next4_discard_reservations() call so we do the right thing when the\nfilesystem is mounted with the nomballoc option.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b2d6d019724de6e51ac5bcf22b5ef969daefa8b",
      "tree": "71145b61b73b200fd3d4bae520bb988f5f7d21f5",
      "parents": [
        "ec05e868ac80cc8fc7de6e5cf773b232198e49af"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 26 16:15:44 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 26 16:15:44 2008 -0400"
      },
      "message": "ext4: Cleanup whitespace and other miscellaneous style issues\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "34071da71a665d8c81e3b3467c9a2e7c56386fec",
      "tree": "bf737db477d20e4f748eccfcf13a28e428a7e04b",
      "parents": [
        "bc965ab3f2b4b7bb898b11d61d25295c2053b8ac"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 01 21:59:19 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 01 21:59:19 2008 -0400"
      },
      "message": "ext4: don\u0027t assume extents can\u0027t cross block groups when truncating\n\nWith the FLEX_BG layout, there is no reason why extents can\u0027t cross\nblock groups, so make the truncate code reserve enough credits so we\ndon\u0027t BUG if we come across such an extent.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0123c93998511978556b03d2bb023af92aa24d55",
      "tree": "ec01472f1c23b046fe25c1c2b4e2d4d054a5d163",
      "parents": [
        "d5a0d4f732af3438e592efab4cb80076d1dd81b5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 01 20:57:54 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 01 20:57:54 2008 -0400"
      },
      "message": "ext4: Fix ext4_ext_journal_restart()\n\nThe ext4_ext_journal_restart() is a convenience function which checks\nto see if the requested number of credits is present, and if so it\ncloses the current transaction and attaches the current handle to the\nnew transaction.  Unfortunately, it wasn\u0027t proprely checking the\nreturn value from ext4_journal_extend(), so it was starting a new\ntransaction when one was not necessary, and returning an error when\nall that was necessary was to restart the handle with a new\ntransaction.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d03856bd5e5abac717da137dc60fe4a691769bd0",
      "tree": "7de3649a2b48e36744aae72d5905bede2e28b6ca",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Aug 02 18:51:32 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 02 18:51:32 2008 -0400"
      },
      "message": "ext4: Fix data corruption when writing to prealloc area\n\nInserting an extent can cause a new entry in the already existing index\nblock. That doesn\u0027t increase the depth of the instead. Instead it adds a\nnew leaf block. Now with the new leaf block the path information\ncorresponding to the logical block should be fetched from the new block.\nThe old path will be pointing to the old leaf block.\n\nWe need to recalucate the path information on extent insert\neven if depth doesn\u0027t change. Without this change, the extent merge\nafter converting an unwritten extent to initialized extent takes the wrong\nextent and cause data corruption.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "61628a3f3a37af2bf25daf8e26fd6b76a78c4f76",
      "tree": "25375b739b2e3f65c8dff3d3dd2a78e0724d0f96",
      "parents": [
        "06d6cf6959d22037fcec598f4f954db5db3d7356"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Invert lock ordering of page_lock and transaction start in delalloc\n\nWith the reverse locking, we need to start a transation before taking\nthe page lock, so in ext4_da_writepages() we need to break the write-out\ninto chunks, and restart the journal for each chunck to ensure the\nwrite-out fits in a single transaction.\n\nUpdated patch from Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nwhich fixes delalloc sync hang with journal lock inversion, and address\nthe performance regression issue.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d2a1763791a634e315ec926b62829c1e88842c86",
      "tree": "75a701a89829ba7d728fdc19c30aa2794b9706b9",
      "parents": [
        "e8ced39d5e8911c662d4d69a342b9d053eaaac4e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Jul 14 17:52:37 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 14 17:52:37 2008 -0400"
      },
      "message": "ext4: delayed allocation ENOSPC handling\n\nThis patch does block reservation for delayed\nallocation, to avoid ENOSPC later at page flush time.\n\nBlocks(data and metadata) are reserved at da_write_begin()\ntime, the freeblocks counter is updated by then, and the number of\nreserved blocks is store in per inode counter.\n        \nAt the writepage time, the unused reserved meta blocks are returned\nback. At unlink/truncate time, reserved blocks are properly released.\n\nUpdated fix from  Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nto fix the oldallocator block reservation accounting with delalloc, added\nlock to guard the counters and also fix the reservation for meta blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9ddfc3dc75b5cc55ff3cfa586e962d252f1db9d3",
      "tree": "4932f75d2f303561b0038fb5ea8985345b3ccd6b",
      "parents": [
        "cf108bca465dde0c015f32dd453b99457d31c7c7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Fix lock inversion in ext4_ext_truncate()\n\nWe cannot call ext4_orphan_add() from under i_data_sem because that\ncauses a lock ordering violation between i_data_sem and and the\nsuperblock lock.\n\nUpdated with Aneesh\u0027s locking order fix\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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 \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "cf108bca465dde0c015f32dd453b99457d31c7c7",
      "tree": "b1c9dfc1936579e4fd2a48f77f702effc39029e2",
      "parents": [
        "c7d206b3379f7d6462e778b74f475c470ee3dcaf"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Invert the locking order of page_lock and transaction start\n\nThis changes are needed to support data\u003dordered mode handling via\ninodes.  This enables us to get rid of the journal heads and buffer\nheads for data buffers in the ordered mode.  With the changes, during\ntranasaction commit we writeout the inode pages using the\nwritepages()/writepage(). That implies we take page lock during\ntransaction commit. This can cause a deadlock with the locking order\npage_lock -\u003e jbd2_journal_start, since the jbd2_journal_start can wait\nfor the journal_commit to happen and the journal_commit now needs to\ntake the page lock. To avoid this dead lock reverse the locking order.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "953e622b601f58b7cc0f29fe644457fa40a18456",
      "tree": "15fcef3e6489b90aaf92100b096021773ef856df",
      "parents": [
        "47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: use atomic functions to set bh_state\n\nUse the BUFFER_FNS functions (set_buffer_foo) to set buffer\nhead state atomically instead of nonatomic __set_bit().\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "654b4908bc17a6318d18f3036fecc5155de92f55",
      "tree": "a77264435aa5ed0386334653fae7624ee423f8cf",
      "parents": [
        "7061eba75ceb0835ba61e7cbd757a6f9c1e4af92"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: cleanup block allocator\n\nMove the code related to block allocation to a single function and add helper\nfuntions to differient allocation for data and meta data blocks\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7061eba75ceb0835ba61e7cbd757a6f9c1e4af92",
      "tree": "9c70df3078c0543573a9f38bb60c6b0f54608c7a",
      "parents": [
        "6afd670713c9e7d5c5550e379dfedca8ffab4c90"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Use inode preallocation with -o noextents\n\nWhen mballoc is enabled, block allocation for old block-based\nfiles are allocated using mballoc allocator instead of old\nblock-based allocator. The old ext3 block reservation is turned\noff when mballoc is turned on.\n\nHowever, the in-core preallocation is not enabled for block-based/\nnon-extent based file block allocation. This result in performance\nregression, as now we don\u0027t have \"reservation\" ore in-core preallocation\nto prevent interleaved fragmentation in multiple writes workload.\n\nThis patch fix this by enable per inode in-core preallocation\nfor non extent files when mballoc is used.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9102e4fa8016af8bf1a263df913ee8fdafd4dfb0",
      "tree": "f2d045cf2fd421d6ba6989b3eef966a40af5080b",
      "parents": [
        "1973adcba570c226de840299056e055a3614185e"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Fix ext4_ext_journal_restart() to reflect errors up to the caller\n\nFix ext4_ext_journal_restart() so it returns any errors reported by \next4_journal_extend() and ext4_journal_restart().\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1973adcba570c226de840299056e055a3614185e",
      "tree": "393b70bd62ed89eb0c558312e1153ae133f44bde",
      "parents": [
        "787e0981fad97a5ca3d07c7afe115a7e345b2861"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Make ext4_ext_find_extent fills ext_path completely\n\nWhen pos\u003d0 or depth, the fields of ext4_ext_path is are not\ncompletely filled.  This patch also removes some unnecessary code.\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "787e0981fad97a5ca3d07c7afe115a7e345b2861",
      "tree": "bbab1d5506aa8c3cfdb018a75b346f8d873818bc",
      "parents": [
        "a379cd1d6bb00f9f5d2759d4a5621a884df5914e"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: return error when calling ext4_ext_split failed\n\next4_ext_create_new_leaf must return error when its\ncalling to ext4_ext_split failed.\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a379cd1d6bb00f9f5d2759d4a5621a884df5914e",
      "tree": "437211f483736d3a2335cbca20e771b099b6bf77",
      "parents": [
        "363d4251d4bd984c304e0989789f6494343660fd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Update i_disksize properly when allocating from fallocate area.\n\nWhen allocating unitialized space at the end of file which had been\npreallocated with the FALLOC_FL_KEEP_SIZE option, the file size is not\nupdated at that time.  But the later we are not updating the file size\nwhen writing to that preallocated space.\n\nThese changes are for code correctness.  This patch allows us to update\nthe i_disksize at the write_end() callback of filesystem properly.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ef7377289a1510d638004158e43878643bc75dc5",
      "tree": "4e7cfd27dc9322f0803fe438f63e1f9a2c4fb4cd",
      "parents": [
        "c83617db76353ff30e825874be2c15c185b95759"
      ],
      "author": {
        "name": "Solofo Ramangalahy",
        "email": "Solofo.Ramangalahy@bull.net",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "message": "ext4: update ctime and mtime for truncate with extents.\n\nThe recently announced \"Linux POSIX file system test suite\"\ncaught a truncate issue when using extents:\nmtime and ctime are not updated when truncate is successful.\n\nThis is the single issue caught with \"default\" ext4 (mkfs and mount\nwith minimal options).\nThe testsuite does not report failure with -o noextents.\n\nWith the following patch, all tests of the testsuite pass.\n\nSigned-off-by: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "3dcf54515aa4981a647ad74859199032965193a5",
      "tree": "b95d895bb2f6fa15be29411b15d538c21b0de930",
      "parents": [
        "216553c4b7f3e3e2beb4981cddca9b2027523928"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 29 18:13:32 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 18:13:32 2008 -0400"
      },
      "message": "ext4: move headers out of include/linux\n\nMove ext4 headers out of include/linux.  This is just the trivial move,\nthere\u0027s some more thing that could be done later. \n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "216553c4b7f3e3e2beb4981cddca9b2027523928",
      "tree": "aefd413c05b078c6e8cf702956c79548943b5023",
      "parents": [
        "2887df139c40512cdc147d1a84d95d4f3d261bd1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:02:02 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:02:02 2008 -0400"
      },
      "message": "ext4: fix wrong gfp type under transaction\n\nThis fixes the allocations with GFP_KERNEL while under a transaction problems\nin ext4.  This patch is the same as its ext3 counterpart, just switches these\nto GFP_NOFS.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "46e665e9d297525d286989640cf4247cbe941df6",
      "tree": "4858cd21e48cab2b2c51839dd80378f6044d3394",
      "parents": [
        "620de4e19890c623eb4ba293ec19b42e2e391b89"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e8546d0615542684ca02ba03edebec1a503beb6b",
      "tree": "c0114f0e86278dd1418f5a548b38d5d1c4b157b3",
      "parents": [
        "9a0762c5af40e4aa64fef999967459c98e6ae4c9"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: le*_add_cpu conversion\n\nreplace all:\nlittle_endian_variable \u003d cpu_to_leX(leX_to_cpu(little_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tleX_add_cpu(\u0026little_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-ext4@vger.kernel.org\nCc: sct@redhat.com\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: adilger@clusterfs.com\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "161e7b7c1d24112d188df9a7b30d468a8d135b96",
      "tree": "bac6cea21f4a3bb96b8d16660ec9a503427c01a8",
      "parents": [
        "1a89734d4057066344356e9c7e13b6379497aebe"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:03:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:03:59 2008 -0400"
      },
      "message": "ext4: Cache the correct extent length for uninit extents\n\nWhen we convert an uninitialized extent to an initialized extent\nwe need to make sure we return the number of blocks in the\nextent from the file system block corresponding to logical\nfile block.  Otherwise we cache wrong extent details and this\nresults in file system corruption.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1a89734d4057066344356e9c7e13b6379497aebe",
      "tree": "7e0466cb367e3eb7aec72bdfd0c03aaa3e22449e",
      "parents": [
        "e067ba0078cd6f00eb6c4052fec630b78ebe59de"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Return unwritten buffer head when trying to read from prealloc space.\n\next4_ext_get_blocks() returns the number of blocks allocated with buffer\nhead unmapped for a read from prealloc space.  This is needed so that\ndelayed allocation doesn\u0027t do block reservation for prealloc space\nsince the blocks are already reserved on disk.  Mark the buffer head\nunwritten.  Some code paths try to read the block if the buffer_head is\nnot new and no uptodate.  Marking the buffer head unwritten avoids this\nreading.\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": "e067ba0078cd6f00eb6c4052fec630b78ebe59de",
      "tree": "58c5f6d1e86ac03257cde1714fb09437d408043c",
      "parents": [
        "fd28784adc079afa905df56204b1298ddb4d0bfe"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: make ext4_ext_get_blocks always return \u003c\u003d max_blocks\n\next4_ext_get_blocks() returns number of blocks allocated with buffer\nheads unmapped for a read from prealloc space.  This is needed so that\ndelayed allocation doesn\u0027t do block reservation for prealloc space since\nthe blocks are already resevred on disk.  Fix ext4_ext_get_blocks to not\nreturn greater than max_blocks, since some of the code paths cannot\nhandle such a return value.\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": "fd28784adc079afa905df56204b1298ddb4d0bfe",
      "tree": "3ede312b77a14e75d7b31c0df874b6eb160bfb61",
      "parents": [
        "267e4db9ac28a09973476e7ec2cb6807e609d35a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Fix fallocate to update the file size in each transaction\n\next4_fallocate needs to update file size in each transaction.  Otherwise\nif we crash the file size won\u0027t be seen.  We were also not marking\nthe inode dirty after updating file size before.  Also when we try to\nretry allocation due to ENOSPC, make sure we reset the variable ret so\nthat we actually do a retry.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3977c965ec35ce1a7eac988ad313f0fc9aee9660",
      "tree": "86c799189a7888d6ebd02f9394fd0c2bd4eb2317",
      "parents": [
        "093a088b76352e0a6fdca84eb78b3aa65fbe6dd1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: zero out small extents when writing to prealloc area.\n\nIf the preallocated area is small zero out the full extent\ninstead of splitting them. This should avoid the \"write\nevery alternate block\" problem that could grow the number\nof extents dramatically.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "093a088b76352e0a6fdca84eb78b3aa65fbe6dd1",
      "tree": "18b9266ce90cb63726c8b6e0e7a026d11ed66a40",
      "parents": [
        "35802c0b2bab71695f131f981d95fcea7432c99b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: ENOSPC error handling for writing to an uninitialized extent\n\nThis patch handles possible ENOSPC errors when writing to an\nuninitialized extent in case the filesystem is full.\n\nA write to a prealloc area causes the split of an unititalized extent\ninto initialized and uninitialized extents.  If we don\u0027t have\nspace to add new extent information, instead of returning error,\nconvert the existing uninitialized extent to initialized one.  We\nneed to zero out the blocks corresponding to the entire extent to\nprevent uninitialized data reaching userspace.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "95c3889cb88ca4833096553c12cde9e7eb792f4c",
      "tree": "cb18bbe779ffef21695a068f8ed49d4dad48d428",
      "parents": [
        "f3f12faa7414595f502721c90c34deccc1a03c71"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: Fix fallocate error path\n\nPut the old extent details back if we fail to split the\nuninitialized extent.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "2c98615d3b64ce7888cd46cc668023f456daf287",
      "tree": "5fc26fc832d2afa658e706106d6e793a493eef0a",
      "parents": [
        "f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 25 15:41:35 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:41:35 2008 -0500"
      },
      "message": "ext4: Don\u0027t mark filesystem error if fallocate fails\n\nIf we fail to allocate blocks don\u0027t call ext4_error. Also don\u0027t hide\nerrors from ext4_get_blocks_wrap\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": "f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b",
      "tree": "9a5b63d45dc805383f7789bba75f7935626767fe",
      "parents": [
        "825f1481ead4ce40671089bae7412ac3519e8caa"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "message": "ext4: Fix BUG when writing to an unitialized extent\n\nThis patch fixes a bug when writing to preallocated but uninitialized\nblocks, which resulted in a BUG in fs/buffer.c saying that the buffer\nis not mapped.\n\nWhen writing to a file, ext4_get_block_wrap() is called with create\u003d1 in\norder to request that blocks be allocated if necessary.  It currently\ncalls ext4_get_blocks() with create\u003d0 in order to do a lookup first.  If\nthe inode contains an unitialized data block, the buffer head is left\nunampped, which ext4_get_blocks_wrap() returns, causing the BUG.\n\nWe fix this by checking to see if the buffer head is unmapped, and if\nso, we make sure the the buffer head is mapped by calling\next4_ext_get_blocks with create\u003d1.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "74d3487fc8aa58cec16dff7239dea1ca59bdab0e",
      "tree": "e7f2e3b107bc7ff98ae4a02d0deb44809ae53394",
      "parents": [
        "e56eb6590693a5a340e8f596db2768a6e1b9e236"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "message": "ext4: modify block allocation algorithm for the last group\n\nWhen a directory inode is allocated in the last group and the last group\ncontains less than s_blocks_per_group blocks, the initial block allocated\nfor the directory is not always allocated in the same group as the\ndirectory inode, but in one of the first groups of the filesystem (group 1\nfor example).\nDepending on the current process\u0027s pid, ext4_find_near() and \next4_ext_find_goal() can return a block number greater than the maximum\nblocks count in the filesystem and in that case the block will be not\nallocated in the same group as the inode.\n\nThe following patch fixes the problem.\n\nShould the modification also be done in ext2/3 code?\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "9df5643ad135c7f8c02d3b69020de4ec910f9fc0",
      "tree": "8b2c72c0df0bbb6af41ee9c68e91c93c5ab26a78",
      "parents": [
        "b35905c16ad6428551eb9e49525011bd2700cf56"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "message": "ext4: Get journal write access before modifying the extent tree\n\nWhen the user was writing into an unitialized extent,\next4_ext_convert_to_initialize() was not requesting journal write access\nbefore it started to modify the extent tree.   Fix this oversight.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "b35905c16ad6428551eb9e49525011bd2700cf56",
      "tree": "155ae1b76392b38a6079dcc5de15b123b3c20953",
      "parents": [
        "4cdeed861b5f797b3fa661eb331a6bd6ad669c6a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 25 16:54:37 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 16:54:37 2008 -0500"
      },
      "message": "ext4: Fix memory and buffer head leak in callers to ext4_ext_find_extent()\n\nThe path variable returned via ext4_ext_find_extent is a kmalloc\nvariable and needs to be freeded.  It also contains a reference to\nbuffer_head which needs to be dropped.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "55bd725aa3a83b3935988f37275b5a80e10d4169",
      "tree": "9e4c092830eafbb0036892d578d4075689ef81df",
      "parents": [
        "642be6ec218b956fbae88304449720f76ba0d578"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 15 12:47:21 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 12:47:21 2008 -0500"
      },
      "message": "ext4: Fix locking hierarchy violation in ext4_fallocate()\n\next4_fallocate() was trying to acquire i_data_sem outside of\njbd2_start_transaction/jbd2_journal_stop, which violates ext4\u0027s locking\nhierarchy.  So we take i_mutex to prevent writes and truncates during\nthe complete fallocate operation, and use ext4_get_block_wrap() which\nacquires and releases i_data_sem for each block allocation.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "b939e3766ec19eb556cb784c2faace253c6e1560",
      "tree": "0e088db3593d032ce9ee7090ae82b8ed213ccb23",
      "parents": [
        "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Use the ext4_ext_actual_len() helper function\n\next4 uses the high bit of the extent length to encode whether the extent\nis intialized or not. The helper function ext4_ext_get_actual_len should\nbe used to get the actual length of the extent.\n\nThis addresses the kernel bug documented here: \n     http://bugzilla.kernel.org/show_bug.cgi?id\u003d9732\n\nkernel BUG at fs/ext4/extents.c:1056!\n....\nCall Trace:\n[\u003cffffffff88366073\u003e] :ext4dev:ext4_ext_get_blocks+0x5ba/0x8c1\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff812748f6\u003e] _spin_unlock+0x17/0x20\n[\u003cffffffff883400a6\u003e] :jbd2:start_this_handle+0x4e0/0x4fe\n[\u003cffffffff88366564\u003e] :ext4dev:ext4_fallocate+0x175/0x39a\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff81056480\u003e] __lock_acquire+0x4e7/0xc4d\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff810a8de7\u003e] sys_fallocate+0xe4/0x10d\n[\u003cffffffff8100c043\u003e] tracesys+0xd5/0xda\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72",
      "tree": "0065fa9b23765b42aed171cc3e070aabb655d9de",
      "parents": [
        "ce40733ce93de402ed629762f0e912d9af187cef"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix uniniatilized extent splitting error\n\nFix bug reported by Dmitry Monakhov caused by lost error code\n\n    Testcase: \n\n    blksize \u003d 0x1000;\n    fd \u003d open(argv[1], O_RDWR|O_CREAT, 0700);\n    unsigned long long sz \u003d 0x10000000UL;\n    /* allocating big blocks chunk */\n    syscall(__NR_fallocate, fd, 0, 0UL, sz)\n\n    /* grab all other available filesystem space */\n    tfd \u003d open(\"tmp\", O_RDWR|O_CREAT|O_DIRECT, 0700);\n    while( write(tfd, buf, 4096) \u003e 0); /* loop untill ENOSPC */\n    fsync(fd); /* just in case */\n    while (pos \u003c sz) {\n    \t/* each seek+ write operation result in splits uninitialized extent\n    \tin three extents. Splitting may result in new extent allocation\n    \twhich probably will fail because of ENOSPC*/\n\n    \tlseek(fd, blksize*2 -1, SEEK_CUR);\n    \tif ((ret \u003d write(fd, \u0027a\u0027, 1)) !\u003d 1)\n    \t\texit(1);\n    \tpos +\u003d blksize * 2;\n    }\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c9de560ded61faa5b754137b7753da252391c55a",
      "tree": "2c4311377c4aa72450e27f531e198fe3e1c67db0",
      "parents": [
        "1988b51e476bd097d910c9245b53f2e38aedaf0d"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "message": "ext4: Add multi block allocator for ext4\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1988b51e476bd097d910c9245b53f2e38aedaf0d",
      "tree": "a36b860ac1a49b359d6dc5fd7af9916cf034cac8",
      "parents": [
        "aa02ad67d9b308290fde390682cd039b29f7ab85"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add new functions for searching extent tree\n\nAdd the functions ext4_ext_search_left() and ext4_ext_search_right(),\nwhich are used by mballoc during ext4_ext_get_blocks to decided whether\nto merge extent information.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Johann Lombardi \u003cjohann@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e",
      "tree": "6ca056c1cff1103739170d7a19c66a9966c59eb2",
      "parents": [
        "25ec56b518257a56d2ff41a941d288e4b5ff9488"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add EXT4_IOC_MIGRATE ioctl\n\nThe below patch add ioctl for migrating ext3 indirect block mapped inode\nto ext4 extent mapped inode.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0e855ac8b103ef579052936b59fe7c599ac422a4",
      "tree": "ec29f82e1d7bb1987dcadc00497daf69d6955483",
      "parents": [
        "c278bfecebfb1ed67c326ef472660878baa745cd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Convert truncate_mutex to read write semaphore.\n\nWe are currently taking the truncate_mutex for every read. This would have\nperformance impact on large CPU configuration. Convert the lock to read write\nsemaphore and take read lock when we are trying to read the file.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c278bfecebfb1ed67c326ef472660878baa745cd",
      "tree": "7207594cef5bd04ea7333a8321d78aefee01a540",
      "parents": [
        "01f4adc04480a4e0395906d0268c056cf09c39c0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Make ext4_get_blocks_wrap take the truncate_mutex early.\n\nWhen doing a migrate from ext3 to ext4 inode we need to make sure the test\nfor inode type and walking inode data happens inside  lock. To make this\nhappen move truncate_mutex early before checking the i_flags.\n\n\nThis actually should enable us to remove the verify_chain().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "221879c927df05280283a4de6124806c17cc44d4",
      "tree": "c9d1a53dc45c5d7dbe2456cbaee6eb56ed967bb2",
      "parents": [
        "f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Check for the correct error return from\n\next4_ext_get_blocks returns negative values on error. We should\ncheck for  \u003c\u003d 0\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1d03ec984ca41ba184822d1101babb3fa3e26c77",
      "tree": "6265c324e4c381d4324c69e1692fe6e6dc44cbbc",
      "parents": [
        "99e6f829a854daa6d56006cad51156e98863e73a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Fix sparse warnings.\n\nFix sparse warnings related to static functions\nand local variables.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bba907433b85ba2adae1bb3b6fd29b4e5f35c468",
      "tree": "e542fa7aa0d8ec783be83a895a02d6e26af9fbf6",
      "parents": [
        "725d26d3f09ccb5bac4b4293096b985a312a0d67"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4 extents: remove unneeded casts\n\nThere are many casts in extents.c which are not needed,\nas the variables are already the type of the cast, or\nare being promoted for no particular reason in printk\u0027s.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "725d26d3f09ccb5bac4b4293096b985a312a0d67",
      "tree": "1c49a07da252832fc6842c88a2359e8cd43af636",
      "parents": [
        "a72d7f834e1afa08421938d7eb06bd8e56b0e58c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_lblk_t\n\nThis patch adds a new data type ext4_lblk_t to represent\nthe logical file blocks.\n\nThis is the preparatory patch to support large files in ext4\nThe follow up patch with convert the ext4_inode i_blocks to\nrepresent the number of blocks in file system block size. This\nchanges makes it possible to have a block number 2**32 -1 which\nwill result in overflow if the block number is represented by\nsigned long. This patch convert all the block number to type\next4_lblk_t which is typedef to __u32\n\nAlso remove dead code ext4_ext_walk_space\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "6fb50ea79cb869667adaa71ed32cc15dd73986de",
      "tree": "3b162c7ab64fd6c3074d7d626a50d42ccbc8b68c",
      "parents": [
        "ece8a684c75df215320b4155944979e3f78c5c93"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:37:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] ext4_ext_split(): remove dead code\n\nThe Coverity checker noted that this was dead code, since in all places\nabove in this function, \"err\" is immediately checked.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "63f5793351d821749979e36889f9c089c6028c83",
      "tree": "654a9e600891ccf0c70c0bbbc0a15a52743ff90e",
      "parents": [
        "ceea16bf85fb46035dda1db263ca29b0e07e22ba"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 11 01:21:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:19 2006 -0700"
      },
      "message": "[PATCH] ext4 whitespace cleanups\n\nSomeone\u0027s tab key is emitting spaces.  Attempt to repair some of the damage.\n\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": "9b8f1f0106ab39ad58765d4e7c57189835f51127",
      "tree": "7f853ec30e4edc57f8b0c82db52b20a5beb75c38",
      "parents": [
        "2ae0210760aed9d626eaede5b63db95e198f7c8e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: removesector_t bits check\n\nPreviously when in-kernel ext4 block type is sector_t, it\u0027s only 4 bits long\nunder some 32bit arch (when CONFIG_LBD is not on).  So we need to check the\nsize of sector_t before we read 48bit long on-disk blocks to in-kernel blocks.\n\nThese checks are unnecessary now as we changed the in-kernel blocks to\nunsigned longlong.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ae0210760aed9d626eaede5b63db95e198f7c8e",
      "tree": "40fd1795f7d2b337407876d515a0147d72cea4f4",
      "parents": [
        "bd81d8eec043094d3ff729a8ff6d5b3a06d3c4b1"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: blk_type from sector_t to unsigned long long\n\nChange ext4 in-kernel block type (ext4_fsblk_t) from sector_t to unsigned\nlong long.  Remove ext4 block type string micro E3FSBLK, replaced with \"%llu\"\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d0d856e8bd6e697cb44b2b4dd038f3bec576a70e",
      "tree": "c069f410d607e40faf30107efe719dc2d068283b",
      "parents": [
        "471d4011a9862efff02094388b8fe8cd67683c38"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Oct 11 01:21:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext4: clean up comments in ext4-extents patch\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "471d4011a9862efff02094388b8fe8cd67683c38",
      "tree": "7ec2cdd632cf4076517d3c81044643ac65528b9b",
      "parents": [
        "f65e6fba163dfd0f962efb7d8f5528b6872e2b15"
      ],
      "author": {
        "name": "Suparna Bhattacharya",
        "email": "suparna@in.ibm.com",
        "time": "Wed Oct 11 01:21:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext4: uninitialised extent handling\n\nMake it possible to add file preallocation support in future as an RO_COMPAT\nfeature by recognizing uninitialized extents as holes and limiting extent\nlength to keep the top bit of ee_len free for marking uninitialized extents.\n\nSigned-off-by: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f65e6fba163dfd0f962efb7d8f5528b6872e2b15",
      "tree": "75ee824ba0e97038754f0732c458c689c04a4182",
      "parents": [
        "3a5b2ecdd1fa63a8f25bd769223bc1c2564ce45d"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Wed Oct 11 01:21:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext4: 48bit physical block number support in extents\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a86c61812637c7dd0c57e29880cffd477b62f2e7",
      "tree": "10737307293afde2999a887cfeac32c7d7584aa7",
      "parents": [
        "c3fcc8137ce4296ad6ab94f88bd60cbe03d21527"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Wed Oct 11 01:21:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext3: add extent map support\n\nOn disk extents format:\n/*\n* this is extent on-disk structure\n* it\u0027s used at the bottom of the tree\n*/\nstruct ext3_extent {\n__le32  ee_block;       /* first logical block extent covers */\n__le16  ee_len;         /* number of blocks covered by extent */\n__le16  ee_start_hi;    /* high 16 bits of physical block */\n__le32  ee_start;       /* low 32 bigs of physical block */\n};\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
