)]}'
{
  "log": [
    {
      "commit": "e7c9e3e99adf6c49c5d593a51375916acc039d1e",
      "tree": "a0aef22aed6ff8362a9816d8780db4584bc06ffa",
      "parents": [
        "a7b19448ddbdc34b2b8fedc048ba154ca798667b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 27 19:43:21 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 27 19:43:21 2009 -0400"
      },
      "message": "ext4: fix locking typo in mballoc which could cause soft lockup hangs\n\nSmatch (http://repo.or.cz/w/smatch.git/) complains about the locking in\next4_mb_add_n_trim() from fs/ext4/mballoc.c\n\n  4438          list_for_each_entry_rcu(tmp_pa, \u0026lg-\u003elg_prealloc_list[order],\n  4439                                                  pa_inode_list) {\n  4440                  spin_lock(\u0026tmp_pa-\u003epa_lock);\n  4441                  if (tmp_pa-\u003epa_deleted) {\n  4442                          spin_unlock(\u0026pa-\u003epa_lock);\n  4443                          continue;\n  4444                  }\n\nBrown paper bag time...\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "a7b19448ddbdc34b2b8fedc048ba154ca798667b",
      "tree": "0a2fb9d4fb875b95f9cfd6ee4789da7e2aad09ad",
      "parents": [
        "86db97c87f744364d5889ca8a4134ca2048b8f83"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Mar 27 19:42:54 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 27 19:42:54 2009 -0400"
      },
      "message": "ext4: fix typo which causes a memory leak on error path\n\nThis was found by smatch (http://repo.or.cz/w/smatch.git/)\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "cc0fb9ad7dbc5a149f4957a0dd6d65881d3d385b",
      "tree": "cbcf88bcd2306acba7d08e1c8e6ea87b76d3eb25",
      "parents": [
        "fe2c8191faa29d7a09f4962198f6dfab973ceec4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Mar 27 17:16:58 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 27 17:16:58 2009 -0400"
      },
      "message": "ext4: Rename pa_linear to pa_type\n\nImpact: code cleanup\n\nThis patch rename pa_linear to pa_type and add MB_INODE_PA\nand MB_GROUP_PA to indicate inode and group prealloc space.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9f24e4208f7ee2748f157368b63287dc903fcf60",
      "tree": "255989fe69ebfb2b031dc7cf6dbe975df67c711a",
      "parents": [
        "b713a5ec55bf73c833f9883cdd761b20ee61a1ab"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Mar 04 19:09:10 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Mar 04 19:09:10 2009 -0500"
      },
      "message": "ext4: Use atomic_t\u0027s in struct flex_groups\n\nReduce pressure on the sb_bgl_lock family of locks by using atomic_t\u0027s\nto track the number of free blocks and inodes in each flex_group.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "b713a5ec55bf73c833f9883cdd761b20ee61a1ab",
      "tree": "77bbc689f442cad3ce8ca21d7b2c7cea2738d519",
      "parents": [
        "3197ebdb130473a92760100cbfe0d7e671838f48"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 31 09:11:14 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Mar 31 09:11:14 2009 -0400"
      },
      "message": "ext4: remove /proc tuning knobs\n\nRemove tuning knobs in /proc/fs/ext4/\u003cdev/* since they have been\nreplaced by knobs in sysfs at /sys/fs/ext4/\u003cdev\u003e/*.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a4912123b688e057084e6557cef8924f7ae5bbde",
      "tree": "34e88705d6617b52caa0f87692b480119a9c9e2e",
      "parents": [
        "2dc6b0d48ca0599837df21b14bb8393d0804af57"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:18:34 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:18:34 2009 -0400"
      },
      "message": "ext4: New inode/block allocation algorithms for flex_bg filesystems\n\nThe find_group_flex() inode allocator is now only used if the\nfilesystem is mounted using the \"oldalloc\" mount option.  It is\nreplaced with the original Orlov allocator that has been updated for\nflex_bg filesystems (it should behave the same way if flex_bg is\ndisabled).  The inode allocator now functions by taking into account\neach flex_bg group, instead of each block group, when deciding whether\nor not it\u0027s time to allocate a new directory into a fresh flex_bg.\n\nThe block allocator has also been changed so that the first block\ngroup in each flex_bg is preferred for use for storing directory\nblocks.  This keeps directory blocks close together, which is good for\nspeeding up e2fsck since large directories are more likely to look\nlike this:\n\ndebugfs:  stat /home/tytso/Maildir/cur\nInode: 1844562   Type: directory    Mode:  0700   Flags: 0x81000\nGeneration: 1132745781    Version: 0x00000000:0000ad71\nUser: 15806   Group: 15806   Size: 1060864\nFile ACL: 0    Directory ACL: 0\nLinks: 2   Blockcount: 2072\nFragment:  Address: 0    Number: 0    Size: 0\n ctime: 0x499c0ff4:164961f4 -- Wed Feb 18 08:41:08 2009\n atime: 0x499c0ff4:00000000 -- Wed Feb 18 08:41:08 2009\n mtime: 0x49957f51:00000000 -- Fri Feb 13 09:10:25 2009\ncrtime: 0x499c0f57:00d51440 -- Wed Feb 18 08:38:31 2009\nSize of extra inode fields: 28\nBLOCKS:\n(0):7348651, (1-258):7348654-7348911\nTOTAL: 259\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a269eb18294d35874c53311acc2cd0b5ef477ce5",
      "tree": "4da256ba45385688bd7f1e8b638ce76f884c8313",
      "parents": [
        "81a052273998f94b098945c4c313e05246956eb2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:04:39 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:36 2009 +0100"
      },
      "message": "ext4: Use lowercase names of quota functions\n\nUse lowercase names of quota functions instead of old uppercase ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCC: linux-ext4@vger.kernel.org\n"
    },
    {
      "commit": "60e58e0f30e723464c2a7d34b71b8675566c572d",
      "tree": "2797ae1bccdad12d53c989a6dccea1c8ffd2bce3",
      "parents": [
        "643d00ccc311664188c8209bf8b596a30e139c3a"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Thu Jan 22 18:13:05 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:34 2009 +0100"
      },
      "message": "ext4: quota reservation for delayed allocation\n\nUses quota reservation/claim/release to handle quota properly for delayed\nallocation in the three steps: 1) quotas are reserved when data being copied\nto cache when block allocation is defered 2) when new blocks are allocated.\nreserved quotas are converted to the real allocated quota, 2) over-booked\nquotas for metadata blocks are released back.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d33a1976fbee1ee321d6f014333d8f03a39d526c",
      "tree": "9cc0de162cd0cba81d08ea1d0e505be6b2d54361",
      "parents": [
        "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "message": "ext4: fix bb_prealloc_list corruption due to wrong group locking\n\nThis is for Red Hat bug 490026: EXT4 panic, list corruption in\next4_mb_new_inode_pa\n\next4_lock_group(sb, group) is supposed to protect this list for\neach group, and a common code flow to remove an album is like\nthis:\n\n    ext4_get_group_no_and_offset(sb, pa-\u003epa_pstart, \u0026grp, NULL);\n    ext4_lock_group(sb, grp);\n    list_del(\u0026pa-\u003epa_group_list);\n    ext4_unlock_group(sb, grp);\n\nso it\u0027s critical that we get the right group number back for\nthis prealloc context, to lock the right group (the one \nassociated with this pa) and prevent concurrent list manipulation.\n\nhowever, ext4_mb_put_pa() passes in (pa-\u003epa_pstart - 1) with a \ncomment, \"-1 is to protect from crossing allocation group\".\n\nThis makes sense for the group_pa, where pa_pstart is advanced\nby the length which has been used (in ext4_mb_release_context()),\nand when the entire length has been used, pa_pstart has been\nadvanced to the first block of the next group.\n\nHowever, for inode_pa, pa_pstart is never advanced; it\u0027s just\nset once to the first block in the group and not moved after\nthat.  So in this case, if we subtract one in ext4_mb_put_pa(),\nwe are actually locking the *previous* group, and opening the\nrace with the other threads which do not subtract off the extra\nblock.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9",
      "tree": "1fce7a08eb712e9b895ca39786e6f5bef1e632f7",
      "parents": [
        "2842c3b5449f31470b61db716f1926b594fb6156"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "message": "ext4: fix bogus BUG_ONs in in mballoc code\n\nThiemo Nagel reported that:\n\n# dd if\u003d/dev/zero of\u003dimage.ext4 bs\u003d1M count\u003d2\n# mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \\\n  -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4\n# mount -o loop image.ext4 mnt/\n# dd if\u003d/dev/zero of\u003dmnt/file\n\noopsed, with a BUG_ON in ext4_mb_normalize_request because\nsize \u003d\u003d EXT4_BLOCKS_PER_GROUP\n\nIt appears to me (esp. after talking to Andreas) that the BUG_ON\nis bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should\nbe allowed, though larger sizes do indicate a problem.\n\nFix that an another (apparently rare) codepath with a similar check.\n\nReported-by: Thiemo Nagel \u003cthiemo.nagel@ph.tum.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d794bf8e0936dce45104565cd48c571061f4c1e3",
      "tree": "ad23776b739eb551b520865e837a106a7b628819",
      "parents": [
        "ba4439165f0f0d25b2fe065cf0c1ff8130b802eb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Feb 14 10:31:16 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 14 10:31:16 2009 -0500"
      },
      "message": "ext4: Initialize preallocation list_head\u0027s properly\n\nWhen creating a new ext4_prealloc_space structure, we have to\ninitialize its list_head pointers before we add them to any prealloc\nlists.  Otherwise, with list debug enabled, we will get list\ncorruption warnings.\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": "ba4439165f0f0d25b2fe065cf0c1ff8130b802eb",
      "tree": "242f9aa5cc4fe0ca7d3062aa0a7ec713a4346bb8",
      "parents": [
        "7be2baaa0322c59ba888aa5260a8c130666acd41"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Feb 10 11:14:34 2009 -0500"
      },
      "committer": {
        "name": "Theodore Tso",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 10 11:14:34 2009 -0500"
      },
      "message": "ext4: Fix lockdep warning\n\nWe should not call ext4_mb_add_n_trim while holding alloc_semp.\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ INFO: possible recursive locking detected ]\n    2.6.29-rc4-git1-dirty #124\n    ---------------------------------------------\n    ffsb/3116 is trying to acquire lock:\n     (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cffffffff8035a6e8\u003e]\n     ext4_mb_load_buddy+0xd2/0x343\n\n    but task is already holding lock:\n     (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cffffffff8035a6e8\u003e]\n     ext4_mb_load_buddy+0xd2/0x343\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12672\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": "9fd9784c91db79e953ea3fe3741f885bdc390a72",
      "tree": "b92c9be3218c6559aed0ff9dc4d61c33a1130093",
      "parents": [
        "fdff73f094e7220602cc3f8959c7230517976412"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Mon Jan 26 19:26:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 26 19:26:26 2009 -0500"
      },
      "message": "ext4: Fix building with EXT4FS_DEBUG\n\nWhen bg_free_blocks_count was renamed to bg_free_blocks_count_lo in\n560671a0, its uses under EXT4FS_DEBUG were not changed to the helper\next4_free_blks_count.\n\nAnother commit, 498e5f24, also did not change everything needed under\nEXT4FS_DEBUG, thus making it spill some warnings related to printing\nformat.\n\nThis commit fixes both issues and makes ext4 build again when\nEXT4FS_DEBUG is enabled.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ba80b1019aa722b24506db1ee755e0bb2f513022",
      "tree": "0c9a7dfd3af0f5991f3eaaeb65d735b11e9cf777",
      "parents": [
        "c31910672376dfb8d020e32afa7249763bcd924a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:03:21 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 20:03:21 2009 -0500"
      },
      "message": "ext4: Add markers for better debuggability\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0087d9fb3f29f59e8d42c8b058376d80e5adde4c",
      "tree": "b7be65e3a316ce92de45fda55f9827f0d1caab9c",
      "parents": [
        "29eaf024980e07cc01f31ae4ea5d68c917f4b7da"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:49:12 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:49:12 2009 -0500"
      },
      "message": "ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n\nWith nodelalloc option we need to update the dirty block counter on\nblock allocation failure. This is needed because we increment the\ndirty block counter early in the block allocation phase. Without\nthe patch s_dirty_blocks_counter goes wrong so that filesystem\u0027s\nfree blocks decreases incorrectly.\n\nTested-by: Akira Fujita \u003ca-fujita@rs.jp.nec.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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "29eaf024980e07cc01f31ae4ea5d68c917f4b7da",
      "tree": "969f94ad36afc5e1edcd51964f0c6bc5b0044371",
      "parents": [
        "8556e8f3b6c4c11601ce1e9ea8090a6d8bd5daae"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:48:56 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:48:56 2009 -0500"
      },
      "message": "ext4: Init the complete page while building buddy cache\n\nWe need to init the complete page during buddy cache init\nby setting the contents to \u00271\u0027.  Otherwise we can see the\nfollowing errors after doing an online resize of the\nfilesystem:\n\nEXT4-fs error (device sdb1): ext4_mb_mark_diskspace_used:\n\tAllocating block 1040385 in system zone of 127 group\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8556e8f3b6c4c11601ce1e9ea8090a6d8bd5daae",
      "tree": "8a0da99a4781cbde8c050d7cbcd85f31fd54e894",
      "parents": [
        "648f5879f5892dddd3ba71cd0d285599f40f2512"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:46:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:46:55 2009 -0500"
      },
      "message": "ext4: Don\u0027t allow new groups to be added during block allocation\n\nAfter we mark the blocks in the buddy cache as allocated,\nwe need to ensure that we don\u0027t reinit the buddy cache until\nthe block bitmap is updated.  This commit achieves this by holding\nthe group_info alloc_semaphore till ext4_mb_release_context\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "648f5879f5892dddd3ba71cd0d285599f40f2512",
      "tree": "dee22aa9be9e47c9a9a25ce38481079aaf8858c8",
      "parents": [
        "2ccb5fb9f113dae969d1ae9b6c10e80fa34f8cd3"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:46:04 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:46:04 2009 -0500"
      },
      "message": "ext4: mark the blocks/inode bitmap beyond end of group as used\n\nWe need to mark the block/inode bitmap beyond the end of the group\nwith \u00271\u0027.\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2ccb5fb9f113dae969d1ae9b6c10e80fa34f8cd3",
      "tree": "d9dc5bca94748d4173a7783e963d20b5a75f8db8",
      "parents": [
        "393418676a7602e1d7d3f6e560159c65c8cbd50e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:49:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:49:55 2009 -0500"
      },
      "message": "ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n\nFor uninit block group, the on-disk bitmap is not initialized. That\nimplies we cannot depend on the uptodate flag on the bitmap\nbuffer_head to find bitmap validity.  Use a new buffer_head flag which\nwould be set after we properly initialize the bitmap.  This also\nprevents (re-)initializing the uninit group bitmap every time we call \next4_read_block_bitmap().\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "3300beda523136f9f87821e4fba85c5c9e319645",
      "tree": "0af91284ffa44b9c8c1b0de26674bca30271561f",
      "parents": [
        "560671a0d3c9ad2d647fa6d09375a262e1f19c4f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 03 22:33:39 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 22:33:39 2009 -0500"
      },
      "message": "ext4: code cleanup\n\nRename some variables.  We also unlock locks in the reverse order we\nacquired as a part of cleanup.\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": "560671a0d3c9ad2d647fa6d09375a262e1f19c4f",
      "tree": "a52673326726062d53b35643d51a16739cd804fc",
      "parents": [
        "e8134b27e351e813414da3b95aa8eac6d3908088"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 22:20:24 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:20:24 2009 -0500"
      },
      "message": "ext4: Use high 16 bits of the block group descriptor\u0027s free counts fields\n\nRename the lower bits with suffix _lo and add helper\nto access the values. Also rename bg_itable_unused_hi\nto bg_pad as in e2fsprogs.\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": "e8134b27e351e813414da3b95aa8eac6d3908088",
      "tree": "c2d9939f92cc326b4ecfc3903a489fb753cb344c",
      "parents": [
        "5d1b1b3f492f8696ea18950a454a141381b0f926"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:38:26 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:38:26 2009 -0500"
      },
      "message": "ext4: Fix race between read_block_bitmap() and mark_diskspace_used()\n\nWe need to make sure we update the block bitmap and clear\nEXT4_BG_BLOCK_UNINIT flag with sb_bgl_lock held, since\next4_read_block_bitmap() looks at EXT4_BG_BLOCK_UNINIT to decide\nwhether to initialize the block bitmap each time it is called\n(introduced by commit c806e68f), and this can race with block\nallocations in ext4_mb_mark_diskspace_used().\n\next4_read_block_bitmap does:\n\nspin_lock(sb_bgl_lock(EXT4_SB(sb), block_group));\nif (desc-\u003ebg_flags \u0026 cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {\n\text4_init_block_bitmap(sb, bh, block_group, desc);\n\nNow on the block allocation side we do\n\nmb_set_bits(sb_bgl_lock(sbi, ac-\u003eac_b_ex.fe_group), bitmap_bh-\u003eb_data,\n\t\t\tac-\u003eac_b_ex.fe_start, ac-\u003eac_b_ex.fe_len);\n....\nspin_lock(sb_bgl_lock(sbi, ac-\u003eac_b_ex.fe_group));\nif (gdp-\u003ebg_flags \u0026 cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {\n\tgdp-\u003ebg_flags \u0026\u003d cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);\n\nie on allocation we update the bitmap then we take the sb_bgl_lock\nand clear the EXT4_BG_BLOCK_UNINIT flag. What can happen is a\nparallel ext4_read_block_bitmap can zero out the bitmap in between\nthe above mb_set_bits and spin_lock(sb_bg_lock..)\n\nThe race results in below user visible errors\nEXT4-fs error (device sdb1): ext4_mb_release_inode_pa: free 100, pa_free 105\nEXT4-fs error (device sdb1): mb_free_blocks: double-free of inode 0\u0027s block ..\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "5d1b1b3f492f8696ea18950a454a141381b0f926",
      "tree": "e6277cd3e01c074403b9da7390de1daa6b9f248f",
      "parents": [
        "b7be019e80da4db96d283734d55366014509911c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 22:19:52 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:19:52 2009 -0500"
      },
      "message": "ext4: fix BUG when calling ext4_error with locked block group\n\nThe mballoc code likes to call ext4_error while it is holding locked\nblock groups.  This can causes a scheduling in atomic context BUG.  We\ncan\u0027t just unlock the block group and relock it after/if ext4_error\nreturns since that might result in race conditions in the case where\nthe filesystem is set to continue after finding errors.\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": "b7be019e80da4db96d283734d55366014509911c",
      "tree": "86304f0c872dad5200e6015b7e7b56e53ad61ba8",
      "parents": [
        "7a2fcbf7f85737735fd44eb34b62315bccf6d6e4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Nov 23 23:51:53 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Nov 23 23:51:53 2008 -0500"
      },
      "message": "ext4: Fix lockdep recursive locking warning\n\nIn ext4_mb_init_group(), if the filesystem block size is less than\nPAGE_SIZE/2, the code tries to grab alloc_sem for multiple block\ngroups in a loop.  We need to allow for this by using\ndown_write_nested() and passing in the loop index as a lock subclass\nnumber.  This works because no other code path needs to take multiple\nalloc_sem\u0027s.  Note that lockdep will fail for filesystem blocksize\nsmaller than to PAGE_SIZE/16k.  (e.g., a 1k filesystem blocksize with\na 32k page size, or a 2k filesystem blocksize with a 64k blocksize,\netc.)\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": "7a2fcbf7f85737735fd44eb34b62315bccf6d6e4",
      "tree": "19c7dd8cc56864445dd5fbe3fd2b941d1966492d",
      "parents": [
        "fb68407b0d9efba962c03f55009c797e22f024bc"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:36:55 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:36:55 2009 -0500"
      },
      "message": "ext4: don\u0027t use blocks freed but not yet committed in buddy cache init\n\nWhen we generate buddy cache (especially during resize) we need to\nmake sure we don\u0027t use the blocks freed but not yet comitted.  This\nmakes sure we have the right value of free blocks count in the group\ninfo and also in the bitmap.  This also ensures the ordered mode\nconsistency\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c3a326a657562dab81acf05aee106dc1fe345eb4",
      "tree": "228cf1c76cc51041fdc57e8b0b7ee7008400c457",
      "parents": [
        "920313a726e04fef0f2c0bcb04ad8229c0e700d8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 25 15:11:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 25 15:11:52 2008 -0500"
      },
      "message": "ext4: cleanup mballoc header files\n\nMove some of the forward declaration of the static functions\nto mballoc.c where they are used. This enables us to include\nmballoc.h in other .c files. Also correct the buddy cache\ndocumentation.\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": "920313a726e04fef0f2c0bcb04ad8229c0e700d8",
      "tree": "7e7644a2fd48586ec2f455e56525565174798e4a",
      "parents": [
        "e21675d4b63975d09eb75c443c48ebe663d23e18"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:36:19 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:36:19 2009 -0500"
      },
      "message": "ext4: Use EXT4_GROUP_INFO_NEED_INIT_BIT during resize\n\nThe new groups added during resize are flagged as\nneed_init group. Make sure we properly initialize these\ngroups. When we have block size \u003c page size and we are adding\nnew groups the page may still be marked uptodate even though\nwe haven\u0027t initialized the group. While forcing the init\nof buddy cache we need to make sure other groups part of the\nsame page of buddy cache is not using the cache.\ngroup_info-\u003ealloc_sem is added to ensure the same.\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\ncc: stable@kernel.org\n"
    },
    {
      "commit": "3a06d778dfeda7eaeeb79bfa49cf97f2aae132b4",
      "tree": "08c813063950404356c9c64678eed72f21f217b9",
      "parents": [
        "1a0d3786dd57dbd74f340322054c3d618b999dcf"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Nov 22 15:04:59 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Nov 22 15:04:59 2008 -0500"
      },
      "message": "ext4: sparse fixes\n\n* Change EXT4_HAS_*_FEATURE to return a boolean\n* Add a function prototype for ext4_fiemap() in ext4.h\n* Make ext4_ext_fiemap_cb() and ext4_xattr_fiemap() be static functions\n* Add lock annotations to mb_free_blocks()\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": "498e5f24158da7bf8fa48074a70e370e22844492",
      "tree": "1434b349c8eca3b0667af0b385533cbcd599c1c3",
      "parents": [
        "a9df9a49102f3578909cba7bd33784eb3b9caaa4"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 00:14:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 05 00:14:04 2008 -0500"
      },
      "message": "ext4: Change unsigned long to unsigned int\n\nConvert the unsigned longs that are most responsible for bloating the\nstack usage on 64-bit systems.\n\nNearly all places in the ext3/4 code which uses \"unsigned long\" is\nprobably a bug, since on 32-bit systems a ulong a 32-bits, which means\nwe are wasting stack space on 64-bit systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a9df9a49102f3578909cba7bd33784eb3b9caaa4",
      "tree": "1d383d422bf7185e8e87c1bcfc80f9beb3074cf8",
      "parents": [
        "cde6436004ad9cd8cab5a874b6fa8b01f1da91bf"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:18:16 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:18:16 2009 -0500"
      },
      "message": "ext4: Make ext4_group_t be an unsigned int\n\nNearly all places in the ext3/4 code which uses \"unsigned long\" is\nprobably a bug, since on 32-bit systems a ulong a 32-bits, which means\nwe are wasting stack space on 64-bit systems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "032115fcef837a00336ddf7bda584e89789ea498",
      "tree": "3c36bca32a6590e675146638992ef988a0fbb430",
      "parents": [
        "fde4d95ad8711c84a36735a17136c45b19746af9"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 05 21:34:30 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 21:34:30 2009 -0500"
      },
      "message": "ext4: Don\u0027t overwrite allocation_context ac_status\n\nWe can call ext4_mb_check_limits even after successfully allocating\nthe requested blocks.  In that case, make sure we don\u0027t overwrite\nac_status if it already has the status AC_STATUS_FOUND.  This fixes\nthe lockdep warning:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.28-rc6-autokern1 #1\n---------------------------------------------\nfsstress/11948 is trying to acquire lock:\n (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cc04d9a49\u003e] ext4_mb_load_buddy+0x9f/0x278\n.....\n\nstack backtrace:\n.....\n [\u003cc04db974\u003e] ext4_mb_regular_allocator+0xbb5/0xd44\n.....\n\nbut task is already holding lock:\n (\u0026meta_group_info[i]-\u003ealloc_sem){----}, at: [\u003cc04d9a49\u003e] ext4_mb_load_buddy+0x9f/0x278\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\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fde4d95ad8711c84a36735a17136c45b19746af9",
      "tree": "e4d4dcaeb18083be204ba8fe55a75400ded699ae",
      "parents": [
        "fd98496f467b3d26d05ab1498f41718b5ef13de5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:17:35 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:17:35 2009 -0500"
      },
      "message": "ext4: remove extraneous newlines from calls to ext4_error() and ext4_warning()\n\nThis removes annoying blank syslog entries emitted by ext4_error() or\next4_warning(), since these functions add their own newline.\n\nSigned-off-by: Nick Warne \u003cnick@ukfsn.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0390131ba84fd3f726f9e24fc4553828125700bb",
      "tree": "4c90afad4e8690e25aec0ce069fd450e92ab5f96",
      "parents": [
        "ff7ef329b268b603ea4a2303241ef1c3829fd574"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Wed Jan 07 00:06:22 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jan 07 00:06:22 2009 -0500"
      },
      "message": "ext4: Allow ext4 to run without a journal\n\nA few weeks ago I posted a patch for discussion that allowed ext4 to run\nwithout a journal.  Since that time I\u0027ve integrated the excellent\ncomments from Andreas and fixed several serious bugs.  We\u0027re currently\nrunning with this patch and generating some performance numbers against\nboth ext2 (with backported reservations code) and ext4 with and without\na journal.  It just so happens that running without a journal is\nslightly faster for most everything.\n\nWe did\n\tiozone -T -t 4 s 2g -r 256k -T -I -i0 -i1 -i2\n\nwhich creates 4 threads, each of which create and do reads and writes on\na 2G file, with a buffer size of 256K, using O_DIRECT for all file opens\nto bypass the page cache.  Results:\n\n                     ext2        ext4, default   ext4, no journal\n  initial writes   13.0 MB/s        15.4 MB/s          15.7 MB/s\n  rewrites         13.1 MB/s        15.6 MB/s          15.9 MB/s\n  reads            15.2 MB/s        16.9 MB/s          17.2 MB/s\n  re-reads         15.3 MB/s        16.9 MB/s          17.2 MB/s\n  random readers    5.6 MB/s         5.6 MB/s           5.7 MB/s\n  random writers    5.1 MB/s         5.3 MB/s           5.4 MB/s \n\nSo it seems that, so far, this was a useful exercise.\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ff7ef329b268b603ea4a2303241ef1c3829fd574",
      "tree": "5f95f4828ef7e68c06996b18c405bc0526e2bb34",
      "parents": [
        "93c0d86371a5b2e68473752a6e54ff03185c473e"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Wed Dec 17 00:48:39 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 17 00:48:39 2008 -0500"
      },
      "message": "ext4: Widen type of ext4_sb_info.s_mb_maxs[]\n\nI chased the cause of following ext4 oops report which is tested on\nia64 box.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12018\n\nThe cause is the size of s_mb_maxs array that is defined as \"unsigned\nshort\" in ext4_sb_info structure.  If the file system\u0027s block size is\n8k or greater, an unsigned short is not wide enough to contain the\nvalue fs-\u003eblocksize \u003c\u003c 3.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ae2d9fb18e575ed37ffc241ece4bf68f0be4ae32",
      "tree": "89a063362d3cd6ee3ed6bd1f87515fdbaec71cca",
      "parents": [
        "2423840ded13e6d3b52d88aff8d033bb78fafd08"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 04 09:10:50 2008 -0500"
      },
      "message": "ext4: fix missing ext4_unlock_group in error path\n\nIf we try to free a block which is already freed, the code was\nreturning without first unlocking the group.\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": "3e624fc72fba09b6f999a9fbb87b64efccd38036",
      "tree": "f0a1feac377788b27ea704519a33f367a6d415f9",
      "parents": [
        "22359f5745eb26bd3205a1ede7968c8944398220"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 20:00:24 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 20:00:24 2008 -0400"
      },
      "message": "ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback\n\nThe multiblock allocator needs to be able to release blocks (and issue\na blkdev discard request) when the transaction which freed those\nblocks is committed.  Previously this was done via a polling mechanism\nwhen blocks are allocated or freed.  A much better way of doing things\nis to create a jbd2 callback function and attaching the list of blocks\nto be freed directly to the transaction structure.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0b09923eabd92f11a8b272dd3fd0347332d0e1e2",
      "tree": "20fbba154ab3b9e8c0c77549db17d6d71f86abe5",
      "parents": [
        "5128273a326679970b9196a27ff812670927c1c4"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Fri Oct 17 14:58:45 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 17 14:58:45 2008 -0400"
      },
      "message": "ext4: Remove compile warnings when building w/o CONFIG_PROC_FS\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8a0aba733db1adb5e1f0e828889a18f4c1c512de",
      "tree": "e66c57f34cdb28c45c34dfc63a93c72791316fe0",
      "parents": [
        "a1aebc1e2da9a7bee4ff8cce510b08f469d1929e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:06:27 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:06:27 2008 -0400"
      },
      "message": "ext4: let the block device know when unused blocks can be discarded\n\nLet the block device know when unused blocks can be discarded, using\nthe new sb_issue_discard() interface.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c894058d66637c7720569fbe12957f4de64d9991",
      "tree": "f13472d7fd76155f1365550515997a24aff611c9",
      "parents": [
        "c2774d84fd6cab2bfa2a2fae0b1ca8d8ebde48a2"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Oct 16 10:14:27 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 16 10:14:27 2008 -0400"
      },
      "message": "ext4: Use an rbtree for tracking blocks freed during transaction.\n\nWith this patch we track the block freed during a transaction using\nred-black tree.  We also make sure contiguous blocks freed are collected\nin one node in the tree.\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": "688f05a01983711a4e715b1d6e15a89a89c96a66",
      "tree": "a0b46e7bbbdffd89ca27da331eb2b62d0106f300",
      "parents": [
        "473dc8eddb049055ef823e000ad968ebd56cdaca"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Oct 13 12:14:14 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Oct 13 12:14:14 2008 -0400"
      },
      "message": "ext4: Free ext4_prealloc_space using kmem_cache_free\n\nWe should use kmem_cache_free to free memory allocated\nvia kmem_cache_alloc\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": "c806e68f5647109350ec546fee5b526962970fd2",
      "tree": "88f2d467ba95ceb7cbe011c424af83bdfe8a39d6",
      "parents": [
        "c2ea3fde61f1df1dbf062345f23277dcd6f01dfe"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Oct 10 08:09:18 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 08:09:18 2008 -0400"
      },
      "message": "ext4: fix initialization of UNINIT bitmap blocks\n\nThis fixes a bug which caused on-line resizing of filesystems with a\n1k blocksize to fail.  The root cause of this bug was the fact that if\nan uninitalized bitmap block gets read in by userspace (which\ne2fsprogs does try to avoid, but can happen when the blocksize is less\nthan the pagesize and an adjacent blocks is read into memory)\next4_read_block_bitmap() was erroneously depending on the buffer\nuptodate flag to decide whether it needed to initialize the bitmap\nblock in memory --- i.e., to set the standard set of blocks in use by\na block group (superblock, bitmaps, inode table, etc.).  Essentially,\next4_read_block_bitmap() assumed it was the only routine that might\ntry to read a block containing a block bitmap, which is simply not\ntrue.  \n\nTo fix this, ext4_read_block_bitmap() and ext4_read_inode_bitmap()\nmust always initialize uninitialized bitmap blocks.  Once a block or\ninode is allocated out of that bitmap, it will be marked as\ninitialized in the block group descriptor, so in general this won\u0027t\nresult any extra unnecessary work.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\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": "5e8814f2f74f53d58aa5679bf32b38a7940033fe",
      "tree": "05f70d1d57d20111a57cd35fb971e36f836d24e8",
      "parents": [
        "9f6200bbfc962d8f926278cf5d5ddb90a228c322"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 23 18:07:35 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 23 18:07:35 2008 -0400"
      },
      "message": "ext4: Combine proc file handling into a single set of functions\n\nPreviously mballoc created a separate set of functions for each proc\nfile.  This combines the tunables into a single set of functions which\ngets used for all of the per-superblock proc files, saving\napproximately 2k of compiled object code.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9f6200bbfc962d8f926278cf5d5ddb90a228c322",
      "tree": "86cf42e4f1fff753a38c64d49971efd04bfdd5f9",
      "parents": [
        "f702ba0fd7d50b5f5f5aea5317875a10d40b869f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 23 09:18:24 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 23 09:18:24 2008 -0400"
      },
      "message": "ext4: move /proc setup and teardown out of mballoc.c\n\n...and into the core setup/teardown code in fs/ext4/super.c so that\nother parts of ext4 can define tuning parameters.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "730c213c79a638137b47a90624e4bac252f07ae7",
      "tree": "dd4e5ebd64045721d5834cea52e6edb4de2fe676",
      "parents": [
        "8eea80d52b9d87cfd771055534bd2c24f73704d7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Sep 13 15:23:29 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 13 15:23:29 2008 -0400"
      },
      "message": "ext4: use percpu data structures for lg_prealloc_list\n\nlg_prealloc_list seems to cry out for a per-cpu data structure; on a large\nsmp system I think this should be better.  I\u0027ve lightly tested this change\non a 4-cpu system.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "899fc1a4cf404747de2666534d508804597ee22f",
      "tree": "4d3079f33198272fe0dfc6a08fe63dad659a374e",
      "parents": [
        "c62a11fd9555007b1caab83b5bcbb443a43e32bb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 14 10:21:33 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Sep 14 10:21:33 2008 -0400"
      },
      "message": "ext4: fix #11321: create /proc/ext4/*/stats more carefully\n\next4 creates per-suberblock directory in /proc/ext4/ . Name used as\nbasis is taken from bdevname, which, surprise, can contain slash.\n\nHowever, proc while allowing to use proc_create(\"a/b\", parent) form of\nPDE creation, assumes that parent/a was already created.\n\nbdevname in question is \u0027cciss/c0d0p9\u0027, directory is not created and all\nthis stuff goes directly into /proc (which is real bug).\n\nWarning comes when _second_ partition is mounted.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11321\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6bc6e63fcd7dac9e633ea29f1fddd9580ab28f3f",
      "tree": "144d53023af5faeb94b9b3aa28e186a33e6c5b98",
      "parents": [
        "030ba6bc67b4f2bc5cd174f57785a1745c929abe"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Oct 10 09:39:00 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 10 09:39:00 2008 -0400"
      },
      "message": "ext4: Add percpu dirty block accounting.\n\nThis patch adds dirty block accounting using percpu_counters.  Delayed\nallocation block reservation is now done by updating dirty block\ncounter.  In a later patch we switch to non delalloc mode if the\nfilesystem free blocks is greater than 150% of total filesystem dirty\nblocks\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": "030ba6bc67b4f2bc5cd174f57785a1745c929abe",
      "tree": "14c57b4f6f8afddac0bd2415bfa050fba8d25980",
      "parents": [
        "a30d542a0035b886ffaafd0057ced0a2b28c3a4f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Sep 08 23:14:50 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 08 23:14:50 2008 -0400"
      },
      "message": "ext4: Retry block reservation\n\nDuring block reservation if we don\u0027t have enough blocks left, retry\nblock reservation with smaller block counts.  This makes sure we try\nfallocate and DIO with smaller request size and don\u0027t fail early.  The\ndelayed allocation reservation cannot try with smaller block count. So\nretry block reservation to handle temporary disk full conditions.  Also\nprint free blocks details if we fail block allocation during writepages.\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": "a30d542a0035b886ffaafd0057ced0a2b28c3a4f",
      "tree": "9e677eaf4eb1611701828554b27a1b0b0ae523fd",
      "parents": [
        "c4a0c46ec92c194c873232b88debce4e1a448483"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Oct 09 10:56:23 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 09 10:56:23 2008 -0400"
      },
      "message": "ext4: Make sure all the block allocation paths reserve blocks\n\nWith delayed allocation we need to make sure block are reserved before\nwe attempt to allocate them. Otherwise we get block allocation failure\n(ENOSPC) during writepages which cannot be handled. This would mean\nsilent data loss (We do a printk stating data will be lost). This patch\nupdates the DIO and fallocate code path to do block reservation before\nblock allocation. This is needed to make sure parallel DIO and fallocate\nrequest doesn\u0027t take block out of delayed reserve space.\n\nWhen free blocks count go below a threshold we switch to a slow patch\nwhich looks at other CPU\u0027s accumulated percpu counter values.\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": "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": "5e745b041f2ccad63077118b40468521306f3962",
      "tree": "2a4d53c884f92899ee8e4f541c32861a4a577e1d",
      "parents": [
        "91246c009094142f95ecc7573b7caed2bcef52c7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Aug 18 18:00:57 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 18 18:00:57 2008 -0400"
      },
      "message": "ext4: Fix small file fragmentation\n\nFor small file block allocations, mballoc uses per cpu prealloc\nspace.  Use goal block when searching for the right prealloc\nspace.  Also make sure ext4_da_writepages tries to write\nall the pages for small files in single attempt\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": "6be2ded1d7c51b39144b9f07d2c839e1bd8707f1",
      "tree": "aed3b1a8a0ebb8d62152a469953d970926988392",
      "parents": [
        "1320cbcf771a20b44cf580712b843d213ae75cd3"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jul 23 14:14:05 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 23 14:14:05 2008 -0400"
      },
      "message": "ext4: Don\u0027t allow lg prealloc list to be grow large.\n\nCurrently, the locality group prealloc list is freed only when there\nis a block allocation failure. This can result in large number of\nentries in the preallocation list making ext4_mb_use_preallocated()\nexpensive.\n\nTo fix this, we convert the locality group prealloc list to a hash\nlist. The hash index is the order of number of blocks in the prealloc\nspace with a max order of 9. When adding prealloc space to the list we\nmake sure total entries for each order does not exceed 8. If it is\nmore than 8 we discard few entries and make sure the we have only \u003c\u003d 5\nentries.\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": "1320cbcf771a20b44cf580712b843d213ae75cd3",
      "tree": "b9fe57806ea505614f9587aa70956d9ea0fcbca5",
      "parents": [
        "ce89f46cb833f89c58a08240faa6b5e963086b8a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jul 23 14:09:26 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 23 14:09:26 2008 -0400"
      },
      "message": "ext4: Convert the usage of NR_CPUS to nr_cpu_ids.\n\nNR_CPUS can be really large. We should be using nr_cpu_ids instead.\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": "ce89f46cb833f89c58a08240faa6b5e963086b8a",
      "tree": "c5743d9b16622610595db5fad891ae9f088d04ee",
      "parents": [
        "b5f10eed8125702929e57cca7e5956b1b9b6d015"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jul 23 14:09:29 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 23 14:09:29 2008 -0400"
      },
      "message": "ext4: Improve error handling in mballoc\n\nDon\u0027t call BUG_ON on file system failures. Instead use ext4_error and\nalso handle the continue case properly.\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": "b5f10eed8125702929e57cca7e5956b1b9b6d015",
      "tree": "e5b38a6f654baea3658bf100320a4d66387988a3",
      "parents": [
        "e29d1cde63be0b5f1739416b5574a83c34bf8eeb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Aug 02 21:21:08 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 02 21:21:08 2008 -0400"
      },
      "message": "ext4: lock block groups when initializing\n\nI noticed when filling a 1T filesystem with 4 threads using the\nfs_mark benchmark:\n\nfs_mark -d /mnt/test -D 256 -n 100000 -t 4 -s 20480 -F -S 0\n\nthat I occasionally got checksum mismatch errors:\n\nEXT4-fs error (device sdb): ext4_init_inode_bitmap: Checksum bad for group 6935\n\netc.  I\u0027d reliably get 4-5 of them during the run.\n\nIt appears that the problem is likely a race to init the bg\u0027s\nwhen the uninit_bg feature is enabled.\n\nWith the patch below, which adds sb_bgl_locking around initialization,\nI was able to complete several runs with no errors or warnings.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\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": "5f21b0e642d7bf6fe4434c9ba12bc9cb96b17cf7",
      "tree": "0f391fac5cc7fa93129bf8dd853598c6d2d65bb5",
      "parents": [
        "953e622b601f58b7cc0f29fe644457fa40a18456"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "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 online resize with mballoc\n\nUpdate group infos when updating a group\u0027s descriptor.\nAdd group infos when adding a group\u0027s descriptor.\nRefresh cache pages used by mb_alloc when changes occur.\nThis will probably need modifications when META_BG resizing will be allowed.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "07031431072ece801d53d2c03d5e5bb21f4f64a4",
      "tree": "b3075b21242bda4e16c35814fceeaef64a027647",
      "parents": [
        "d755fb384250d6bd7fd18a0930e71965acc8e72e"
      ],
      "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: mballoc avoid use root reserved blocks for non root allocation\n\nmballoc allocation missed check for blocks reserved for root users. Add\next4_has_free_blocks() check before allocation. Also modified\next4_has_free_blocks() to support multiple block allocation request.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\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": "363d4251d4bd984c304e0989789f6494343660fd",
      "tree": "01a697f77e1e486b7f7972f4cbe27b71fca911eb",
      "parents": [
        "f9a8ac99fd79eb961a8573ccf058439bc17b4d3a"
      ],
      "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: remove quota allocation when ext4_mb_new_blocks fails\n\nQuota allocation is not removed when ext4_mb_new_blocks calls\nkmem_cache_alloc failed.  Also make sure the allocation context is freed\non the error path.\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": "772cb7c83ba256a11c7bf99a11bef3858d23767c",
      "tree": "a42b97e5cbd870a76b2646c2dcb658a92c53f637",
      "parents": [
        "736603ab297506f4396cb5af592004499950fcfd"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@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: New inode allocation for FLEX_BG meta-data groups.\n\nThis patch mostly controls the way inode are allocated in order to\nmake ialloc aware of flex_bg block group grouping.  It achieves this\nby bypassing the Orlov allocator when block group meta-data are packed\ntoghether through mke2fs.  Since the impact on the block allocator is\nminimal, this patch should have little or no effect on other block\nallocation algorithms. By controlling the inode allocation, it can\nbasically control where the initial search for new block begins and\nthus indirectly manipulate the block allocator.\n\nThis allocator favors data and meta-data locality so the disk will\ngradually be filled from block group zero upward.  This helps improve\nperformance by reducing seek time.  Since the group of inode tables\nwithin one flex_bg are treated as one giant inode table, uninitialized\nblock groups would not need to partially initialize as many inode\ntable as with Orlov which would help fsck time as the filesystem usage\ngoes up.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7e5a8cdd843b7af8d6d38a9bf96306145edb66e0",
      "tree": "68c9dd5f35938520333f2c364a48c94f4e38566b",
      "parents": [
        "cfbe7e4f5e4a0e1fc2ff23b167bfb3fa992f623d"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Sun Jul 13 21:03:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jul 13 21:03:31 2008 -0400"
      },
      "message": "ext4: fix error processing in mb_free_blocks\n\nThe error processing of the return value of mb_free_blocks is meanless\nbecause it only returns 0.  This fix includes\n\n- make mb_free_blocks return void\n\n- remove the error processing part in callers\n\n- unlock group before calling ext4_error in mb_free_blocks\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "cfbe7e4f5e4a0e1fc2ff23b167bfb3fa992f623d",
      "tree": "f1bb120c742d88e9a362d6cc142f0f855d47cd12",
      "parents": [
        "f795e1407343ebe6597653f4a6a7f770676e84c5"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Sun Jul 13 21:03:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jul 13 21:03:31 2008 -0400"
      },
      "message": "ext4: error proc entry creation when the fs/ext4 is not correctly created\n\nWhen the directory fs/ext4 is not correctly created under proc, the entry\nunder this directory should not be created.\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "574ca174c97f790086e3e6f2251381420ad38fd0",
      "tree": "9a29a6f69e4f5a84f434f869935e3442eaeed315",
      "parents": [
        "3537576a707c6df98e883b77b854c6083f844602"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "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: Rename read_block_bitmap() to ext4_read_block_bitmap()\n\nSince this a non-static function, make it be ext4 specific to avoid\nconflicts with potentially other filesystems.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "74767c5a2dca0a60676d60d36377a41f60ca42ba",
      "tree": "96f7fa96682be3eb3b3f04c373260762d6a901aa",
      "parents": [
        "fdf6c7a7683c6272e953a33358920e98a4d93cf0"
      ],
      "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: miscellaneous error checks and coding cleanups for mballoc\n\next4_mb_seq_history_open(): check if sbi-\u003es_mb_history is NULL\n\next4_mb_history_init(): replace kmalloc and memset with kzalloc\n\next4_mb_init_backend(): remove memset since kzalloc is used\n\next4_mb_init(): the return value of ext4_mb_init_backend is int,\n\tbut i is unsigned, replace it with a new int variable.\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"
    },
    {
      "commit": "fdf6c7a7683c6272e953a33358920e98a4d93cf0",
      "tree": "173830a929ad743561c7243b181cf4b3f4528c96",
      "parents": [
        "31b481dc7c249eac0a108ec5dfc0d4aef2217e39"
      ],
      "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: add error processing when calling ext4_mb_init_cache in mballoc\n\nAdd error processing for ext4_mb_load_buddy when it calls\next4_mb_init_cache.\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"
    },
    {
      "commit": "31b481dc7c249eac0a108ec5dfc0d4aef2217e39",
      "tree": "43b552863d1a94a022f5b4e9d4c8f7ec07949a09",
      "parents": [
        "69baee062a044ef1588e423e52131710e7584d1a"
      ],
      "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: Fix ext4_mb_init_cache return error\n\next4_mb_init_cache() incorrectly always return EIO on success. This\ncauses the caller of ext4_mb_init_cache() fail when it checks the return\nvalue.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "91d99827791fdd5f9424458ad5ae870f89dbcadf",
      "tree": "e31e40f37fc4173c67f6a4e1fad8f0cc69be2759",
      "parents": [
        "07d45f126712fea3a9f44068bf65e0a26a162286"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.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: switch to seq_files\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: 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": "ed8f9c751feb3aebf7c0dd25e61481a16412bd6e",
      "tree": "4919965c346c4dc25c94f97b7a7e83689c15502e",
      "parents": [
        "8a35694e1181a5c6d6496dca09407fc7fa4c86c2"
      ],
      "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: start searching for the right extent from the goal group.\n\nWith mballoc we search for the best extent using different\ncriteria. We should always use the goal group when we are\nstarting with a new criteria.\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": "e7dfb2463e3c1b10c38372023e0186d25dec1fa6",
      "tree": "48e05520ccaf7e0c8a2f5bdfc9851069277a6a79",
      "parents": [
        "f3b35f063e9a795495fe2f7a2fe55fab11f8ab12"
      ],
      "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: Fix mb_find_next_bit not to return larger than max\n\nSome architectures implement ext4_find_next_bit and\next4_find_next_zero_bit in such a way that they return\ngreater than max for some input values. Make sure\nmb_find_next_bit and mb_find_next_zero_bit return the\nright values.\n\nOn 2.6.25 we have include/asm-x86/bitops_32.h\nstatic inline unsigned find_first_bit(const unsigned long *addr, unsigned size)\n{\n\tunsigned x \u003d 0;\n\n\twhile (x \u003c size) {\n\t\tunsigned long val \u003d *addr++;\n\t\tif (val)\n\t\t\treturn __ffs(val) + x;\n\t\tx +\u003d (sizeof(*addr)\u003c\u003c3);\n\t}\n\treturn x;\n}\n\nThis can return value greater than size.\n\nReported and fixed here for lustre\n\nhttps://bugzilla.lustre.org/show_bug.cgi?id\u003d15932\nhttps://bugzilla.lustre.org/attachment.cgi?id\u003d17205\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": "03cddb80ed2dacaf03c370d38bcc75f8303a03b8",
      "tree": "a4f70f85ddf81581e090dde55cbf8932e12416e1",
      "parents": [
        "53c8ba95402be65d412a806cda3430f0e72cd107"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Jun 05 20:59:29 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jun 05 20:59:29 2008 -0400"
      },
      "message": "ext4: Fix use of uninitialized data with debug enabled.\n\nFix use of uninitialized data with debug enabled.\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": "519deca0496a4df07d15acf3181ca5d573bffdec",
      "tree": "de86a407e1ea429fde16bc85d4587ebe4aa8194b",
      "parents": [
        "1930479c4b6bbcb6f164a5b3498e0d98329967f4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu May 15 14:43:20 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 15 14:43:20 2008 -0400"
      },
      "message": "ext4: Retry block allocation if new blocks are allocated from system zone.\n\nIf the block allocator gets blocks out of system zone ext4 calls\next4_error. But if the file system is mounted with errors\u003dcontinue\nretry block allocation. We need to mark the system zone blocks as\nin use to make sure retry don\u0027t pick them again\n\nSystem zone is the block range mapping block bitmap, inode bitmap and inode\ntable.\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": "1930479c4b6bbcb6f164a5b3498e0d98329967f4",
      "tree": "2f0185f4d4b30fea72a1b90e24de28e440ebce18",
      "parents": [
        "2c8be6b222f76c332d9faeb00c047996d340632c"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Tue May 13 19:31:14 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 13 19:31:14 2008 -0400"
      },
      "message": "ext4: mballoc fix mb_normalize_request algorithm for 1KB block size filesystems\n\nIn case of inode preallocation, the number of blocks to allocate depends\non the file size and it is calculated in ext4_mb_normalize_request().\nEach group in the filesystem is then checked to find one that can be\nused for allocation; this is done in ext4_mb_good_group().\n\nWhen a file bigger than 4MB is created, the requested number of blocks\nto preallocate, calculated by ext4_mb_normalize_request is 4096.\nHowever for a filesystem with 1KB block size, the maximum size of the\nblock buddies used by the multiblock allocator is 2048, so none of\ngroups in the filesystem satisfies the search criteria in\next4_mb_good_group(). Scanning all the filesystem groups impacts\nperformance.\n\nThis was demonstrated by using a freshly created, 70GB, 1k block\nfilesystem, with caches dropped write before the test via\n/proc/sys/vm/drop_caches, and with the filesystem mounted with\nnodelalloc and nodealloc,nomballoc.  The time to write an 8 megabyte\nfile using \"dd if\u003d/dev/zero of\u003d/mnt/test/fo bs\u003d8k count\u003d1k conv\u003dfsync\"\ntook 35.5091 seconds (236kB/s) with nodellaloc, and 0.233754 seconds\n(35.9 MB/s) with the nodelloc,nomballoc options.  With a 1TB partition,\nit took several minutes to write 8MB!\n\nThis patch modifies the algorithm in ext4_mb_normalize_group_request to\ncalculate the number of blocks to allocate by taking into account the\nmaximum size of free blocks chunks handled by the multiblock allocator.\n\nIt has also been tested for filesystems with 2KB and 4KB block sizes to\nensure that those cases don\u0027t regress.\n\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\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"
    },
    {
      "commit": "f36f21ecca9ee688301174e5f2e0827827a7a7ff",
      "tree": "b147bb5cc37683dfe01c86fba634808aa2ff567d",
      "parents": [
        "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon May 12 14:02:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "Fix misuses of bdevname()\n\nbdevname() fills the buffer that it is given as a parameter, so calling\nstrcpy() or snprintf() on the returned value is redundant (and probably not\nguaranteed to work - I don\u0027t think strcpy and snprintf support overlapping\nbuffers.)\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1fa3342e271029f93d323ca664809b94594fe04",
      "tree": "a157efee03b64049dda19f4292961e085949cc81",
      "parents": [
        "f8a87d89304c1eea8e4a8dc02d134f57590913c6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Apr 29 22:01:15 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:15 2008 -0400"
      },
      "message": "ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta\n\nIn ext4_mb_init_backend() \u0027i\u0027 is of type ext4_group_t. Since unsigned, i\n\u003e\u003d 0 is always true, so fix hot spins after err_freebuddy: and -meta:\nand prevent decrements when zero.\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8f6e39a7ade8a5329c5651a2bc07010b3011da6a",
      "tree": "89ba461b78c3015f9de9e5cd6671005aff71e562",
      "parents": [
        "60bd63d1928c65abd71d8b9b45672cf6e3101845"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Apr 29 22:01:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:31 2008 -0400"
      },
      "message": "ext4: Move mballoc headers/structures to a seperate header file mballoc.h\n\nMove function and structure definiations out of mballoc.c and put it under\na new header file mballoc.h\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "60bd63d1928c65abd71d8b9b45672cf6e3101845",
      "tree": "58d4409782dfe81faa40bf70c798d69be87c6037",
      "parents": [
        "c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b"
      ],
      "author": {
        "name": "Solofo Ramangalahy",
        "email": "Solofo.Ramangalahy@bull.net",
        "time": "Tue Apr 29 21:59:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 21:59:59 2008 -0400"
      },
      "message": "ext4: cleanup for compiling mballoc with verification and debugging #defines\n\nThis patch allows compiling mballoc with:\n#define AGGRESSIVE_CHECK\n#define DOUBLE_CHECK\n#define MB_DEBUG\n\nIt fixes:\nCompilation errors:\nfs/ext4/mballoc.c: In function \u0027__mb_check_buddy\u0027:\nfs/ext4/mballoc.c:605: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027group_list\u0027\nfs/ext4/mballoc.c:606: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027pstart\u0027\nfs/ext4/mballoc.c:608: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027len\u0027\n\nCompilation warnings:\nfs/ext4/mballoc.c: In function \u0027ext4_mb_normalize_group_request\u0027:\nfs/ext4/mballoc.c:2863: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027int\u0027\nfs/ext4/mballoc.c: In function \u0027ext4_mb_use_inode_pa\u0027:\nfs/ext4/mballoc.c:3103: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027int\u0027\n\nSparse check:\nfs/ext4/mballoc.c:3818:2: warning: context imbalance in \u0027ext4_mb_show_ac\u0027 - different lock contexts for basic block\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": "c83617db76353ff30e825874be2c15c185b95759",
      "tree": "630ec09cb577589238e3ca02ad9978a830422d43",
      "parents": [
        "3dcf54515aa4981a647ad74859199032965193a5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:00:47 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:47 2008 -0400"
      },
      "message": "ext4: Don\u0027t do GFP_NOFS allocations after taking ext4_lock_group\n\nWe can\u0027t do GFP_NOFS allocation after taking ext4_lock_group\n\nBUG: sleeping function called from invalid context at mm/slab.c:3054\nin_atomic():1, irqs_disabled():0\n1 lock held by vi/2426:\n#0:  (\u0026ei-\u003ei_data_sem){----}, at: [\u003cc01cf665\u003e] ext4_release_file+0x23/0x66\nPid: 2426, comm: vi Not tainted 2.6.25-rc7 #24\n[\u003cc011a3dc\u003e] __might_sleep+0xbe/0xc5\n[\u003cc01620c9\u003e] kmem_cache_alloc+0x22/0xa6\n[\u003cc01e382a\u003e] ext4_mb_release_inode_pa+0x73/0x1b3\n[\u003cc01e6adf\u003e] ext4_mb_discard_inode_preallocations+0x22d/0x2d4\n[\u003cc013000a\u003e] ? param_set_ushort+0x32/0x39\n[\u003cc01ceba1\u003e] ext4_discard_reservation+0x27/0x6a\n[\u003cc01cf66c\u003e] ext4_release_file+0x2a/0x66\n[\u003cc0165bd6\u003e] __fput+0xae/0x155\n[\u003cc0165e46\u003e] fput+0x17/0x19\n[\u003cc0163756\u003e] filp_close+0x50/0x5a\n[\u003cc01647c0\u003e] sys_close+0x71/0xad\n[\u003cc0104aba\u003e] sysenter_past_esp+0x5f/0xa5\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": "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": "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": "14499f3592f3f52ceb7a639466de9ca21e2c1914",
      "tree": "fd74f2164099be316b30defb6170e2ef9e4fb360",
      "parents": [
        "a871611b474bfcdee422c0cf5d16f509dce096f5"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.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: remove extra define of ext4_new_blocks_old from mballoc.c\n\nThe function prototype of ext4_new_blocks_old() is defined in ext4_fs.h,\nso we don\u0027t need the extra function prototype in mballoc.c\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\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": "9a0762c5af40e4aa64fef999967459c98e6ae4c9",
      "tree": "a674077f5a3b840e31f0706d074e01fa4dd18abc",
      "parents": [
        "4ddfef7b41aebbbede73f361cb938800ba3072dc"
      ],
      "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:  Convert list_for_each_rcu() to list_for_each_entry_rcu()\n\nThe list_for_each_entry_rcu() primitive should be used instead of\nlist_for_each_rcu(), as the former is easier to use and provides\nbetter type safety.\n\nhttp://groups.google.com/group/linux.kernel/browse_thread/thread/45749c83451cebeb/0633a65759ce7713?lnk\u003draot\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "4ddfef7b41aebbbede73f361cb938800ba3072dc",
      "tree": "c4d0b722424220a02af393b7be7298e456ba4954",
      "parents": [
        "5cdd7b2d7716a7ed7d6dc7588e2d015f04d46640"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.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: reduce mballoc stack usage with noinline_for_stack\n\nmballoc.c is a whole lot of static functions, which gcc seems to\nreally like to inline.\n\nWith the changes below, on x86, I can at least get from:\n\n432 ext4_mb_new_blocks\n240 ext4_mb_free_blocks\n208 ext4_mb_discard_group_preallocations\n188 ext4_mb_seq_groups_show\n164 ext4_mb_init_cache\n152 ext4_mb_release_inode_pa\n136 ext4_mb_seq_history_show\n...\n\nto\n\n220 ext4_mb_free_blocks\n188 ext4_mb_seq_groups_show\n176 ext4_mb_regular_allocator\n164 ext4_mb_init_cache\n156 ext4_mb_new_blocks\n152 ext4_mb_release_inode_pa\n136 ext4_mb_seq_history_show\n124 ext4_mb_release_group_pa\n...\n\nwhich still has some big functions in there, but not 432 bytes!\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": "46fe74f2aed615c8c88164f4346b79c30cfd7c3d",
      "tree": "f07061c8847beb394c1c4d260cb6a3392ea53c8d",
      "parents": [
        "21ac295b42b8bdc3d677aba6bd7308a38de28a9b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "ext4: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "ffad0a44b7216d0f079dcf95a351082099d1e5fb",
      "tree": "cfbcc86fbce071b89c51d9d55de8fe39876c79cf",
      "parents": [
        "42bf0383d1e09dd1b38f3debb13a76b2f87634b3"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Feb 23 01:38:34 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Feb 23 01:38:34 2008 -0500"
      },
      "message": "ext4: ext4_find_next_zero_bit needs an aligned address on some arch\n\next4_find_next_zero_bit and ext4_find_next_bit needs a long aligned\naddress on x8_64. Add mb_find_next_zero_bit and mb_find_next_bit\nand use them in the mballoc.\n\nFix: https://bugzilla.redhat.com/show_bug.cgi?id\u003d433286\n\nEric Sandeen debugged the problem and suggested the fix.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by:      Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e56eb6590693a5a340e8f596db2768a6e1b9e236",
      "tree": "0fccb796503d6296b36f343be70ad35c0fba2d7c",
      "parents": [
        "9df5643ad135c7f8c02d3b69020de4ec910f9fc0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 15 13:48:21 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 13:48:21 2008 -0500"
      },
      "message": "ext4: Don\u0027t claim block from group which has corrupt bitmap\n\nIn ext4_mb_complex_scan_group, if the extent length of the newly\nfound extentet is greater than than the total free blocks counted\nin group info, break without claiming the block.\n\nDocument different ext4_error usage, explaining the state with which we\ncontinue if we mount with errors\u003dcontinue\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": "b73fce69ecb091a178ef9286027c370a63eb25aa",
      "tree": "6a9f4ea7eb731a85eb1bea20bd93cd7632ccdde6",
      "parents": [
        "55bd725aa3a83b3935988f37275b5a80e10d4169"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Fri Feb 15 13:48:51 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 13:48:51 2008 -0500"
      },
      "message": "ext4: Fix kernel BUG at fs/ext4/mballoc.c:910!\n\nWith the flex_bg feature enabled, a large file creation oopses the\nkernel.   The BUG_ON is:\n\tBUG_ON(len \u003e\u003d EXT4_BLOCKS_PER_GROUP(sb));\n\nAs the allocation of the bitmaps and the inode table can be done\noutside the block group with flex_bg, this allows to allocate up to\nEXT4_BLOCKS_PER_GROUP blocks in a group.\n\nThis patch fixes the oops.\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": "26346ff681cb42c1436ed09c44dcae4809470dab",
      "tree": "1f1b8bff59e9aedbd0ad80a51317d5c1e5cbad91",
      "parents": [
        "256bdb497c6f562462f1e89fc8e1409f61ef40cb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "message": "ext4: Don\u0027t panic in case of corrupt bitmap\n\nMultiblock allocator calls BUG_ON in many case if the free and used\nblocks count obtained looking at the bitmap is different from what\nthe allocator internally accounted for. Use ext4_error in such case\nand don\u0027t panic the system.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "256bdb497c6f562462f1e89fc8e1409f61ef40cb",
      "tree": "e8c16516bba080b4e40eccebb5a3ea5fb25cf5fd",
      "parents": [
        "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "message": "ext4: allocate struct ext4_allocation_context from a kmem cache\n\nstruct ext4_allocation_context is rather large, and this bloats\nthe stack of many functions which use it.  Allocating it from\na named slab cache will alleviate this.\n\nFor example, with this change (on top of the noinline patch sent earlier):\n\n-ext4_mb_new_blocks\t\t200\n+ext4_mb_new_blocks\t\t 40\n\n-ext4_mb_free_blocks\t\t344\n+ext4_mb_free_blocks\t\t168\n\n-ext4_mb_release_inode_pa\t216\n+ext4_mb_release_inode_pa\t 40\n\n-ext4_mb_release_group_pa\t192\n+ext4_mb_release_group_pa\t 24\n\nMost of these stack-allocated structs are actually used only for\nmballoc history; and in those cases often a smaller struct would do.\nSo changing that may be another way around it, at least for those\nfunctions, if preferred.  For now, in those cases where the ac\nis only for history, an allocation failure simply skips the history\nrecording, and does not cause any other failures.\n\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "42a10add852e6291a7544afd8a286622a3e6ae76",
      "tree": "3acf1bdd712f1a53181b1b386c4be8ab0fa58713",
      "parents": [
        "b8356c465b42c162f34b5fd4102a6c27cec36f43"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "message": "ext4: Fix null bh pointer dereference in mballoc\n\nRepoted by Adrian Bunk \u003cbunk@kernel.org\u003e:\n\nThe Coverity checker spotted the following NULL dereference:\n\nstatic int ext4_mb_mark_diskspace_used\n{\n\t...\n\tif (!bitmap_bh)\n\t\tgoto out_err;\n\t...\nout_err:\n\tsb-\u003es_dirt \u003d 1;\n\tput_bh(bitmap_bh);\n\t...\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
