)]}'
{
  "log": [
    {
      "commit": "f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b",
      "tree": "9a5b63d45dc805383f7789bba75f7935626767fe",
      "parents": [
        "825f1481ead4ce40671089bae7412ac3519e8caa"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Feb 25 15:29:55 2008 -0500"
      },
      "message": "ext4: Fix BUG when writing to an unitialized extent\n\nThis patch fixes a bug when writing to preallocated but uninitialized\nblocks, which resulted in a BUG in fs/buffer.c saying that the buffer\nis not mapped.\n\nWhen writing to a file, ext4_get_block_wrap() is called with create\u003d1 in\norder to request that blocks be allocated if necessary.  It currently\ncalls ext4_get_blocks() with create\u003d0 in order to do a lookup first.  If\nthe inode contains an unitialized data block, the buffer head is left\nunampped, which ext4_get_blocks_wrap() returns, causing the BUG.\n\nWe fix this by checking to see if the buffer head is unmapped, and if\nso, we make sure the the buffer head is mapped by calling\next4_ext_get_blocks with create\u003d1.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "74d3487fc8aa58cec16dff7239dea1ca59bdab0e",
      "tree": "e7f2e3b107bc7ff98ae4a02d0deb44809ae53394",
      "parents": [
        "e56eb6590693a5a340e8f596db2768a6e1b9e236"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 15 13:43:07 2008 -0500"
      },
      "message": "ext4: modify block allocation algorithm for the last group\n\nWhen a directory inode is allocated in the last group and the last group\ncontains less than s_blocks_per_group blocks, the initial block allocated\nfor the directory is not always allocated in the same group as the\ndirectory inode, but in one of the first groups of the filesystem (group 1\nfor example).\nDepending on the current process\u0027s pid, ext4_find_near() and \next4_ext_find_goal() can return a block number greater than the maximum\nblocks count in the filesystem and in that case the block will be not\nallocated in the same group as the inode.\n\nThe following patch fixes the problem.\n\nShould the modification also be done in ext2/3 code?\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "bfc1af650a8f36feba6b90a6c398325f885c00bc",
      "tree": "c7db5bbfad01d2c18533e7a128027e26d1992a42",
      "parents": [
        "f4fc66a894546bdc88a775d0e83ad20a65210bcb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "ext4: convert to new aops\n\nConvert ext4 to use write_begin()/write_end() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@sw.ru\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b38bd33a6bf5095736620ca8e85fe61820c2d312",
      "tree": "86ba1d0c28dedc87ced6d1f06c7a80d944650559",
      "parents": [
        "f0a594c1c74fedbd838402e7372030311be8cc6e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Thu Jul 19 01:48:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "fix ext4/JBD2 build warnings\n\nLooking at the current linus-git tree jbd_debug() define in\ninclude/linux/jbd2.h\n\nextern u8 journal_enable_debug;\n\n#define jbd_debug(n, f, a...)                                           \\\n        do {                                                            \\\n                if ((n) \u003c\u003d journal_enable_debug) {                      \\\n                        printk (KERN_DEBUG \"(%s, %d): %s: \",            \\\n                                __FILE__, __LINE__, __FUNCTION__);      \\\n                        printk (f, ## a);                               \\\n                }                                                       \\\n        } while (0)\n\u003e fs/ext4/inode.c: In function âext4_write_inodeâ:\n\u003e fs/ext4/inode.c:2906: warning: comparison is always true due to limited\n\u003e range of data type\n\u003e\n\u003e fs/jbd2/recovery.c: In function âjbd2_journal_recoverâ:\n\u003e fs/jbd2/recovery.c:254: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e fs/jbd2/recovery.c:257: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e\n\u003e fs/jbd2/recovery.c: In function âjbd2_journal_skip_recoveryâ:\n\u003e fs/jbd2/recovery.c:301: warning: comparison is always true due to\n\u003e limited range of data type\n\u003e\nNoticed all warnings are occurs when the debug level is 0. Then found\nthe \"jbd2: Move jbd2-debug file to debugfs\" patch\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003d0f49d5d019afa4e94253bfc92f0daca3badb990b\n\nchanged the jbd2_journal_enable_debug from int type to u8, makes the\njbd_debug comparision is always true when the debugging level is 0. Thus\nthe compile warning occurs.\n\nThought about changing the jbd2_journal_enable_debug data type back to\nint, but can\u0027t, because the jbd2-debug is moved to debug fs, where\ncalling debugfs_create_u8() to create the debugfs entry needs the value\nto be u8 type.\n\nEven if we changed the data type back to int, the code is still buggy,\nkernel should not print jbd2 debug message if the\njbd2_journal_enable_debug is set to 0. But this is not the case.\n\nThe fix is change the level of debugging to 1. The same should fixed in\next3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we\nprobably should fix it all together.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d699594dc151c664a2b307e680a3cd9b7145fd83",
      "tree": "9b3e50339d09ea5a7786369fda4da6ecf597d4dd",
      "parents": [
        "1330593eb2d055bdd6ed935886cf2c13c896b288"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Wed Jul 18 08:33:51 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:33:51 2007 -0400"
      },
      "message": "ext4: remove extra IS_RDONLY() check\n\next4_change_inode_journal_flag() is only called from one location:\next4_ioctl(EXT3_IOC_SETFLAGS).  That ioctl case already has a IS_RDONLY()\ncall in it so this one is superfluous.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fc0e15a667121e02686cc52679f6272959fb60cc",
      "tree": "1390b806b6286166f486e03726de32c47c3811fa",
      "parents": [
        "f8628a14a27eb4512a1ede43de1d9db4d9f92bc3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Jul 18 09:20:44 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:20:44 2007 -0400"
      },
      "message": "Use zero_user_page() in ext4 where possible\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e",
      "tree": "ee7b36d3a83ea843746ed3c906a9ad778838b9c6",
      "parents": [
        "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "message": "ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n\nWe need to make sure that existing ext3 filesystems can also avail the\nnew fields that have been added to the ext4 inode. We use\ns_want_extra_isize and s_min_extra_isize to decide by how much we should\nexpand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set\nthen we expand the inode by max(s_want_extra_isize, s_min_extra_isize ,\nsizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is\nstill an open question about whether users should be able to set\ns_*_extra_isize smaller than the known fields or not.\n\nThis patch also adds the functionality to expand inodes to include the\nnewly added fields. We start by trying to expand by s_want_extra_isize\nbytes and if its fails we try to expand by s_min_extra_isize bytes. This\nis done by changing the i_extra_isize if enough space is available in\nthe inode and no EAs are present. If EAs are present and there is enough\nspace in the inode then the EAs in the inode are shifted to make space.\nIf enough space is not available in the inode due to the EAs then 1 or\nmore EAs are shifted to the external EA block. In the worst case when\neven the external EA block does not have enough space we inform the user\nthat some EA would need to be deleted or s_min_extra_isize would have to\nbe reduced.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80",
      "tree": "ee34a5821332cf70b89827eb872f08bc0dd43f89",
      "parents": [
        "0f49d5d019afa4e94253bfc92f0daca3badb990b"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "message": "ext4: Add nanosecond timestamps\n\nThis patch adds nanosecond timestamps for ext4. This involves adding\n*time_extra fields to the ext4_inode to extend the timestamps to\n64-bits.  Creation time is also added by this patch.\n\nThese extended fields will fit into an inode if the filesystem was\nformatted with large inodes (-I 256 or larger) and there are currently\nno EAs consuming all of the available space. For new inodes we always\nreserve enough space for the kernel\u0027s known extended fields, but for\ninodes created with an old kernel this might not have been the case. So\nthis patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature\nflag(ro-compat so that older kernels can\u0027t create inodes with a smaller\nextra_isize). which indicates if the fields fitting inside\ns_min_extra_isize are available or not.  If the expansion of inodes if\nunsuccessful then this feature will be disabled.  This feature is only\nenabled if requested by the sysadmin.\n\nNone of the extended inode fields is critical for correct filesystem\noperation.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ff9ddf7e847c4dc533f119efb6c77a6e57ab6397",
      "tree": "fff8ab26370c0e466d96fb99bf3dc566b909a104",
      "parents": [
        "1e2462f93e011f63fd0f1fedd2c05338ca6b31c2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "message": "ext4: copy i_flags to inode flags on write\n    \nPropagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into\next4-specific i_flags.  Quota code changes these flags on quota files\n(to make it harder for sysadmin to screw himself) and these changes were\nnot correctly propagated into the filesystem.\n\n(This is a forward port patch from ext3)\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "e5d2861f31474b373ce7754dc5122b414a176c64",
      "tree": "17daf2e4c81af9adc74912fb4cc15a2a16d819ff",
      "parents": [
        "e4a10a362cd1df6c23fe46f449d36b3f712e2824"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Sat Jun 23 17:16:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:12 2007 -0700"
      },
      "message": "ext4: lost brelse in ext4_read_inode()\n\nOne of error path in ext4_read_inode() leaks bh since brelse is forgoten.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nAcked-by: Vasily Averin \u003cvvs@sw.ru\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c55e20411c9499c52890a081724a8b71f3dc3a1",
      "tree": "82f1badade34aa5a5461a4ae5141c30a9a64cc66",
      "parents": [
        "54ca4123363f388ab724fc66da92b87dc05395c3"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Thu May 24 13:04:54 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 31 16:20:14 2007 -0400"
      },
      "message": "EXT4: Fix whitespace\n\nReplace a lot of spaces with tabs\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d7bf11d649c72621ca31b8ea12b9c94af380e63",
      "tree": "c4a3c11cf6d13210ed344de0ae091d3f7523c689",
      "parents": [
        "8948e11f450e6189a79e47d6051c3d5a0b98e3f3"
      ],
      "author": {
        "name": "Markus Rechberger",
        "email": "Markus.Rechberger@amd.com",
        "time": "Tue May 08 00:23:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:58 2007 -0700"
      },
      "message": "ext2/3/4: fix file date underflow on ext2 3 filesystems on 64 bit systems\n\nTaken from http://bugzilla.kernel.org/show_bug.cgi?id\u003d5079\n\nsigned long ranges from -2.147.483.648 to 2.147.483.647 on x86 32bit\n\n10000011110110100100111110111101 .. -2,082,844,739\n10000011110110100100111110111101 ..  2,212,122,557 \u003c- this currently gets\nstored on the disk but when converting it to a 64bit signed long value it loses\nits sign and becomes positive.\n\nCc: Andreas Dilger \u003cadilger@dilger.ca\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\n\nAndreas says:\n\nThis patch is now treating timestamps with the high bit set as negative\ntimes (before Jan 1, 1970).  This means we lose 1/2 of the possible range\nof timestamps (lopping off 68 years before unix timestamp overflow -\nnow only 30 years away :-) to handle the extremely rare case of setting\ntimestamps into the distant past.\n\nIf we are only interested in fixing the underflow case, we could just\nlimit the values to 0 instead of storing negative values.  At worst this\nwill skew the timestamp by a few hours for timezones in the far east\n(files would still show Jan 1, 1970 in \"ls -l\" output).\n\nThat said, it seems 32-bit systems (mine at least) allow files to be set\ninto the past (01/01/1907 works fine) so it seems this patch is bringing\nthe x86_64 behaviour into sync with other kernels.\n\nOn the plus side, we have a patch that is ready to add nanosecond timestamps\nto ext3 and as an added bonus adds 2 high bits to the on-disk timestamp so\nthis extends the maximum date to 2242.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7479d2b90b103f84d956a7177b3f99cbd472b345",
      "tree": "fb0f9978ba10d39be2fa8004536d15764cf69584",
      "parents": [
        "1aa9b4b9bc10a0cf6e6109c2997d759a76e840e5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Apr 01 23:49:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:08 2007 -0700"
      },
      "message": "[PATCH] revert \"retries in ext4_prepare_write() violate ordering requirements\"\n\nRevert b46be05004abb419e303e66e143eed9f8a6e9f3f.  Same reasoning as for ext3.\n\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e4fdaf8aebe489e8e59826fdf78cb64356d2ad0",
      "tree": "fe95bee85f97d16f192ff02fa8880f857b71d136",
      "parents": [
        "501b9ebf43f9973c3e246c8fbd17144d81a989ef"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Feb 10 01:46:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] jbd layer function called instead of fs specific one\n\njbd function called instead of fs specific one.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01a732eb22dab153732b94962467eaabb1fd3797",
      "tree": "08b8dbc1a87fb4d0e9e6fd65f7781b04c2684428",
      "parents": [
        "bff19b1d0b2c62882ca4b8f900b52f410c09e967"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Dec 08 02:35:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:37 2006 -0800"
      },
      "message": "[PATCH] ext4 calls journal_stop\n\njournal_stop() is not defined for ext4; change to ext4_journal_stop().\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b46be05004abb419e303e66e143eed9f8a6e9f3f",
      "tree": "51893650757b48b02d18f5e6ab619d5300dc08ca",
      "parents": [
        "e92a4d595b464c4aae64be39ca61a9ffe9c8b278"
      ],
      "author": {
        "name": "Andrey Savochkin",
        "email": "saw@sw.ru",
        "time": "Wed Dec 06 20:37:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:37 2006 -0800"
      },
      "message": "[PATCH] retries in ext4_prepare_write() violate ordering requirements\n\nIn journal\u003dordered or journal\u003ddata mode retry in ext4_prepare_write()\nbreaks the requirements of journaling of data with respect to metadata.\nThe fix is to call commit_write to commit allocated zero blocks before\nretry.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fadc14323684c547f74cf2f4d13517c6c264731",
      "tree": "2b3eedf241a0d7c86f6b808f76e267ded28506ed",
      "parents": [
        "0d1ee42f27d30eed1659f3e85bcbbc7b3711f61f"
      ],
      "author": {
        "name": "Alexandre Ratchov",
        "email": "alexandre.ratchov@bull.net",
        "time": "Wed Oct 11 01:21:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: move block number hi bits\n\nmove \u0027_hi\u0027 bits of block numbers in the larger part of the\nblock group descriptor structure\n\nSigned-off-by: Alexandre Ratchov \u003calexandre.ratchov@bull.net\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d1ee42f27d30eed1659f3e85bcbbc7b3711f61f",
      "tree": "9477b1b1813e67e9a0a06af13c91a34c23c42bc8",
      "parents": [
        "18eba7aae080d4a5c0d850ea810e83d11f0a8d77"
      ],
      "author": {
        "name": "Alexandre Ratchov",
        "email": "alexandre.ratchov@bull.net",
        "time": "Wed Oct 11 01:21:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: allow larger descriptor size\n\nmake block group descriptor larger.\n\nSigned-off-by: Alexandre Ratchov \u003calexandre.ratchov@bull.net\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b8f1f0106ab39ad58765d4e7c57189835f51127",
      "tree": "7f853ec30e4edc57f8b0c82db52b20a5beb75c38",
      "parents": [
        "2ae0210760aed9d626eaede5b63db95e198f7c8e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: removesector_t bits check\n\nPreviously when in-kernel ext4 block type is sector_t, it\u0027s only 4 bits long\nunder some 32bit arch (when CONFIG_LBD is not on).  So we need to check the\nsize of sector_t before we read 48bit long on-disk blocks to in-kernel blocks.\n\nThese checks are unnecessary now as we changed the in-kernel blocks to\nunsigned longlong.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ae0210760aed9d626eaede5b63db95e198f7c8e",
      "tree": "40fd1795f7d2b337407876d515a0147d72cea4f4",
      "parents": [
        "bd81d8eec043094d3ff729a8ff6d5b3a06d3c4b1"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4: blk_type from sector_t to unsigned long long\n\nChange ext4 in-kernel block type (ext4_fsblk_t) from sector_t to unsigned\nlong long.  Remove ext4 block type string micro E3FSBLK, replaced with \"%llu\"\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd81d8eec043094d3ff729a8ff6d5b3a06d3c4b1",
      "tree": "6813a81b8d8453536839d8bcdc8ed924fdab3f44",
      "parents": [
        "a1ddeb7eaecea6a924e3a79aa386797020cb436f"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Wed Oct 11 01:21:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:17 2006 -0700"
      },
      "message": "[PATCH] ext4: 64bit metadata\n\nIn-kernel super block changes to support \u003e32 bit free blocks numbers.\n\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Alexandre Ratchov \u003calexandre.ratchov@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a1ddeb7eaecea6a924e3a79aa386797020cb436f",
      "tree": "aa044e5447394097b9a6e8d1222988ba50d3b8b5",
      "parents": [
        "299717696d48531d70aeb4614c3939e4a28456c1"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Wed Oct 11 01:21:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:17 2006 -0700"
      },
      "message": "[PATCH] ext4: 48bit i_file_acl\n\nAs we are planning to support 48-bit block numbers for ext4, we need to\nsupport 48-bit block numbers for extended attributes.  In the short term, we\ncan do this by reuse (on-disk) 16-bit padding (linux2.i_pad1 currently used\nonly by \"hurd\") as high order bits for xattr.  This patch basically does that.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a86c61812637c7dd0c57e29880cffd477b62f2e7",
      "tree": "10737307293afde2999a887cfeac32c7d7584aa7",
      "parents": [
        "c3fcc8137ce4296ad6ab94f88bd60cbe03d21527"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Wed Oct 11 01:21:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext3: add extent map support\n\nOn disk extents format:\n/*\n* this is extent on-disk structure\n* it\u0027s used at the bottom of the tree\n*/\nstruct ext3_extent {\n__le32  ee_block;       /* first logical block extent covers */\n__le16  ee_len;         /* number of blocks covered by extent */\n__le16  ee_start_hi;    /* high 16 bits of physical block */\n__le32  ee_start;       /* low 32 bigs of physical block */\n};\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dab291af8d6307a3075c3d67d0cc8f98e646cb94",
      "tree": "a2207ab3e2e00472e5e3c969ad0dd211fb9e4151",
      "parents": [
        "a920e9416b3469994860ab552dfd7fd5a5aff162"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] jbd2: enable building of jbd2 and have ext4 use it rather than jbd\n\nReworked from a patch by Mingming Cao and Randy Dunlap\n\nSigned-off-By: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "617ba13b31fbf505cc21799826639ef24ed94af0",
      "tree": "2a41e8c993f7c1eed115ad24047d546ba56cbdf5",
      "parents": [
        "ac27a0ec112a089f1a5102bc8dffc79c8c815571"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:20:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:15 2006 -0700"
      },
      "message": "[PATCH] ext4: rename ext4 symbols to avoid duplication of ext3 symbols\n\nMingming Cao originally did this work, and Shaggy reproduced it using some\nscripts from her.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
      "tree": "bcbcc0a5a88bf99b35119d9d9d660a37c503d787",
      "parents": [
        "502717f4e112b18d9c37753a32f675bec9f2838b"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Oct 11 01:20:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:15 2006 -0700"
      },
      "message": "[PATCH] ext4: initial copy of files from ext3\n\nStart of the ext4 patch series.  See Documentation/filesystems/ext4.txt for\ndetails.\n\nThis is a simple copy of the files in fs/ext3 to fs/ext4 and\n/usr/incude/linux/ext3* to /usr/include/ex4*\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
