)]}'
{
  "log": [
    {
      "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": "2c8be6b222f76c332d9faeb00c047996d340632c",
      "tree": "8cfac52caeb69c6d3697b60c7a6a9c54cedc47d2",
      "parents": [
        "0623543b3335c8e439cacf21af99bbf45da42c5a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 13 21:27:55 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 13 21:27:55 2008 -0400"
      },
      "message": "ext4: fix typos in messages and comments (journalled -\u003e journaled)\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0623543b3335c8e439cacf21af99bbf45da42c5a",
      "tree": "41f6df8f1c11594df2834e3f54a68d08df25ef63",
      "parents": [
        "cd59e7b9781a35716b8a3e8c4aa2d48081d7daf7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "message": "ext4: fix synchronization of quota files in journal\u003ddata mode\n\nIn journal\u003ddata mode, it is not enough to do write_inode_now as done in\nvfs_quota_on() to write all data to their final location (which is\nneeded for quota_read to work correctly).  Calling journal_flush() does\nits job.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cd59e7b9781a35716b8a3e8c4aa2d48081d7daf7",
      "tree": "b93d01eedfe059f0f033b2c6bb5d303486a1f689",
      "parents": [
        "dfc5d03f12e706c19ee37734184ea96582ef931d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "message": "ext4: Fix mount messages when quota disabled\n\nWhen quota is disabled, we should not print \u0027journaled quota not\nsupported\u0027 when user tried to mount non-journaled quota. Also fix typo\nin the message.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "dfc5d03f12e706c19ee37734184ea96582ef931d",
      "tree": "66397d0933ba3307a9de99db298ae790dda90336",
      "parents": [
        "8f40f672e6bb071812f61bfbd30efc3fc1263ad1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 13 19:11:51 2008 -0400"
      },
      "message": "ext4: correct mount option parsing to detect when quota options can be changed\n\nWe should not allow user to change quota mount options when quota is\njust suspended.  It would make mount options and internal quota state\ninconsistent.  Also we should not allow user to change quota format when\nquota is turned on.  On the other hand we can just silently ignore when\nsome option is set to the value it already has (mount does this on\nremount).\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7e01c8e5420b6c7f9d85d34c15d8c7a15c9fc720",
      "tree": "9208cb180253bd98208ae3be34ffc10526d4f949",
      "parents": [
        "0c70814c311581a6c86198db4f982aa683c68fb8"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Wed May 14 16:05:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle()\n\nThis fix the uninitialized bs when we try to replace a xattr entry in\nibody with the new value which require more than free space.\n\nThis situation only happens we format ext3/4 with inode size more than 128 and\nwe have put xattr entries both in ibody and block.  The consequences about\nthis bug is we will lost the xattr block which pointed by i_file_acl with all\nxattr entires in it.  We will alloc a new xattr block and put that large value\nentry in it.  The old xattr block will become orphan block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "f8a87d89304c1eea8e4a8dc02d134f57590913c6",
      "tree": "9d1e5179573a77259c13161a245f7a761e4a5091",
      "parents": [
        "7c2f3d6f89aab04c5c66a0a757888d3a77a5e899"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Apr 29 22:01:18 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:18 2008 -0400"
      },
      "message": "ext4: fix test ext_generic_write_end() copied return value\n\n\u0027copied\u0027 is unsigned, whereas \u0027ret2\u0027 is not. The test (copied \u003c 0) fails\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": "c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b",
      "tree": "bca9e898c7a66315ffd2551acb52e2db4ec94c3b",
      "parents": [
        "8753e88f1b4345677620ec68f847222a6301e2fd"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:00:28 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:28 2008 -0400"
      },
      "message": "ext4: don\u0027t use ext4_error in ext4_check_descriptors\n\nBecause ext4_check_descriptors is called at mount time you can\u0027t use ext4_error\nas it calls ext4_commit_sb, which since the sb isn\u0027t all the way initialized\ncauses bad things to happen (ie a panic).  This patch changes the ext4_error\u0027s\nto printk\u0027s to keep this problem from happening.  Thanks much,\n\nSigned-off-by: Josef Bacik \u003cjbacik@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": "8753e88f1b4345677620ec68f847222a6301e2fd",
      "tree": "cd24e97014f89d9bbd0ea88b65ed59ea9d2e152e",
      "parents": [
        "ef7377289a1510d638004158e43878643bc75dc5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:00:36 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:36 2008 -0400"
      },
      "message": "ext4: mark inode dirty after initializing the extent tree\n\nWe should mark the inode dirty only after initializing the extent\ntree.  Also if we fail during extent initialization we need\nto call DQUOT_FREE_INODE.\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": "ef7377289a1510d638004158e43878643bc75dc5",
      "tree": "4e7cfd27dc9322f0803fe438f63e1f9a2c4fb4cd",
      "parents": [
        "c83617db76353ff30e825874be2c15c185b95759"
      ],
      "author": {
        "name": "Solofo Ramangalahy",
        "email": "Solofo.Ramangalahy@bull.net",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "message": "ext4: update ctime and mtime for truncate with extents.\n\nThe recently announced \"Linux POSIX file system test suite\"\ncaught a truncate issue when using extents:\nmtime and ctime are not updated when truncate is successful.\n\nThis is the single issue caught with \"default\" ext4 (mkfs and mount\nwith minimal options).\nThe testsuite does not report failure with -o noextents.\n\nWith the following patch, all tests of the testsuite pass.\n\nSigned-off-by: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "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": "216553c4b7f3e3e2beb4981cddca9b2027523928",
      "tree": "aefd413c05b078c6e8cf702956c79548943b5023",
      "parents": [
        "2887df139c40512cdc147d1a84d95d4f3d261bd1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:02:02 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:02:02 2008 -0400"
      },
      "message": "ext4: fix wrong gfp type under transaction\n\nThis fixes the allocations with GFP_KERNEL while under a transaction problems\nin ext4.  This patch is the same as its ext3 counterpart, just switches these\nto GFP_NOFS.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "2887df139c40512cdc147d1a84d95d4f3d261bd1",
      "tree": "e42a0ad7c0532f373dc4b09928cd8396bcf4e6dc",
      "parents": [
        "53b7e9f6807c1274eee19201396b4c2b5f721553"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 29 22:02:07 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:02:07 2008 -0400"
      },
      "message": "ext4: Fix hang on umount with quotas when journal is aborted\n\nCall dquot_drop() from ext4_dquot_drop() even if we fail to start a\ntransaction. Otherwise we never get to dropping references to quota structures\nfrom the inode and umount will hang indefinitely.  Thanks to Payphone LIOU for\nspotting the problem.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCC: Payphone LIOU \u003clioupayphone@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "53b7e9f6807c1274eee19201396b4c2b5f721553",
      "tree": "4d6dc303a01d14d106c48a2e7ae97451bdb74467",
      "parents": [
        "329d291f50d53f77d15769051f3eb494a9fd54b7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 29 22:02:11 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:02:11 2008 -0400"
      },
      "message": "ext4: Fix update of mtime and ctime on rename\n\nThe patch below makes ext4 update mtime and ctime of the directory\ninto which we move file even if the directory entry already exists.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "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": "d3a95d477d4fcb2c276b8357087a6c862c9e1949",
      "tree": "911bdfb70aa0a8677f98a5643edcc4a98812dfac",
      "parents": [
        "14499f3592f3f52ceb7a639466de9ca21e2c1914"
      ],
      "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: make ext4_xattr_list() static\n\nThis patch makes the needlessly global ext4_xattr_list() static.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\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": "a871611b474bfcdee422c0cf5d16f509dce096f5",
      "tree": "a02ef4ea39365dca2bbf84d9db8656ee6f9feab2",
      "parents": [
        "c0a4ef38ac90d9053fcf3e22f81520a507c1a7bd"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@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: check ext4_journal_get_write_access() errors\n\nCheck ext4_journal_get_write_access() errors.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: adilger@clusterfs.com\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "c0a4ef38ac90d9053fcf3e22f81520a507c1a7bd",
      "tree": "d8747f48d70272d3834bf947c3b41e6abeb922c0",
      "parents": [
        "d00a6d7b40b44ee6b03f492a6c58f5bc4649c784"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@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: use ext4_get_group_desc()\n\nUse ext4_get_group_desc() in ext4_get_inode_block() instead of open\ncoding the functionality.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: adilger@clusterfs.com\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "d00a6d7b40b44ee6b03f492a6c58f5bc4649c784",
      "tree": "02c3bb7d59efe5a834f75bd9e5f48d494896a9cc",
      "parents": [
        "216c34b2b8a3687afed4d269acec140c8baf23fe"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@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: use ext4_group_first_block_no()\n\nUse ext4_group_first_block_no() and assign the return values to\next4_fsblk_t variables.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: adilger@clusterfs.com\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "216c34b2b8a3687afed4d269acec140c8baf23fe",
      "tree": "f87ae5912c2635000c0c53d719a537f87e0a0877",
      "parents": [
        "e8546d0615542684ca02ba03edebec1a503beb6b"
      ],
      "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: convert byte order of constant instead of variable\n\nConvert byte order of constant instead of variable which can be done at\ncompile time (vs run time).\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "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": "5cdd7b2d7716a7ed7d6dc7588e2d015f04d46640",
      "tree": "c2146662517bbd22377a54d1487e202d86dde6db",
      "parents": [
        "161e7b7c1d24112d188df9a7b30d468a8d135b96"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Apr 29 22:03:54 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:03:54 2008 -0400"
      },
      "message": "Convert ext4 to use unlocked_ioctl\n\nI checked ext4_ioctl and it looked largely safe to not be used\nwithout BKL.  So convert it over to unlocked_ioctl.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "161e7b7c1d24112d188df9a7b30d468a8d135b96",
      "tree": "bac6cea21f4a3bb96b8d16660ec9a503427c01a8",
      "parents": [
        "1a89734d4057066344356e9c7e13b6379497aebe"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:03:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:03:59 2008 -0400"
      },
      "message": "ext4: Cache the correct extent length for uninit extents\n\nWhen we convert an uninitialized extent to an initialized extent\nwe need to make sure we return the number of blocks in the\nextent from the file system block corresponding to logical\nfile block.  Otherwise we cache wrong extent details and this\nresults in file system corruption.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1a89734d4057066344356e9c7e13b6379497aebe",
      "tree": "7e0466cb367e3eb7aec72bdfd0c03aaa3e22449e",
      "parents": [
        "e067ba0078cd6f00eb6c4052fec630b78ebe59de"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Return unwritten buffer head when trying to read from prealloc space.\n\next4_ext_get_blocks() returns the number of blocks allocated with buffer\nhead unmapped for a read from prealloc space.  This is needed so that\ndelayed allocation doesn\u0027t do block reservation for prealloc space\nsince the blocks are already reserved on disk.  Mark the buffer head\nunwritten.  Some code paths try to read the block if the buffer_head is\nnot new and no uptodate.  Marking the buffer head unwritten avoids this\nreading.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e067ba0078cd6f00eb6c4052fec630b78ebe59de",
      "tree": "58c5f6d1e86ac03257cde1714fb09437d408043c",
      "parents": [
        "fd28784adc079afa905df56204b1298ddb4d0bfe"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: make ext4_ext_get_blocks always return \u003c\u003d max_blocks\n\next4_ext_get_blocks() returns number of blocks allocated with buffer\nheads unmapped for a read from prealloc space.  This is needed so that\ndelayed allocation doesn\u0027t do block reservation for prealloc space since\nthe blocks are already resevred on disk.  Fix ext4_ext_get_blocks to not\nreturn greater than max_blocks, since some of the code paths cannot\nhandle such a return value.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fd28784adc079afa905df56204b1298ddb4d0bfe",
      "tree": "3ede312b77a14e75d7b31c0df874b6eb160bfb61",
      "parents": [
        "267e4db9ac28a09973476e7ec2cb6807e609d35a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Fix fallocate to update the file size in each transaction\n\next4_fallocate needs to update file size in each transaction.  Otherwise\nif we crash the file size won\u0027t be seen.  We were also not marking\nthe inode dirty after updating file size before.  Also when we try to\nretry allocation due to ENOSPC, make sure we reset the variable ret so\nthat we actually do a retry.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "267e4db9ac28a09973476e7ec2cb6807e609d35a",
      "tree": "54eae44c7c0086800901866424ef1526e0ce863e",
      "parents": [
        "3977c965ec35ce1a7eac988ad313f0fc9aee9660"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Fix race between migration and mmap write\n\nFail migrate if we allocated new blocks via mmap write.\n\nIf we write to holes in the file via mmap, we end up allocating\nnew blocks. This block allocation happens without taking inode-\u003ei_mutex.\nSince migrate is protected by i_mutex and migrate expects that no\nnew blocks get allocated during migrate, fail migrate if new blocks\nget allocated.\n\nWe can\u0027t take inode-\u003ei_mutex in the mmap write path because that\nwould result in a locking order violation between i_mutex and mmap_sem.\nAlso adding a separate rw_sempahore for protection is really high overhead\nfor a rare operation such as migrate.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3977c965ec35ce1a7eac988ad313f0fc9aee9660",
      "tree": "86c799189a7888d6ebd02f9394fd0c2bd4eb2317",
      "parents": [
        "093a088b76352e0a6fdca84eb78b3aa65fbe6dd1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: zero out small extents when writing to prealloc area.\n\nIf the preallocated area is small zero out the full extent\ninstead of splitting them. This should avoid the \"write\nevery alternate block\" problem that could grow the number\nof extents dramatically.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "093a088b76352e0a6fdca84eb78b3aa65fbe6dd1",
      "tree": "18b9266ce90cb63726c8b6e0e7a026d11ed66a40",
      "parents": [
        "35802c0b2bab71695f131f981d95fcea7432c99b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: ENOSPC error handling for writing to an uninitialized extent\n\nThis patch handles possible ENOSPC errors when writing to an\nuninitialized extent in case the filesystem is full.\n\nA write to a prealloc area causes the split of an unititalized extent\ninto initialized and uninitialized extents.  If we don\u0027t have\nspace to add new extent information, instead of returning error,\nconvert the existing uninitialized extent to initialized one.  We\nneed to zero out the blocks corresponding to the entire extent to\nprevent uninitialized data reaching userspace.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "e65187e6d0d541f992e684f88a7e090dcff1aac8",
      "tree": "bf8af79f6f78596b8ca0f9affe94586f3a74f7eb",
      "parents": [
        "95c3889cb88ca4833096553c12cde9e7eb792f4c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 08:11:12 2008 -0400"
      },
      "message": "ext4: Enable extent format for symlinks.\n\nThis patch enables extent-formatted normal symlinks.  Using extents\nformat allows a symlink to refer to a block number larger than 2^32\non large filesystems.  We still don\u0027t enable extent format for fast\nsymlinks, which are contained in the inode itself.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "95c3889cb88ca4833096553c12cde9e7eb792f4c",
      "tree": "cb18bbe779ffef21695a068f8ed49d4dad48d428",
      "parents": [
        "f3f12faa7414595f502721c90c34deccc1a03c71"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Apr 17 10:38:59 2008 -0400"
      },
      "message": "ext4: Fix fallocate error path\n\nPut the old extent details back if we fail to split the\nuninitialized extent.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "f3f12faa7414595f502721c90c34deccc1a03c71",
      "tree": "8d1761e9d0fb28ac35f4a4f7c4878caa171baf4c",
      "parents": [
        "53c550e9750434ddc4275fe0405170e0d1b46731"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:05:28 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:05:28 2008 -0400"
      },
      "message": "ext4: fix mount option parsing\n\nThe \"resize\" option won\u0027t be noticed as it comes after the NULL option,\nso if you try to mount (or in this case remount) with that option it\nwon\u0027t be recognized.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.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": "53c550e9750434ddc4275fe0405170e0d1b46731",
      "tree": "e810f7e68b54f41c8ab5d5dad9b1c7dd8068c61a",
      "parents": [
        "97bd42b9c8be748ad85b362ba3bd401f4d35be80"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "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: fdatasync should skip metadata writeout when overwriting\n\nCurrently fdatasync is identical to fsync in ext3.\n\nI think fdatasync should skip journal flush in data\u003dordered and\ndata\u003dwriteback mode when it overwrites to already-instantiated blocks on\nHDD.  When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal\nwriteout because this indicates only atime or/and mtime updates.\n\nFollowing patch is the same approach of ext2\u0027s fsync code(ext2_sync_file).\n\nI did a performance test using the sysbench.\n\n#sysbench --num-threads\u003d128 --max-requests\u003d50000 --test\u003dfileio --file-total-size\u003d128G\n--file-test-mode\u003drndwr --file-fsync-mode\u003dfdatasync run\n\nThe result on ext3 was:\n\n\t-2.6.24\n\tOperations performed:  0 Read, 50080 Write, 59600 Other \u003d 109680 Total\n\tRead 0b  Written 782.5Mb  Total transferred 782.5Mb  (12.116Mb/sec)\n\t  775.45 Requests/sec executed\n\n\tTest execution summary:\n\t    total time:                          64.5814s\n\t    total number of events:              50080\n\t    total time taken by event execution: 3713.9836\n\t    per-request statistics:\n\t         min:                            0.0000s\n\t         avg:                            0.0742s\n\t         max:                            0.9375s\n\t         approx.  95 percentile:         0.2901s\n\n\tThreads fairness:\n\t    events (avg/stddev):           391.2500/23.26\n\t    execution time (avg/stddev):   29.0155/1.99\n\n\t-2.6.24-patched\n\tOperations performed:  0 Read, 50009 Write, 61596 Other \u003d 111605 Total\n\tRead 0b  Written 781.39Mb  Total transferred 781.39Mb  (16.419Mb/sec)\n\t1050.83 Requests/sec executed\n\n\tTest execution summary:\n\t    total time:                          47.5900s\n\t    total number of events:              50009\n\t    total time taken by event execution: 2934.5768\n\t    per-request statistics:\n \t         min:                            0.0000s\n\t         avg:                            0.0587s\n \t         max:                            0.8938s\n\t         approx.  95 percentile:         0.1993s\n\n\tThreads fairness:\n\t    events (avg/stddev):           390.6953/22.64\n\t    execution time (avg/stddev):   22.9264/1.17\n\nFilesystem I/O throughput was improved.\n\nSigned-off-by :Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "97bd42b9c8be748ad85b362ba3bd401f4d35be80",
      "tree": "161f8972e7e94e3c1a384e22fc4be55fe9c18c55",
      "parents": [
        "1dfc3220d963385a317264b11154c462a83596ed"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:04:56 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:04:56 2008 -0400"
      },
      "message": "ext4:  check return of ext4_orphan_get properly\n\nThis patch fix a panic while running fsfuzzer. \nWe are improperly checking the return of ext4_orphan_get.\n\nSigned-off-by: Josef Bacik \u003cjbacik@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": "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": "6f28e08794749f3431e89302728e612343d9d9e4",
      "tree": "8763162c48584e72b9d35d12a221f002ca94847c",
      "parents": [
        "2fd83a4f3cd5a725168e3a269746dfce2adfa56a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: ext4: make ext4 handle quotaon on remount\n\nUpdate ext4 to handle quotaon on remount RW.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
      "tree": "c676609730533fc1b7c5e01992e46b6eaf75f99b",
      "parents": [
        "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
        "838cb6aba4cebcf4fcd06b90e2adf890bef884ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits)\n  DOC:  A couple corrections and clarifications in USB doc.\n  Generate a slightly more informative error msg for bad HZ\n  fix typo \"is\" -\u003e \"if\" in Makefile\n  ext*: spelling fix prefered -\u003e preferred\n  DOCUMENTATION:  Use newer DEFINE_SPINLOCK macro in docs.\n  KEYS:  Fix the comment to match the file name in rxrpc-type.h.\n  RAID: remove trailing space from printk line\n  DMA engine: typo fixes\n  Remove unused MAX_NODES_SHIFT\n  MAINTAINERS: Clarify access to OCFS2 development mailing list.\n  V4L: Storage class should be before const qualifier (sn9c102)\n  V4L: Storage class should be before const qualifier\n  sonypi: Storage class should be before const qualifier\n  intel_menlow: Storage class should be before const qualifier\n  DVB: Storage class should be before const qualifier\n  arm: Storage class should be before const qualifier\n  ALSA: Storage class should be before const qualifier\n  acpi: Storage class should be before const qualifier\n  firmware_sample_driver.c: fix coding style\n  MAINTAINERS: Add ati_remote2 driver\n  ...\n\nFixed up trivial conflicts in firmware_sample_driver.c\n"
    },
    {
      "commit": "1cc8dcf569a3fcefb7ae32652225f2bd3e85257e",
      "tree": "23e065de096ab6cf044458967bea5baa6a98cff0",
      "parents": [
        "c0d1f29534f2bd6c5992831eb0f648522e9b0204"
      ],
      "author": {
        "name": "Benoit Boissinot",
        "email": "benoit.boissinot@ens-lyon.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "message": "ext*: spelling fix prefered -\u003e preferred\n\nSpelling fix: prefered -\u003e preferred\n\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "42a74f206b914db13ee1f5ae932dcd91a77c8579",
      "tree": "24e3dbe55edaacc750067ab9e01778255a6bff08",
      "parents": [
        "20ddee2c75339cc095f6191c3115f81da8955e96"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:46 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ioctls()\n\nSome ioctl()s can cause writes to the filesystem.  Take these, and make them\nuse mnt_want/drop_write() instead.\n\n[AV: updated]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "335e92e8a515420bd47a6b0f01cb9a206c0ed6e4",
      "tree": "1518f9afa7ac7047be2c86481b3dbc12f8cc9282",
      "parents": [
        "423bec43079a2942a3004034df7aad76469758d8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 15 14:34:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 19:35:41 2008 -0700"
      },
      "message": "vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs\n\nmb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL.  But\nfilesystems are calling this function while holding xattr_sem so possible\nrecursion into the fs violates locking ordering of xattr_sem and transaction\nstart / i_mutex for ext2-4.  Change mb_cache_entry_alloc() so that filesystems\ncan specify desired gfp mask and use GFP_NOFS from all of them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5606bf5d0cbfbc3dfa78793a3793c43dd045fb1b",
      "tree": "6b50ee233ee6c51d7f15723484f3a490bfb9bf95",
      "parents": [
        "ffad0a44b7216d0f079dcf95a351082099d1e5fb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Feb 25 15:37:42 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:37:42 2008 -0500"
      },
      "message": "ext4: add missing ext4_journal_stop()\n\nAdd missing ext4_journal_stop() in error handling.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: adilger@clusterfs.com\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\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": "42bf0383d1e09dd1b38f3debb13a76b2f87634b3",
      "tree": "6806cafbbc0f72f84c16c4875909307c5aec09bf",
      "parents": [
        "2c98615d3b64ce7888cd46cc668023f456daf287"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 25 16:38:03 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 16:38:03 2008 -0500"
      },
      "message": "ext4: set EXT4_EXTENTS_FL only for directory and regular files\n\nIn addition, don\u0027t inherit EXT4_EXTENTS_FL from parent directory.\nIf we have a directory with extent flag set and later mount the file\nsystem with -o noextents, the files created in that directory will also\nhave extent flag set but we would not have called ext4_ext_tree_init for\nthem. This will cause error later when we are verifying the extent header\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-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"
    },
    {
      "commit": "2c98615d3b64ce7888cd46cc668023f456daf287",
      "tree": "5fc26fc832d2afa658e706106d6e793a493eef0a",
      "parents": [
        "f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 25 15:41:35 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:41:35 2008 -0500"
      },
      "message": "ext4: Don\u0027t mark filesystem error if fallocate fails\n\nIf we fail to allocate blocks don\u0027t call ext4_error. Also don\u0027t hide\nerrors from ext4_get_blocks_wrap\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b",
      "tree": "9a5b63d45dc805383f7789bba75f7935626767fe",
      "parents": [
        "825f1481ead4ce40671089bae7412ac3519e8caa"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "message": "ext4: Fix BUG when writing to an unitialized extent\n\nThis patch fixes a bug when writing to preallocated but uninitialized\nblocks, which resulted in a BUG in fs/buffer.c saying that the buffer\nis not mapped.\n\nWhen writing to a file, ext4_get_block_wrap() is called with create\u003d1 in\norder to request that blocks be allocated if necessary.  It currently\ncalls ext4_get_blocks() with create\u003d0 in order to do a lookup first.  If\nthe inode contains an unitialized data block, the buffer head is left\nunampped, which ext4_get_blocks_wrap() returns, causing the BUG.\n\nWe fix this by checking to see if the buffer head is unmapped, and if\nso, we make sure the the buffer head is mapped by calling\next4_ext_get_blocks with create\u003d1.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "825f1481ead4ce40671089bae7412ac3519e8caa",
      "tree": "574243b782595a47fb34f348e6f6a5f3b396678e",
      "parents": [
        "74d3487fc8aa58cec16dff7239dea1ca59bdab0e"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 15:00:38 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 15:00:38 2008 -0500"
      },
      "message": "ext4: Don\u0027t use ext4_dec_count() if not needed\n\nThe ext4_dec_count() function is only needed when dropping the i_nlink\ncount on inodes which are (or which could be) directories.  If we\n*know* that the inode in question can\u0027t possibly be a directory, use\ndrop_nlink or clear_nlink() if we know i_nlink is 1.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "74d3487fc8aa58cec16dff7239dea1ca59bdab0e",
      "tree": "e7f2e3b107bc7ff98ae4a02d0deb44809ae53394",
      "parents": [
        "e56eb6590693a5a340e8f596db2768a6e1b9e236"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "message": "ext4: modify block allocation algorithm for the last group\n\nWhen a directory inode is allocated in the last group and the last group\ncontains less than s_blocks_per_group blocks, the initial block allocated\nfor the directory is not always allocated in the same group as the\ndirectory inode, but in one of the first groups of the filesystem (group 1\nfor example).\nDepending on the current process\u0027s pid, ext4_find_near() and \next4_ext_find_goal() can return a block number greater than the maximum\nblocks count in the filesystem and in that case the block will be not\nallocated in the same group as the inode.\n\nThe following patch fixes the problem.\n\nShould the modification also be done in ext2/3 code?\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "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": "9df5643ad135c7f8c02d3b69020de4ec910f9fc0",
      "tree": "8b2c72c0df0bbb6af41ee9c68e91c93c5ab26a78",
      "parents": [
        "b35905c16ad6428551eb9e49525011bd2700cf56"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "message": "ext4: Get journal write access before modifying the extent tree\n\nWhen the user was writing into an unitialized extent,\next4_ext_convert_to_initialize() was not requesting journal write access\nbefore it started to modify the extent tree.   Fix this oversight.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "b35905c16ad6428551eb9e49525011bd2700cf56",
      "tree": "155ae1b76392b38a6079dcc5de15b123b3c20953",
      "parents": [
        "4cdeed861b5f797b3fa661eb331a6bd6ad669c6a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 25 16:54:37 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 16:54:37 2008 -0500"
      },
      "message": "ext4: Fix memory and buffer head leak in callers to ext4_ext_find_extent()\n\nThe path variable returned via ext4_ext_find_extent is a kmalloc\nvariable and needs to be freeded.  It also contains a reference to\nbuffer_head which needs to be dropped.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "4cdeed861b5f797b3fa661eb331a6bd6ad669c6a",
      "tree": "6ef2159a06974e28bdff4426525ecdd052d7b57f",
      "parents": [
        "b73fce69ecb091a178ef9286027c370a63eb25aa"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 22 06:17:31 2008 -0500"
      },
      "message": "ext4: Don\u0027t leave behind a half-created inode if ext4_mkdir() fails\n\nIf ext4_mkdir() fails to allocate the initial block for the directory,\ndon\u0027t leave behind a half-created directory inode with the link count\nleft at one.  This was caused by an inappropriate call to ext4_dec_count().\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": "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": "55bd725aa3a83b3935988f37275b5a80e10d4169",
      "tree": "9e4c092830eafbb0036892d578d4075689ef81df",
      "parents": [
        "642be6ec218b956fbae88304449720f76ba0d578"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Feb 15 12:47:21 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 12:47:21 2008 -0500"
      },
      "message": "ext4: Fix locking hierarchy violation in ext4_fallocate()\n\next4_fallocate() was trying to acquire i_data_sem outside of\njbd2_start_transaction/jbd2_journal_stop, which violates ext4\u0027s locking\nhierarchy.  So we take i_mutex to prevent writes and truncates during\nthe complete fallocate operation, and use ext4_get_block_wrap() which\nacquires and releases i_data_sem for each block allocation.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "642be6ec218b956fbae88304449720f76ba0d578",
      "tree": "ac72e5bcddf63a6e3b9fbdaaa84cd993a64c1094",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Feb 25 17:20:46 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 17:20:46 2008 -0500"
      },
      "message": "Remove incorrect BKL comments in ext4\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "469108ff3dcbc00313699d620c47f3ee1e7d19c6",
      "tree": "d7cd5a7097d1c87b0dfc46297b05d297aabfdf62",
      "parents": [
        "26346ff681cb42c1436ed09c44dcae4809470dab"
      ],
      "author": {
        "name": "Theodore Tso",
        "email": "tytso@MIT.EDU",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "message": "ext4: Add new \"development flag\" to the ext4 filesystem\n\nThis flag is simply a generic \"this is a crash/burn test filesystem\"\nmarker.  If it is set, then filesystem code which is \"in development\"\nwill be allowed to mount the filesystem.  Filesystem code which is not\nconsidered ready for prime-time will check for this flag, and if it is\nnot set, it will refuse to touch the filesystem.\n\nAs we start rolling ext4 out to distro\u0027s like Fedora, et. al, this makes\nit less likely that a user might accidentally start using ext4 on a\nproduction filesystem; a bad thing, since that will essentially make it\nbe unfsckable until e2fsprogs catches up.\n\nSigned-off-by: Theodore Tso \u003ctytso@MIT.EDU\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n\n"
    },
    {
      "commit": "26346ff681cb42c1436ed09c44dcae4809470dab",
      "tree": "1f1b8bff59e9aedbd0ad80a51317d5c1e5cbad91",
      "parents": [
        "256bdb497c6f562462f1e89fc8e1409f61ef40cb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "message": "ext4: Don\u0027t panic in case of corrupt bitmap\n\nMultiblock allocator calls BUG_ON in many case if the free and used\nblocks count obtained looking at the bitmap is different from what\nthe allocator internally accounted for. Use ext4_error in such case\nand don\u0027t panic the system.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "256bdb497c6f562462f1e89fc8e1409f61ef40cb",
      "tree": "e8c16516bba080b4e40eccebb5a3ea5fb25cf5fd",
      "parents": [
        "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "message": "ext4: allocate struct ext4_allocation_context from a kmem cache\n\nstruct ext4_allocation_context is rather large, and this bloats\nthe stack of many functions which use it.  Allocating it from\na named slab cache will alleviate this.\n\nFor example, with this change (on top of the noinline patch sent earlier):\n\n-ext4_mb_new_blocks\t\t200\n+ext4_mb_new_blocks\t\t 40\n\n-ext4_mb_free_blocks\t\t344\n+ext4_mb_free_blocks\t\t168\n\n-ext4_mb_release_inode_pa\t216\n+ext4_mb_release_inode_pa\t 40\n\n-ext4_mb_release_group_pa\t192\n+ext4_mb_release_group_pa\t 24\n\nMost of these stack-allocated structs are actually used only for\nmballoc history; and in those cases often a smaller struct would do.\nSo changing that may be another way around it, at least for those\nfunctions, if preferred.  For now, in those cases where the ac\nis only for history, an allocation failure simply skips the history\nrecording, and does not cause any other failures.\n\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "7fb5409df092589b86cc9412d926879cb572b7f0",
      "tree": "8201f2fc124d34098776799f8cec89a8f8b4f8bb",
      "parents": [
        "8009f9fb3067fef6c2ca0c16f6bac786ae28639d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "message": "ext4: Fix Direct I/O locking\n\nWe cannot start transaction in ext4_direct_IO() and just let it last\nduring the whole write because dio_get_page() acquires mmap_sem which\nranks above transaction start (e.g. because we have dependency chain\nmmap_sem-\u003ePageLock-\u003ejournal_start, or because we update atime while\nholding mmap_sem) and thus deadlocks could happen. We solve the problem\nby starting a transaction separately for each ext4_get_block() call.\n\nWe *could* have a problem that we allocate a block and before its data\nare written out the machine crashes and thus we expose stale data. But\nthat does not happen because for hole-filling generic code falls back to\nbuffered writes and for file extension, we add inode to orphan list and\nthus in case of crash, journal replay will truncate inode back to the\noriginal size.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8009f9fb3067fef6c2ca0c16f6bac786ae28639d",
      "tree": "acf8bbfd2833a63baa9d2194ed30bf7e7dcb3075",
      "parents": [
        "0040d9875dcccfcb2131417b10fbd9841bc5f05b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "message": "ext4: Fix circular locking dependency with migrate and rm.\n\nIn order to prevent a circular locking dependency when an unlink\noperation is racing with an ext4 migration, we delay taking i_data_sem\nuntil just before switch the inode format, and use i_mutex to prevent\nwrites and truncates during the first part of the migration operation.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0040d9875dcccfcb2131417b10fbd9841bc5f05b",
      "tree": "1480723c649906ec01c4b3c7ee7e2b667324665a",
      "parents": [
        "42a10add852e6291a7544afd8a286622a3e6ae76"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "message": "allow in-inode EAs on ext4 root inode\n\nThe ext3 root inode was treated specially with respect\nto in-inode extended attributes, for reasons detailed\nin the removed comment below.  The first mkfs-created\ninodes would not get extra_i_size or the EXT3_STATE_XATTR\nflag set in ext3_read_inode, which disallowed reading or\nsetting in-inode EAs on the root.\n\nHowever, in ext4, ext4_mark_inode_dirty calls\next4_expand_extra_isize for all inodes; once this is done\nEAs may be placed in the root ext4 inode body.\n\nBut for reasons above, it won\u0027t be found after a reboot.\n\ntestcase:\n\nsetfattr -n user.name -v value mntpt/\nsetfattr -n user.name2 -v value2 mntpt/\numount mntpt/; remount mntpt/\ngetfattr -d mntpt/\n\nname2/value2 has gone missing; debugfs shows it in the\ninode body, but it is not found there by getattr.\n\nThe following fixes it up; newer mkfs appears to properly\nzero the inodes, so this workaround isn\u0027t needed for ext4.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "42a10add852e6291a7544afd8a286622a3e6ae76",
      "tree": "3acf1bdd712f1a53181b1b386c4be8ab0fa58713",
      "parents": [
        "b8356c465b42c162f34b5fd4102a6c27cec36f43"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "message": "ext4: Fix null bh pointer dereference in mballoc\n\nRepoted by Adrian Bunk \u003cbunk@kernel.org\u003e:\n\nThe Coverity checker spotted the following NULL dereference:\n\nstatic int ext4_mb_mark_diskspace_used\n{\n\t...\n\tif (!bitmap_bh)\n\t\tgoto out_err;\n\t...\nout_err:\n\tsb-\u003es_dirt \u003d 1;\n\tput_bh(bitmap_bh);\n\t...\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "b8356c465b42c162f34b5fd4102a6c27cec36f43",
      "tree": "806034b9694b04341888f7bfcaf118fe73e75b71",
      "parents": [
        "4d605179723a3fb8ba594d9516897426e6629a5b"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "message": "ext4: Don\u0027t set EXTENTS_FL flag for fast symlinks\n\nFor fast symbolic links, the file content is stored in the i_block[]\narray, which is not compatible with the new file extents format.\ne2fsck reports error on such files because EXTENTS_FL is set.\nDon\u0027t set the EXTENTS_FL flag when creating fast symlinks.\n\nIn the case of file migration, skip fast symbolic links.\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "1d1fe1ee02b9ac2660995b10e35dd41448fef011",
      "tree": "8961bbe5a36a07dc8ad8c6cd3e973ce0fcde5850",
      "parents": [
        "473043dcee1874aab99f66b0362b344618eb3790"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT4 from using iget() and read_inode()\n\nStop the EXT4 filesystem from using iget() and read_inode().  Replace\next4_read_inode() with ext4_iget(), and call that instead of iget().\next4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "859cb93679929edb88642414bf37789ea263bc47",
      "tree": "3dcc640e2d1fcd7b661336efcd22ef4d3104bb03",
      "parents": [
        "fb01bfdac733f1925561eea52c60072f2fbcdc97"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: cleanup ext[234]_bg_num_gdb()\n\nUse ext[234]_bg_has_super() to remove duplicate code.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb01bfdac733f1925561eea52c60072f2fbcdc97",
      "tree": "92e95b0dd90b99f447d14f0598b398cc2eee9d42",
      "parents": [
        "197cd65accc6a274dabcd81f4811ba5d9a4856df"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: remove unused argument for ext[234]_find_goal()\n\nThe argument chain for ext[234]_find_goal() is not used.  This patch removes\nit and fixes comment as well.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "197cd65accc6a274dabcd81f4811ba5d9a4856df",
      "tree": "a41f7b375887c505f8c6a374ad643bb4c1222ed5",
      "parents": [
        "144704e5227362cbd694b0b3c3aa4ac99a0115c9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: use ext[234]_get_group_desc()\n\nUse ext[234]_get_group_desc() to get group descriptor from group number.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "144704e5227362cbd694b0b3c3aa4ac99a0115c9",
      "tree": "d87b081741724d742514e9b91714ee0aa510ed1e",
      "parents": [
        "1eca93f9cafdec4a332ace9b0fc0d3886d430c28"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: fix comment for nonexistent variable\n\nThe comment in ext[234]_new_blocks() describes about \"i\".  But there is no\nlocal variable called \"i\" in that scope.  I guess it has been renamed to\ngroup_no.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b939e3766ec19eb556cb784c2faace253c6e1560",
      "tree": "0e088db3593d032ce9ee7090ae82b8ed213ccb23",
      "parents": [
        "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Use the ext4_ext_actual_len() helper function\n\next4 uses the high bit of the extent length to encode whether the extent\nis intialized or not. The helper function ext4_ext_get_actual_len should\nbe used to get the actual length of the extent.\n\nThis addresses the kernel bug documented here: \n     http://bugzilla.kernel.org/show_bug.cgi?id\u003d9732\n\nkernel BUG at fs/ext4/extents.c:1056!\n....\nCall Trace:\n[\u003cffffffff88366073\u003e] :ext4dev:ext4_ext_get_blocks+0x5ba/0x8c1\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff812748f6\u003e] _spin_unlock+0x17/0x20\n[\u003cffffffff883400a6\u003e] :jbd2:start_this_handle+0x4e0/0x4fe\n[\u003cffffffff88366564\u003e] :ext4dev:ext4_fallocate+0x175/0x39a\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff81056480\u003e] __lock_acquire+0x4e7/0xc4d\n[\u003cffffffff81053c91\u003e] lock_release_holdtime+0x27/0x49\n[\u003cffffffff810a8de7\u003e] sys_fallocate+0xe4/0x10d\n[\u003cffffffff8100c043\u003e] tracesys+0xd5/0xda\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72",
      "tree": "0065fa9b23765b42aed171cc3e070aabb655d9de",
      "parents": [
        "ce40733ce93de402ed629762f0e912d9af187cef"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix uniniatilized extent splitting error\n\nFix bug reported by Dmitry Monakhov caused by lost error code\n\n    Testcase: \n\n    blksize \u003d 0x1000;\n    fd \u003d open(argv[1], O_RDWR|O_CREAT, 0700);\n    unsigned long long sz \u003d 0x10000000UL;\n    /* allocating big blocks chunk */\n    syscall(__NR_fallocate, fd, 0, 0UL, sz)\n\n    /* grab all other available filesystem space */\n    tfd \u003d open(\"tmp\", O_RDWR|O_CREAT|O_DIRECT, 0700);\n    while( write(tfd, buf, 4096) \u003e 0); /* loop untill ENOSPC */\n    fsync(fd); /* just in case */\n    while (pos \u003c sz) {\n    \t/* each seek+ write operation result in splits uninitialized extent\n    \tin three extents. Splitting may result in new extent allocation\n    \twhich probably will fail because of ENOSPC*/\n\n    \tlseek(fd, blksize*2 -1, SEEK_CUR);\n    \tif ((ret \u003d write(fd, \u0027a\u0027, 1)) !\u003d 1)\n    \t\texit(1);\n    \tpos +\u003d blksize * 2;\n    }\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ce40733ce93de402ed629762f0e912d9af187cef",
      "tree": "b52c78ac15120151ea688550ba4f6ce619d471c0",
      "parents": [
        "cb45bbe44b09f35bb12d67ffa7ecff862608aeae"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Check for return value from sb_set_blocksize\n\nsb_set_blocksize validates whether the specfied block size can be used by\nthe file system. Make sure we fail mounting the file system if the\nblocksize specfied cannot be used.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "cb45bbe44b09f35bb12d67ffa7ecff862608aeae",
      "tree": "4b5a7f95772fcab8d1caac6171a06c970189f3e2",
      "parents": [
        "3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add stripe\u003d option to /proc/mounts\nAdd stripe\u003d option to /proc/mounts for ext4 filesystems.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1",
      "tree": "4b985bdd423deaea51688857320c1a53a4e61999",
      "parents": [
        "c9de560ded61faa5b754137b7753da252391c55a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Enable the multiblock allocator by default\n\nEnable the multiblock allocator by default.\n\nFix ext4_show_options() so if it is not enabled, the nomballoc option\nincluded in /proc/mounts.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c9de560ded61faa5b754137b7753da252391c55a",
      "tree": "2c4311377c4aa72450e27f531e198fe3e1c67db0",
      "parents": [
        "1988b51e476bd097d910c9245b53f2e38aedaf0d"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "message": "ext4: Add multi block allocator for ext4\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1988b51e476bd097d910c9245b53f2e38aedaf0d",
      "tree": "a36b860ac1a49b359d6dc5fd7af9916cf034cac8",
      "parents": [
        "aa02ad67d9b308290fde390682cd039b29f7ab85"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add new functions for searching extent tree\n\nAdd the functions ext4_ext_search_left() and ext4_ext_search_right(),\nwhich are used by mballoc during ext4_ext_get_blocks to decided whether\nto merge extent information.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Johann Lombardi \u003cjohann@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c549a95d40efd83fc054785dd1634e8b71fba890",
      "tree": "3d4623829ceb02b34f1e8a110eb2b8d741db8b14",
      "parents": [
        "aa22df2cc84011808ad7227437ac8f0e01030480"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix up EXT4FS_DEBUG builds\n\nBuilds with EXT4FS_DEBUG defined (to enable ext4_debug()) fail\nwithout these changes.  Clean up some format warnings too.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "aa22df2cc84011808ad7227437ac8f0e01030480",
      "tree": "19dc3172d07ee2fb776ec4e811b4e50e910fc058",
      "parents": [
        "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Fix ext4_show_options to show the correct mount options.\n\nWe need to look at the default value and make sure\nthe mount options are not set via default value\nbefore showing them via ext4_show_options\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e",
      "tree": "6ca056c1cff1103739170d7a19c66a9966c59eb2",
      "parents": [
        "25ec56b518257a56d2ff41a941d288e4b5ff9488"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add EXT4_IOC_MIGRATE ioctl\n\nThe below patch add ioctl for migrating ext3 indirect block mapped inode\nto ext4 extent mapped inode.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "25ec56b518257a56d2ff41a941d288e4b5ff9488",
      "tree": "77e84d38a5ad242f9d73a006f009649f223378f1",
      "parents": [
        "7a224228ed79d587ece2304869000aad1b8e97dd"
      ],
      "author": {
        "name": "Jean Noel Cordenner",
        "email": "jean-noel.cordenner@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add inode version support in ext4\n\nThis patch adds 64-bit inode version support to ext4. The lower 32 bits\nare stored in the osd1.linux1.l_i_version field while the high 32 bits\nare stored in the i_version_hi field newly created in the ext4_inode.\nThis field is incremented in case the ext4_inode is large enough. A\ni_version mount option has been added to enable the feature.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\u003e\n"
    },
    {
      "commit": "818d276ceb83aa9fdebb5e0a53188290312de987",
      "tree": "de3fb4ffadd72caea2876c5232ce76cd14b3646e",
      "parents": [
        "8e85fb3f305b24b79c6d9cb7a56d22b062335ad3"
      ],
      "author": {
        "name": "Girish Shilamkar",
        "email": "girish@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add the journal checksum feature\n\nThe journal checksum feature adds two new flags i.e\nJBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM.\n\nJBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the\nchecksum for the blocks described by the descriptor blocks.\nDue to checksums, writing of the commit record no longer needs to be\nsynchronous. Now commit record can be sent to disk without waiting for\ndescriptor blocks to be written to disk. This behavior is controlled\nusing JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be\nable to recover the journal with _ASYNC_COMMIT hence it is made\nincompat.\nThe commit header has been extended to hold the checksum along with the\ntype of the checksum.\n\nFor recovery in pass scan checksums are verified to ensure the sanity\nand completeness(in case of _ASYNC_COMMIT) of every transaction.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Girish Shilamkar \u003cgirish@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "4df3d265bf8f3762e1d77f554ee279c39dedb020",
      "tree": "35d455ac6592750450d9173125b1e5b9b5efe819",
      "parents": [
        "0e855ac8b103ef579052936b59fe7c599ac422a4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:29 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:29 2008 -0500"
      },
      "message": "ext4: Take read lock during overwrite case.\n\nWhen we are overwriting a file and not actually allocating new file system\nblocks we need to take only the read lock on i_data_sem.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0e855ac8b103ef579052936b59fe7c599ac422a4",
      "tree": "ec29f82e1d7bb1987dcadc00497daf69d6955483",
      "parents": [
        "c278bfecebfb1ed67c326ef472660878baa745cd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Convert truncate_mutex to read write semaphore.\n\nWe are currently taking the truncate_mutex for every read. This would have\nperformance impact on large CPU configuration. Convert the lock to read write\nsemaphore and take read lock when we are trying to read the file.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c278bfecebfb1ed67c326ef472660878baa745cd",
      "tree": "7207594cef5bd04ea7333a8321d78aefee01a540",
      "parents": [
        "01f4adc04480a4e0395906d0268c056cf09c39c0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Make ext4_get_blocks_wrap take the truncate_mutex early.\n\nWhen doing a migrate from ext3 to ext4 inode we need to make sure the test\nfor inode type and walking inode data happens inside  lock. To make this\nhappen move truncate_mutex early before checking the i_flags.\n\n\nThis actually should enable us to remove the verify_chain().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "01f4adc04480a4e0395906d0268c056cf09c39c0",
      "tree": "e89bc1364e50329c1a287cb11960a96cd032ff29",
      "parents": [
        "221879c927df05280283a4de6124806c17cc44d4"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: remove unused code from ext4_find_entry()\n\nThe unused code found in ext3_find_entry() is also present (and still\nunused) in the ext4_find_entry() code. This patch removes it.\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "221879c927df05280283a4de6124806c17cc44d4",
      "tree": "c9d1a53dc45c5d7dbe2456cbaee6eb56ed967bb2",
      "parents": [
        "f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Check for the correct error return from\n\next4_ext_get_blocks returns negative values on error. We should\ncheck for  \u003c\u003d 0\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "abcb2947c91130426539f209f7a473a67a1f6663",
      "tree": "4305e34c0a129c1351d9acabd254b0f896617470",
      "parents": [
        "389d1b083c767a360ec84b27a95da06244becec8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap()\nthere are a few bits that should ALWAYS be set.  In particular,\nthe blocks given corresponding to block bitmap, inode bitmap and inode tables.\nValidate the block bitmap against these blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bb4f397a1a7f2330cb173233599aa159f5780f58",
      "tree": "eaa1605d6ddc816479803e98b82e26b8f0afdfb0",
      "parents": [
        "e7c95593001cb96ef5dd121a4523286c574c7133"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Change the default behaviour on error\n\next4 file system was by default ignoring errors and continuing. This\nis not a good default as continuing on error could lead to file system\ncorruption. Change the default to mark the file system\nreadonly. Debian and ubuntu already does this as the default in their\nfstab.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "e7c95593001cb96ef5dd121a4523286c574c7133",
      "tree": "e49d172341611a20e9e5394379801d4e97977a0b",
      "parents": [
        "07620f69eff6671fea6bd382c95709f757e33768"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fix oops on corrupted ext4 mount\n\nWhen mounting an ext4 filesystem with corrupted s_first_data_block, things\ncan go very wrong and oops.\n\nBecause blocks_count in ext4_fill_super is a u64, and we must use do_div,\nthe calculation of db_count is done differently than on ext4.  If\nfirst_data_block is corrupted such that it is larger than ext4_blocks_count,\nfor example, then the intermediate blocks_count value may go negative,\nbut sign-extend to a very large value:\n\n        blocks_count \u003d (ext4_blocks_count(es) -\n                        le32_to_cpu(es-\u003es_first_data_block) +\n                        EXT4_BLOCKS_PER_GROUP(sb) - 1);\n\nThis is then assigned to s_groups_count which is an unsigned long:\n\n        sbi-\u003es_groups_count \u003d blocks_count;\n\nThis may result in a value of 0xFFFFFFFF which is then used to compute\ndb_count:\n\n        db_count \u003d (sbi-\u003es_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) /\n                   EXT4_DESC_PER_BLOCK(sb);\n\nand in this case db_count will wind up as 0 because the addition overflows\n32 bits.  This in turn causes the kmalloc for group_desc to be of 0 size:\n\n        sbi-\u003es_group_desc \u003d kmalloc(db_count * sizeof (struct buffer_head *),\n                                    GFP_KERNEL);\n\nand eventually in ext4_check_descriptors, dereferencing\nsbi-\u003es_group_desc[desc_block] will result in a NULL pointer dereference.\n\nThe simplest test seems to be to sanity check s_first_data_block,\nEXT4_BLOCKS_PER_GROUP, and ext4_blocks_count values to be sure\ntheir combination won\u0027t result in a bad intermediate value for\nblocks_count.  We could just check for db_count \u003d\u003d 0, but\ncatching it at the root cause seems like it provides more info.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    }
  ],
  "next": "07620f69eff6671fea6bd382c95709f757e33768"
}
