)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "07620f69eff6671fea6bd382c95709f757e33768",
      "tree": "347f56eb81222c3ee28b2991e4c3a3ed722ee618",
      "parents": [
        "cb47dce79145d04634156fd18437e1e78af712e4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4/super.c: fix #ifdef\u0027s (CONFIG_EXT4_* -\u003e CONFIG_EXT4DEV_*)\n\nBased on a report by Robert P. J. Day.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "cb47dce79145d04634156fd18437e1e78af712e4",
      "tree": "d43ee74c88b8ea8463cff9741fa0f4f1e9604c0a",
      "parents": [
        "91b51a018d7711b20e9e0bb14c3d790de4e310d4"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Return after ext4_error in case of failures\n\nThis fix some instances where we were continuing after calling\next4_error. ext4_error call panic only if errors\u003dpanic mount option is\nset. So we need to make sure we return correctly after ext4_error call\n\nReported by: Adrian Bunk \u003cbunk@kernel.org\u003e\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e2b4657453c0d5571bd3c7256585c486ed42d364",
      "tree": "5b8ab501cdf5fa7427ef32440ace56eac72e9ecf",
      "parents": [
        "19295529db35381d46dbaf246f69b4e3b3393996"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: store maxbytes for bitmapped  files and return EFBIG as appropriate\n\nCalculate \u0026 store the max offset for bitmapped files, and\ncatch too-large seeks, truncates, and writes in ext4, shortening\nor rejecting as appropriate.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "cd2291a463c26f60b18e0d9b1901be236dd7f402",
      "tree": "832f5f030a59c72f62e16292006becaddb630059",
      "parents": [
        "8180a5627d126362c2f64e4fa886d6f608d9632a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: different maxbytes functions for bitmap \u0026 extent\tfiles\n\nuse 2 different maxbytes functions for bitmapped \u0026 extent-based\nfiles.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "8180a5627d126362c2f64e4fa886d6f608d9632a",
      "tree": "1b3a3261f72f8245afdd87088703641c76f60392",
      "parents": [
        "0fc1b451471dfc3cabd6e99ef441df9804616e63"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Support large files\n\nThis patch converts ext4_inode i_blocks to represent total\nblocks occupied by the inode in file system block size.\nEarlier the variable used to represent this in 512 byte\nblock size. This actually limited the total size of the file.\n\nThe feature is enabled transparently when we write an inode\nwhose i_blocks cannot be represnted as 512 byte units in a\n48 bit variable.\n\ninode flag  EXT4_HUGE_FILE_FL\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0fc1b451471dfc3cabd6e99ef441df9804616e63",
      "tree": "b018b6ddc5bb5f02b985b06c11f0c01adb38167a",
      "parents": [
        "a48380f769dfed6163fb82a68b13bd562ea1e027"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add support for 48 bit inode i_blocks.\n\nUse the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode\nto represet the higher 16 bits for i_blocks. With this change max_file\nsize becomes (2**48 -1 )* 512 bytes.\n\nWe add a RO_COMPAT feature to the super block to indicate that inode\nhave i_blocks represented as a split 48 bits. Super block with this\nfeature set cannot be mounted read write on a kernel with CONFIG_LSF\ndisabled.\n\nSuper block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a48380f769dfed6163fb82a68b13bd562ea1e027",
      "tree": "2c898479122b3da5c9531aba4b3629c3e6ecfe9f",
      "parents": [
        "7973c0c19ecba92f113488045005f8e7ce1cd7c8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_dir_acl to i_size_high\n\nRename ext4_inode.i_dir_acl to i_size_high\ndrop ext4_inode_info.i_dir_acl as it is not used\nRename ext4_inode.i_size to ext4_inode.i_size_lo\nAdd helper function for accessing the ext4_inode combined i_size.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7973c0c19ecba92f113488045005f8e7ce1cd7c8",
      "tree": "c02d6f963d53b362265715c74b8189aef29ae808",
      "parents": [
        "1d03ec984ca41ba184822d1101babb3fa3e26c77"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_file_acl to i_file_acl_lo\n\nRename i_file_acl to i_file_acl_lo. This helps\nin finding bugs where we use i_file_acl instead\nof the combined i_file_acl_lo and i_file_acl_high\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1d03ec984ca41ba184822d1101babb3fa3e26c77",
      "tree": "6265c324e4c381d4324c69e1692fe6e6dc44cbbc",
      "parents": [
        "99e6f829a854daa6d56006cad51156e98863e73a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Fix sparse warnings.\n\nFix sparse warnings related to static functions\nand local variables.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "99e6f829a854daa6d56006cad51156e98863e73a",
      "tree": "fff435d898ce3db5492252a241531d4016ba3b65",
      "parents": [
        "2aa9fc4c405467f6afbbb2162ff8afaced47d99b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_update_*_feature\n\nIntroduce ext4_update_*_feature and use them instead\nof opencoding.\n\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2aa9fc4c405467f6afbbb2162ff8afaced47d99b",
      "tree": "49fc3490d5b59af8a409207de2d5faac52ab8c91",
      "parents": [
        "fd2d42912f9f09e5250cb3b024ee0625704e9cb7"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: fixes block group number being set to a negative value\n\nThis patch fixes various places where the group number is set to a negative\nvalue.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fd2d42912f9f09e5250cb3b024ee0625704e9cb7",
      "tree": "23e85123e8cc06d518fd7cff665f93429e19e4e2",
      "parents": [
        "bba907433b85ba2adae1bb3b6fd29b4e5f35c468"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: add ext4_group_t, and change all group variables to this type.\n\nIn many places variables for block group are of type int, which limits the\nmaximum number of block groups to 2^31.  Each block group can have up to\n2^15 blocks, with a 4K block size,  and the max filesystem size is limited to\n2^31 * (2^15 * 2^12) \u003d 2^58  -- or 256 PB\n\nThis patch introduces a new type ext4_group_t, of type unsigned long, to\nrepresent block group numbers in ext4.\nAll occurrences of block group variables are converted to type ext4_group_t.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\n"
    },
    {
      "commit": "bba907433b85ba2adae1bb3b6fd29b4e5f35c468",
      "tree": "e542fa7aa0d8ec783be83a895a02d6e26af9fbf6",
      "parents": [
        "725d26d3f09ccb5bac4b4293096b985a312a0d67"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4 extents: remove unneeded casts\n\nThere are many casts in extents.c which are not needed,\nas the variables are already the type of the cast, or\nare being promoted for no particular reason in printk\u0027s.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "725d26d3f09ccb5bac4b4293096b985a312a0d67",
      "tree": "1c49a07da252832fc6842c88a2359e8cd43af636",
      "parents": [
        "a72d7f834e1afa08421938d7eb06bd8e56b0e58c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_lblk_t\n\nThis patch adds a new data type ext4_lblk_t to represent\nthe logical file blocks.\n\nThis is the preparatory patch to support large files in ext4\nThe follow up patch with convert the ext4_inode i_blocks to\nrepresent the number of blocks in file system block size. This\nchanges makes it possible to have a block number 2**32 -1 which\nwill result in overflow if the block number is represented by\nsigned long. This patch convert all the block number to type\next4_lblk_t which is typedef to __u32\n\nAlso remove dead code ext4_ext_walk_space\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "a72d7f834e1afa08421938d7eb06bd8e56b0e58c",
      "tree": "21c6fbbf4187fa8ba56878ea2d5e576e123e1f95",
      "parents": [
        "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Avoid rec_len overflow with 64KB block size\n\nWith 64KB blocksize, a directory entry can have size 64KB which does not fit\ninto 16 bits we have for entry lenght. So we store 0xffff instead and convert\nvalue when read from / written to disk. The patch also converts some places\nto use ext4_next_entry() when we are changing them anyway.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670",
      "tree": "90e6daf4a3f41433221d9cb8d7ce909cde0d62d1",
      "parents": [
        "8561b089afbaed2651591e5a4574fdca451d82f2"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "sho@tnes.nec.co.jp",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Support large blocksize up to PAGESIZE\n\nThis patch set supports large block size(\u003e4k, \u003c\u003d64k) in ext4,\njust enlarging the block size limit. But it is NOT possible to have 64kB\nblocksize on ext4 without some changes to the directory handling\ncode.  The reason is that an empty 64kB directory block would have a\nrec_len \u003d\u003d (__u16)2^16 \u003d\u003d 0, and this would cause an error to be hit in\nthe filesystem.  The proposed solution is treat 64k rec_len\nwith a an impossible value like rec_len \u003d 0xffff to handle this.\n\nThe Patch-set consists of the following 2 patches.\n  [1/2]  ext4: enlarge blocksize\n         - Allow blocksize up to pagesize\n\n  [2/2]  ext4: fix rec_len overflow\n         - prevent rec_len from overflow with 64KB blocksize\n\nNow on 64k page ppc64 box runs with this patch set we could create a 64k\nblock size ext4dev, and able to handle empty directory block.\n\nSigned-off-by: Takashi Sato \u003csho@tnes.nec.co.jp\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "b47b6f38e5202c924bfe7632dce5dda4e3d40731",
      "tree": "b9dfeb426adc7125ac7828d5b646d893163314c6",
      "parents": [
        "9e2de407bec98fb07040f658f55fb71ba1b594f5"
      ],
      "author": {
        "name": "Andries E. Brouwer",
        "email": "Andries.Brouwer@cwi.nl",
        "time": "Mon Dec 17 16:19:55 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:16 2007 -0800"
      },
      "message": "ext3, ext4: avoid divide by zero\n\nAs it turns out, the kernel divides by EXT3_INODES_PER_GROUP(s) when\nmounting an ext3 filesystem.  If that number is zero, a crash follows.\nBelow a patch.\n\nThis crash was reported by Joeri de Ruiter, Carst Tankink and Pim Vullers.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e47776a0a41a14a5634633c96e590827f552c4b5",
      "tree": "44d5168b83fb1d8d72668728c690116d34f6711f",
      "parents": [
        "28822f22e18fc3c422f64b5bf0bb1e6c306af634"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 14 16:58:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:38 2007 -0800"
      },
      "message": "Forbid user to change file flags on quota files\n\nForbid user from changing file flags on quota files.  User has no bussiness\nin playing with these flags when quota is on.  Furthermore there is a\nremote possibility of deadlock due to a lock inversion between quota file\u0027s\ni_mutex and transaction\u0027s start (i_mutex for quota file is locked only when\ntrasaction is started in quota operations) in ext3 and ext4.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: LIOU Payphone \u003clioupayphone@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b832a4b93932103d73c0c3f35ef1153e288327b",
      "tree": "77ca1ff445287685dbebf448fdf172d3f951ed89",
      "parents": [
        "325d22df7b19e0116aff3391d3a03f73d0634ded"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Nov 13 08:07:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Nov 13 08:09:11 2007 -0800"
      },
      "message": "Revert \"ext2/ext3/ext4: add block bitmap validation\"\n\nThis reverts commit 7c9e69faa28027913ee059c285a5ea8382e24b5d, fixing up\nconflicts in fs/ext4/balloc.c manually.\n\nThe cost of doing the bitmap validation on each lookup - even when the\nbitmap is cached - is absolutely prohibitive.  We could, and probably\nshould, do it only when adding the bitmap to the buffer cache.  However,\nright now we are better off just reverting it.\n\nPeter Zijlstra measured the cost of this extra validation as a 85%\ndecrease in cached iozone, and while I had a patch that took it down to\njust 17% by not being _quite_ so stupid in the validation, it was still\na big slowdown that could have been avoided by just doing it right.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Aneesh Kumar \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39655164405940d4818224a085e35420e2f97aed",
      "tree": "6b019b3bc77eecac1731fe64e5c031790c2b5223",
      "parents": [
        "cfaea787c05822acbb4d8963baee5edd1cc0258f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: make struct export_operations const\n\nNow that nfsd has stopped writing to the find_exported_dentry member we an\nmark the export_operations const\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b961ac05a1624ac2883ec31a3601de7eb30ebdd",
      "tree": "06ecfcb552d7610ac45e4c770c64625432a48d78",
      "parents": [
        "74af0baad4fd44cc4412cc210d6d9b6fdf7be8da"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:20 2007 -0700"
      },
      "message": "ext4: new export ops\n\nTrivial switch over to the new generic helpers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "149041070deb2e83cd36dc60bc72975b3cbf5bbe",
      "tree": "8691039d34be263f28f9e0845bb555737033efad",
      "parents": [
        "5b615287b37c32dc0c9dbeab13b19ac87828a5f7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:04 2007 -0400"
      },
      "message": "ext4: lighten up resize transaction requirements\n\nWhen resizing online, setup_new_group_blocks attempts to reserve a\npotentially very large transaction, depending on the current filesystem\ngeometry.  For some journal sizes, there may not be enough room for this\ntransaction, and the online resize will fail.\n\nThe patch below resizes \u0026 restarts the transaction as necessary while\nsetting up the new group, and should work with even the smallest journal.\n\nTested with something like:\n\n[root@newbox ~]# dd if\u003d/dev/zero of\u003dfsfile bs\u003d1024 count\u003d32768\n[root@newbox ~]# mkfs.ext3 -b 1024 fsfile 16384\n[root@newbox ~]# mount -o loop fsfile mnt/\n[root@newbox ~]# resize2fs /dev/loop0\nresize2fs 1.40.2 (12-Jul-2007)\nFilesystem at /dev/loop0 is mounted on /root/mnt; on-line resizing required\nold desc_blocks \u003d 1, new_desc_blocks \u003d 1\nPerforming an on-line resize of /dev/loop0 to 32768 (1k) blocks.\nresize2fs: No space left on device While trying to add group #2\n[root@newbox ~]# dmesg | tail -n 1\nJBD: resize2fs wants too many credits (258 \u003e 256)\n[root@newbox ~]#\n\nWith the below change, it works.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\n"
    },
    {
      "commit": "5b615287b37c32dc0c9dbeab13b19ac87828a5f7",
      "tree": "ebfcf41b38dcfafa223a363efcad09762871ea1f",
      "parents": [
        "ac39849ddc19c0bbb39068497139ac45bccd4321"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:04 2007 -0400"
      },
      "message": "ext4: fix setup_new_group_blocks locking\n\nsetup_new_group_blocks() manipulates the group descriptor block bh\nunder the block_bitmap bh\u0027s lock.  It shouldn\u0027t matter since nobody\nbut resize should be touching these blocks, but it\u0027s worth fixing up.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "ac39849ddc19c0bbb39068497139ac45bccd4321",
      "tree": "b5a6a17f1cd9c98374b91feafcf554bf5197c44d",
      "parents": [
        "d8dd0b45438d62fc4a93d8e3cee9985710d01e40"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: sparse fixes\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d8dd0b45438d62fc4a93d8e3cee9985710d01e40",
      "tree": "78582128460ab1a05b7feecbd9c3ccbdbbd86ea8",
      "parents": [
        "b377611d11aba5251264b487dd4485ddb80260f1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: Convert ext4_extent_idx.ei_leaf to ext4_extent_idx.ei_leaf_lo\n\nConvert ext4_extent_idx.ei_leaf  ext4_extent_idx.ei_leaf_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 48 bit values.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b377611d11aba5251264b487dd4485ddb80260f1",
      "tree": "a92c547ee2e426dacfb7248c146ae7a974d55544",
      "parents": [
        "308ba3ece7db82e8b8d32d6962e4d12e09c5aa41"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:03 2007 -0400"
      },
      "message": "ext4: Convert ext4_extent.ee_start to ext4_extent.ee_start_lo\n\nConvert ext4_extent.ee_start to ext4_extent.ee_start_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 48 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "308ba3ece7db82e8b8d32d6962e4d12e09c5aa41",
      "tree": "988a6a40329b2f22738560b2d56ca85f525cdee4",
      "parents": [
        "6bc9feff14a2524c4bb2bac533dfd874b1533e20"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert s_r_blocks_count and s_free_blocks_count\n\nConvert s_r_blocks_count and s_free_blocks_count to\ns_r_blocks_count_lo and s_free_blocks_count_lo\n\nThis helps in finding BUGs due to direct partial access of\nthese split 64 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6bc9feff14a2524c4bb2bac533dfd874b1533e20",
      "tree": "2ac4775b1c165e4d02eb4c678e213563b87ad727",
      "parents": [
        "5272f8372786a181313c00c7a67304ac6def2e34"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert s_blocks_count to s_blocks_count_lo\n\nConvert s_blocks_count to s_blocks_count_lo\nThis helps in finding BUGs due to direct partial access of\nthese split 64 bit values\n\nAlso fix direct partial access in ext4 code\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5272f8372786a181313c00c7a67304ac6def2e34",
      "tree": "d410591f49209a5a6ae4f04152fb91d1556c946a",
      "parents": [
        "3a14589cceea4c5d2d4de0369ee10b0fb627b107"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:02 2007 -0400"
      },
      "message": "ext4: Convert bg_inode_bitmap and bg_inode_table\n\nConvert bg_inode_bitmap and bg_inode_table to bg_inode_bitmap_lo\nand bg_inode_table_lo.  This helps in finding BUGs due to\ndirect partial access of these split 64 bit values\n\nAlso fix one direct partial access\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a14589cceea4c5d2d4de0369ee10b0fb627b107",
      "tree": "ff7125b54a041a722c6b99adf5af2ffeb44ef19d",
      "parents": [
        "ce421581794f6593830b056969ad7536ab929b2f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: Convert bg_block_bitmap to bg_block_bitmap_lo\n\nConvert bg_block_bitmap to bg_block_bitmap_lo\nThis helps in catching some BUGS due to direct\npartial access of these split fields.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ce421581794f6593830b056969ad7536ab929b2f",
      "tree": "f1b225ae41dbd64f9e6e931ee5454842c6b272ba",
      "parents": [
        "c1bddad9491b3941f7ae27eeee1e4f4822fb3169"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: FLEX_BG Kernel support v2.\n\nThis feature relaxes check restrictions on where each block groups meta\ndata is located within the storage media.  This allows for the allocation\nof bitmaps or inode tables outside the block group boundaries in cases\nwhere bad blocks forces us to look for new blocks which the owning block\ngroup can not satisfy.  This will also allow for new meta-data allocation\nschemes to improve performance and scalability.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1bddad9491b3941f7ae27eeee1e4f4822fb3169",
      "tree": "60f5da7d44b8785f49178d2e48fd84cbd8107102",
      "parents": [
        "717d50e4971b81b96c0199c91cdf0039a8cb181a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:01 2007 -0400"
      },
      "message": "ext4: Fix sparse warnings\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "717d50e4971b81b96c0199c91cdf0039a8cb181a",
      "tree": "a8d68edbc1f064c76cbfee206e093d2c86c80ba0",
      "parents": [
        "4074fe3736b1a43431dff870bf9055ac5dcf3f03"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:00 2007 -0400"
      },
      "message": "Ext4: Uninitialized Block Groups\n\nIn pass1 of e2fsck, every inode table in the fileystem is scanned and checked,\nregardless of whether it is in use.  This is this the most time consuming part\nof the filesystem check.  The unintialized block group feature can greatly\nreduce e2fsck time by eliminating checking of uninitialized inodes.\n\nWith this feature, there is a a high water mark of used inodes for each block\ngroup.  Block and inode bitmaps can be uninitialized on disk via a flag in the\ngroup descriptor to avoid reading or scanning them at e2fsck time.  A checksum\nof each group descriptor is used to ensure that corruption in the group\ndescriptor\u0027s bit flags does not cause incorrect operation.\n\nThe feature is enabled through a mkfs option\n\n\tmke2fs /dev/ -O uninit_groups\n\nA patch adding support for uninitialized block groups to e2fsprogs tools has\nbeen posted to the linux-ext4 mailing list.\n\nThe patches have been stress tested with fsstress and fsx.  In performance\ntests testing e2fsck time, we have seen that e2fsck time on ext3 grows\nlinearly with the total number of inodes in the filesytem.  In ext4 with the\nuninitialized block groups feature, the e2fsck time is constant, based\nsolely on the number of used inodes rather than the total inode count.\nSince typical ext4 filesystems only use 1-10% of their inodes, this feature can\ngreatly reduce e2fsck time for users.  With performance improvement of 2-20\ntimes, depending on how full the filesystem is.\n\nThe attached graph shows the major improvements in e2fsck times in filesystems\nwith a large total inode count, but few inodes in use.\n\nIn each group descriptor if we have\n\nEXT4_BG_INODE_UNINIT set in bg_flags:\n        Inode table is not initialized/used in this group. So we can skip\n        the consistency check during fsck.\nEXT4_BG_BLOCK_UNINIT set in bg_flags:\n        No block in the group is used. So we can skip the block bitmap\n        verification for this group.\n\nWe also add two new fields to group descriptor as a part of\nuninitialized group patch.\n\n        __le16  bg_itable_unused;       /* Unused inodes count */\n        __le16  bg_checksum;            /* crc16(sb_uuid+group+desc) */\n\nbg_itable_unused:\n\nIf we have EXT4_BG_INODE_UNINIT not set in bg_flags\nthen bg_itable_unused will give the offset within\nthe inode table till the inodes are used. This can be\nused by fsck to skip list of inodes that are marked unused.\n\nbg_checksum:\nNow that we depend on bg_flags and bg_itable_unused to determine\nthe block and inode usage, we need to make sure group descriptor\nis not corrupt. We add checksum to group descriptor to\ndetect corruption. If the descriptor is found to be corrupt, we\nmark all the blocks and inodes in the group used.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4074fe3736b1a43431dff870bf9055ac5dcf3f03",
      "tree": "bd33adb6b06eef7f7405addac686ae170750903d",
      "parents": [
        "f077d0d7ea5d65d01f2ce2e7131e964c13a32433"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:50:00 2007 -0400"
      },
      "message": "ext4: remove #ifdef CONFIG_EXT4_INDEX\n\nCONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is\nunconditionally defined in ext4_fs.h.  tune2fs is already able to turn off\ndir indexing, so at this point it\u0027s just cluttering up the code.  Remove\nit.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f077d0d7ea5d65d01f2ce2e7131e964c13a32433",
      "tree": "17022250e65dd332ea6da88e70df7df3f27725dc",
      "parents": [
        "6f38c74f5a01c7bccf58f9d7ee47ea24fb45752f"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:59 2007 -0400"
      },
      "message": "ext4: Remove (partial, never completed) fragment support\n\nFragment support in ext2/3/4 was never implemented, and it probably will\nnever be implemented.   So remove it from ext4.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cd02ff0b14b7e27cbdfd7ff2814b08199a2b7168",
      "tree": "fd9158bb92d086838a1b81b549243f3cdc23a7b8",
      "parents": [
        "d802ffa8850f2a80d141457d7221809182ed8c9f"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:58 2007 -0400"
      },
      "message": "jbd2: JBD_XXX to JBD2_XXX naming cleanup\n\nchange JBD_XXX macros to JBD2_XXX in JBD2/Ext4\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d802ffa8850f2a80d141457d7221809182ed8c9f",
      "tree": "e5a3e9974f0242658ae41391990a28178cc42495",
      "parents": [
        "2d917969bc8dbde45900f5cbc2558e2cf1f8ec32"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:57 2007 -0400"
      },
      "message": "JBD2/Ext4: Convert kmalloc to kzalloc in jbd2/ext4\n\nConvert kmalloc to kzalloc() and get rid of the memset().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b47c3611de05c585e2d81204f6c7e3e255a3461",
      "tree": "24a14614fb9bf507b4b6ad3fa6a7cfa5a92318fb",
      "parents": [
        "41d10da3717409de33d5441f2f6d8f072ab3fbb6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Oct 16 23:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Fix f_version type: should be u64 instead of unsigned long\n\nFix f_version type: should be u64 instead of long\n\nThere is a type inconsistency between struct inode i_version and struct file\nf_version.\n\nfs.h:\n\nstruct inode\n  u64                     i_version;\n\nand\n\nstruct file\n  unsigned long           f_version;\n\nUsers do:\n\nfs/ext3/dir.c:\n\nif (filp-\u003ef_version !\u003d inode-\u003ei_version) {\n\nSo why isn\u0027t f_version a u64 ? It becomes a problem if versions gets\nhigher than 2^32 and we are on an architecture where longs are 32 bits.\n\nThis patch changes the f_version type to u64, and updates the users accordingly.\n\nIt applies to 2.6.23-rc2-mm2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8ea6cf89991000ae458e34e36379814cf202555",
      "tree": "267324741b51696f4e5642ff4f53746cee78e4cc",
      "parents": [
        "3befe7ceb8d39a56a9ea55dd2da8b4bd9ddcdd36"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Tue Oct 16 23:27:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "ext2/4: use is_power_of_2()\n\nReplace n \u0026 (n - 1) with is_power_of_2(n)\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c9e69faa28027913ee059c285a5ea8382e24b5d",
      "tree": "951e6e780da734c61337eb8fef23ac3ad68b1e18",
      "parents": [
        "82df39738ba9e02c057fa99b7461a56117d36119"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Oct 16 23:27:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:52 2007 -0700"
      },
      "message": "ext2/ext3/ext4: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap() there are\na few bits that should ALWAYS be set.  In particular, the blocks given by\next4_blk_bitmap, ext4_inode_bitmap and ext4_inode_table.  Validate the\nblock bitmap against these blocks.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2fb67989d30fea475bb01c5b7ca44adbce5dea",
      "tree": "295e6be829b658f198fd2331c02a0477bf7fd245",
      "parents": [
        "74bf17cffc32511c7c6d70fe7f376b92662e186e"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 23:26:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "remove unused bh in calls to ext234_get_group_desc\n\next[234]_get_group_desc never tests the bh argument, and only sets it if it\nis passed in; it is perfectly happy with a NULL bh argument.  But, many\ncallers send one in and never use it.  May as well call with NULL like\nother callers who don\u0027t use the bh.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9c9bef1345e5d9258febce2a37e4d40319fa728",
      "tree": "cf2d2539011d914fdf33355bb2f3eac1c29a2fdc",
      "parents": [
        "571beed8d698e20392e525ed7f360410e40d12e8"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:26:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "ext4: show all mount options\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e57aa839cea13852e07ecb495692b602b11136c9",
      "tree": "5296984f012e1483519f87af55c617fcbf186073",
      "parents": [
        "bf020cb7b3918e186309db21d75cb91ebafc9d6f"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@gmail.com",
        "time": "Tue Oct 16 23:26:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "convert ill defined log2() to ilog2()\n\nIt\u0027s *wrong* to have\n\t\t\t#define log2(n) ffz(~(n))\nIt should be *reversed*:\n\t\t\t#define log2(n) flz(~(n))\nor\n\t\t\t#define log2(n) fls(n)\nor just use\n\t\t\tilog2(n) defined in linux/log2.h.\n\nThis patch follows the last solution, recommended by Andrew Morton.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Chris Ahna \u003cchristopher.j.ahna@intel.com\u003e\nCc: David Mosberger-Tang \u003cdavidm@hpl.hp.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "febfcf9115917ba80931dbf9f36d8d413698b628",
      "tree": "64a690982354475f4e53c0cb89083e1bfa5231f8",
      "parents": [
        "55ca3e796d452d1fd213846ae6ce8bc4d37b54cc"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Oct 16 23:26:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "fs: mark nibblemap const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "833f4077bf7c2dcff6e31526e03ec2ad91c88581",
      "tree": "80916540be846267342c3e5e4a6255c2c18b44d5",
      "parents": [
        "bf1d89c81352f6eca72d0c10cfee3dba29ef5efb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_init error handling\n\nalloc_percpu can fail, propagate that error.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52d9f3b4090922f34497ace82bd062d80a465a29",
      "tree": "77ee238498a5b205fa80e58b41212a9e3334c8bf",
      "parents": [
        "3a587f47b82f96f19318c036e7b979fcd5c3848f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_sum_positive\n\n s/percpu_counter_sum/\u0026_positive/\n\nBecause its consitent with percpu_counter_read*\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cb4f9fa0c5f3ded9f70f85b70ee6d429834f911",
      "tree": "d1f45445fa98bd41a2f8986781f7c62b470a6b8d",
      "parents": [
        "aa0dff2d09bfa50b7d02714a45920c64568e699d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_sub\n\nHugh spotted that some code does:\n  percpu_counter_add(\u0026counter, -unsignedlong)\n\nwhich, when the amount argument is of type s32, sort-of works thanks to\ntwo\u0027s-complement. However when we\u0027d change the type to s64 this breaks on 32bit\nmachines, because the promotion rules zero extend the unsigned number.\n\nProvide percpu_counter_sub() to hide the s64 cast. That is:\n  percpu_counter_sub(\u0026counter, foo)\nis equal to:\n  percpu_counter_add(\u0026counter, -(s64)foo);\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0dff2d09bfa50b7d02714a45920c64568e699d",
      "tree": "ef94abad6a7c82da3ef9ecfb296d9bc1d3d4efb6",
      "parents": [
        "c4dc4beed23827e155d7cbc2a1ffa3949eddd194"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "lib: percpu_counter_add\n\n s/percpu_counter_mod/percpu_counter_add/\n\nBecause its a better name, _mod implies modulo.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfc1af650a8f36feba6b90a6c398325f885c00bc",
      "tree": "c7db5bbfad01d2c18533e7a128027e26d1992a42",
      "parents": [
        "f4fc66a894546bdc88a775d0e83ad20a65210bcb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "ext4: convert to new aops\n\nConvert ext4 to use write_begin()/write_end() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@sw.ru\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "f4e6b498d6e06742d72706ef50593a9c4dd72214"
}
