)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "f4e5bc244f23ee024a4dfa034b591b219b2bfb8f",
      "tree": "df0cb1469de20ae9706a671ab8e9b049e1d93f63",
      "parents": [
        "72b64b594081ef0a0717f6aad77e891c72ed4afa"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 11 01:21:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:18 2006 -0700"
      },
      "message": "[PATCH] ext4 64 bit divide fix\n\nWith CONFIG_LBD\u003dn, sector_div() expands to a plain old divide.  But ext4 is\n_not_ passing in a sector_t as the first argument, so...\n\nfs/built-in.o: In function `ext4_get_group_no_and_offset\u0027:\nfs/ext4/balloc.c:39: undefined reference to `__umoddi3\u0027\nfs/ext4/balloc.c:41: undefined reference to `__udivdi3\u0027\nfs/built-in.o: In function `find_group_orlov\u0027:\nfs/ext4/ialloc.c:278: undefined reference to `__udivdi3\u0027\nfs/built-in.o: In function `ext4_fill_super\u0027:\nfs/ext4/super.c:1488: undefined reference to `__udivdi3\u0027\nfs/ext4/super.c:1488: undefined reference to `__umoddi3\u0027\nfs/ext4/super.c:1594: undefined reference to `__udivdi3\u0027\nfs/ext4/super.c:1601: undefined reference to `__umoddi3\u0027\n\nFix that up by calling do_div() directly.\n\nAlso cast the arg to u64.  do_div() is only defined on u64, and ext4_fsblk_t\nis supposed to be opaque.\n\nNote especially the changes to find_group_orlov().  It was attempting to do\n\n\tdo_div(int, unsigned long long);\n\nwhich is royally screwed up.  Switched it to plain old divide.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "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": "3a5b2ecdd1fa63a8f25bd769223bc1c2564ce45d",
      "tree": "dc80fdde9ed01e77ef0ed6fdef7573d303bd07db",
      "parents": [
        "a86c61812637c7dd0c57e29880cffd477b62f2e7"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Oct 11 01:21:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:16 2006 -0700"
      },
      "message": "[PATCH] ext4: switch fsblk to sector_t\n\nRedefine ext3 in-kernel filesystem block type (ext3_fsblk_t) from unsigned\nlong to sector_t, to allow kernel to handle  \u003e32 bit ext3 blocks.\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": "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"
    }
  ]
}
