)]}'
{
  "log": [
    {
      "commit": "43237b5490e8f2f4679decd660064ff35ce490cc",
      "tree": "487380755d875bfe4e5b3700d08c85d58f97ae14",
      "parents": [
        "1e9fd53b783ea646de3ee09a4574afeb6778d504"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 20 18:41:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 21:30:46 2009 +0200"
      },
      "message": "ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()\n\nGet rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to\nbe a relict from some old days and setting disksize in this function does not\nmake much sence. Currently it was set only by ext3_getblk().  Since the\nparameter has some effect only if create \u003d\u003d 1, it is easy to check that the\nthree callers which end up calling ext3_getblk() with create \u003d\u003d 1 (ext3_append,\next3_quota_write, ext3_mkdir) do the right thing and set disksize themselves.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "039fd8ce6258e01ec29f1637f9bf1868dd877c55",
      "tree": "dcc90b006655eecad1d0cd82850feef2398976fa",
      "parents": [
        "b277c884f7856ce0791b1e72079023a86767981b"
      ],
      "author": {
        "name": "Cyrus Massoumi",
        "email": "cyrusm@gmx.net",
        "time": "Thu Apr 02 16:57:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: remove the BKL in ext3/ioctl.c\n\nReformat ext3/ioctl.c to make it look more like ext4/ioctl.c and remove\nthe BKL around ext3_ioctl().\n\nSigned-off-by: Cyrus Massoumi \u003ccyrusm@gmx.net\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c9fa93d51123c5540762b1a9e1919d6f9c4af7c",
      "tree": "e0c09b583c785be17bd2509b7c71fd7db3ad9aad",
      "parents": [
        "57f8f7b60db6f1ed2c6918ab9230c4623a9dbe37"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Oct 25 11:38:37 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Oct 25 22:37:44 2008 -0400"
      },
      "message": "ext3: Fix duplicate entries returned from getdents() system call\n\nFix a regression caused by commit 6a897cf4, \"ext3: fix ext3_dx_readdir\nhash collision handling\", where deleting files in a large directory\n(requiring more than one getdents system call), results in some\nfilenames being returned twice.  This was caused by a failure to\nupdate info-\u003ecurr_hash and info-\u003ecurr_minor_hash, so that if the\ndirectory had gotten modified since the last getdents() system call\n(as would be the case if the user is running \"rm -r\" or \"git clean\"),\na directory entry would get returned twice to the userspace.\n\nThis patch fixes the bug reported by Markus Trippelsdorf at:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11844\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nTested-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\n"
    },
    {
      "commit": "cdbf6dba28e8e6268c8420857696309470009fd9",
      "tree": "ab41f3c567a5e94f3c0e500ab796ad3bdd38806c",
      "parents": [
        "5ec8b75e3a2a94860ee99b5456fe1a963c8680e5"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Oct 18 20:28:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "ext3: avoid printk floods in the face of directory corruption\n\nA very large directory with many read failures (either due to storage\nproblems, or due to invalid size \u0026 blocks from corruption) will generate a\nprintk storm as the filesystem continues to try to read all the blocks.\nThis flood of messages can tie up the box until it is complete - which may\nbe a very long time, especially for very large corrupted values.\n\nThis is fixed by only reporting the corruption once each time we try to\nread the directory.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a897cf447a83c9c3fd1b85a1e525c02d6eada7d",
      "tree": "d31c7e566cafce2886bf57079bbb7eea738f8d10",
      "parents": [
        "960a22ae60c8a723bd17da3b929fe0bcea6d007e"
      ],
      "author": {
        "name": "Eugene Dashevsky",
        "email": "eugene@ibrix.com",
        "time": "Sat Oct 18 20:27:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "ext3: fix ext3_dx_readdir hash collision handling\n\nThis fixes a bug where readdir() would return a directory entry twice\nif there was a hash collision in an hash tree indexed directory.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Eugene Dashevsky \u003ceugene@ibrix.com\u003e\nSigned-off-by: Mike Snitzer \u003cmsnitzer@ibrix.com\u003e\nSigned-off-by: \"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": "9ebfbe9f926553eabc21b4400918d1216b27ed0c",
      "tree": "fb49beb7726579f0d798cf4d72aab646f52e2e1c",
      "parents": [
        "1984bb763c2e50d0ebfb0cf56d1b319bd7afe63a"
      ],
      "author": {
        "name": "Shen Feng",
        "email": "shen@cn.fujitsu.com",
        "time": "Fri Jul 25 01:46:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "ext3: improve some code in rb tree part of dir.c\n\n- remove unnecessary code in free_rb_tree_fname\n - rename free_rb_tree_fname to ext3_htree_create_dir_info\n   since it and ext3_htree_free_dir_info are a pair\n - replace kmalloc with kzalloc in ext3_htree_free_dir_info\n\nSigned-off-by: Shen Feng \u003cshen@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c06a8dc64a2d1884bd19b4c6353d9267ae4e3e1",
      "tree": "67afad25e4de3139d3b993e22327096c3e015013",
      "parents": [
        "dbaf4c024a657175f43b5091c4fab8b9f0e17078"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 14 17:00:19 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:43 2007 -0800"
      },
      "message": "Fix 64KB blocksize in ext3 directories\n\nWith 64KB blocksize, a directory entry can have size 64KB which does not\nfit into 16 bits we have for entry lenght.  So we store 0xffff instead and\nconvert value when read from / written to disk.  The patch also converts\nsome places to use ext3_next_entry() when we are changing them anyway.\n\n[akpm@linux-foundation.org: coding-style cleanups]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "059590f495f9c6e89cb018b9e612c3eec2336109",
      "tree": "89f86070d05fc3c153a0f6a506ac315ef87cba3a",
      "parents": [
        "a9c62a18a291499d15a370d08771e781fbaf91e6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Oct 16 23:30:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "ext3: remove #ifdef CONFIG_EXT3_INDEX\n\nCONFIG_EXT3_INDEX is not an exposed config option in the kernel, and it is\nunconditionally defined in ext3_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\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": "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": "f4e6b498d6e06742d72706ef50593a9c4dd72214",
      "tree": "74a573302b2ea086c0d21907175be604f110f5b1",
      "parents": [
        "0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: combine file_ra_state.prev_index/prev_offset into prev_pos\n\nCombine the file_ra_state members\n\t\t\t\tunsigned long prev_index\n\t\t\t\tunsigned int prev_offset\ninto\n\t\t\t\tloff_t prev_pos\n\nIt is more consistent and better supports huge files.\n\nThanks to Peter for the nice proposal!\n\n[akpm@linux-foundation.org: fix shift overflow]\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d",
      "tree": "baf7e79de006ca80eac426d2d1be4c52f5f19624",
      "parents": [
        "fe3cba17c49471e99d3421e675fc8b3deaaf0b70"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: split ondemand readahead interface into two functions\n\nSplit ondemand readahead interface into two functions.  I think this makes it\na little clearer for non-readahead experts (like Rusty).\n\nInternally they both call ondemand_readahead(), but the page argument is\nchanged to an obvious boolean flag.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\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": "dc7868fcb9a73990e6f30371c1be465c436a7a7f",
      "tree": "21dfd3e625bb4a9f78a7795f0a5b110c3dd8843e",
      "parents": [
        "a08a166fe77d9f9ad88ed6d06b97e73453661f89"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: convert ext3/ext4 invocations\n\nConvert ext3/ext4 dir reads to use on-demand readahead.\n\nReadahead for dirs operates _not_ on file level, but on blockdev level.  This\nmakes a difference when the data blocks are not continuous.  And the read\nroutine is somehow opaque: there\u0027s no handy info about the status of current\npage.  So a simplified call scheme is employed: to call into readahead\nwhenever the current page falls out of readahead windows.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "fe21a69389165b9641a8d0b89e00a71c4e5f5d59",
      "tree": "69680eba96fa96884edea6af2d6e060b90a2cc37",
      "parents": [
        "c29c6934304a05781c9bd1611bd98870689f34e7"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] ext3: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext3\nfilesystem.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40b851348fe9bf49c26025b34261d25142269b60",
      "tree": "dae334f455fecbcb070ddd4b8e8b220159014652",
      "parents": [
        "59287c0913cc9a6c75712a775f6c1c1ef418ef3b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 06 20:36:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:33 2006 -0800"
      },
      "message": "[PATCH] handle ext3 directory corruption better\n\nI\u0027ve been using Steve Grubb\u0027s purely evil \"fsfuzzer\" tool, at\nhttp://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz\n\nBasically it makes a filesystem, splats some random bits over it, then\ntries to mount it and do some simple filesystem actions.\n\nAt best, the filesystem catches the corruption gracefully.  At worst,\nthings spin out of control.\n\nAs you might guess, we found a couple places in ext3 where things spin out\nof control :)\n\nFirst, we had a corrupted directory that was never checked for\nconsistency...  it was corrupt, and pointed to another bad \"entry\" of\nlength 0.  The for() loop looped forever, since the length of\next3_next_entry(de) was 0, and we kept looking at the same pointer over and\nover and over and over...  I modeled this check and subsequent action on\nwhat is done for other directory types in ext3_readdir...\n\n(adding this check adds some computational expense; I am testing a followup\npatch to reduce the number of times we check and re-check these directory\nentries, in all cases.  Thanks for the idea, Andreas).\n\nNext we had a root directory inode which had a corrupted size, claimed to\nbe \u003e 200M on a 4M filesystem.  There was only really 1 block in the\ndirectory, but because the size was so large, readdir kept coming back for\nmore, spewing thousands of printk\u0027s along the way.\n\nPer Andreas\u0027 suggestion, if we\u0027re in this read error condition and we\u0027re\ntrying to read an offset which is greater than i_blocks worth of bytes,\nstop trying, and break out of the loop.\n\nWith these two changes fsfuzz test survives quite well on ext3.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.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": "52a700c5675f399c07e6e57328291e57f13ef3bb",
      "tree": "4ef1a3a7d66f589ad2e5f7d769da8c30f172a70e",
      "parents": [
        "e322ff07fb2d0f05c02d85e7c6b30d23f308c20f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:06:23 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:29 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]\n\nMove the Ext3 device ioctl compat stuff from fs/compat_ioctl.c to the Ext3\ndriver so that the Ext3 header file doesn\u0027t need to be included.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f8314dc60ccba7e41f425048c4160dc7f63377d5",
      "tree": "4e361a6e93dc7f64da0244e5a0dfef1fface0ddb",
      "parents": [
        "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc\n\nConversions from kmalloc+memset to kzalloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nJffs2-bit-acked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9ad5620bfb901df8a7a2603c88689ededeecaf1",
      "tree": "82a2b22e1b7401b98fc2f201b8df2db05764332a",
      "parents": [
        "7543fc7b3abfee8c6cd6349ebd5e5fde02fac984"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: More whitespace cleanups\n\nMore white space cleanups in preparation of cloning ext4 from ext3.\nRemoving spaces that precede a tab.\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"
    },
    {
      "commit": "ae6ddcc5f24d6b06ae9231dc128904750a4155e0",
      "tree": "93c6e20b513f39b616af101dabe9b756f7300d0d",
      "parents": [
        "e7ab8d65055e9b9dfc131d0467cfc5a8368d7ee4"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Sep 27 01:49:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3 and jbd cleanup: remove whitespace\n\nRemove whitespace from ext3 and jbd, before we clone ext4.\n\nSigned-off-by: Mingming Cao\u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52b5108ca7490c0609e4dbddd8439bc03d702c99",
      "tree": "410b7114047eb0b0f84f5b11b7981994d64a3904",
      "parents": [
        "3db3a445308b3cee9bbbd8baa6d05081c9532da0"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 21 13:15:57 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 21 13:15:57 2006 +0100"
      },
      "message": "[RBTREE] Update ext3 to use rb_parent() accessor macro.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89747d369d34e333b9b60f10f333a0b727b4e4e2",
      "tree": "26b55849e666c7f6c7a7312b100756c3b591559f",
      "parents": [
        "e2d53f9525790dfacbcf09f359536311d3913d98"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Sun Mar 26 01:37:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:00 2006 -0800"
      },
      "message": "[PATCH] ext3_get_blocks: Mapping multiple blocks at a once\n\nCurrently ext3_get_block() only maps or allocates one block at a time.  This\nis quite inefficient for sequential IO workload.\n\nI have posted a early implements a simply multiple block map and allocation\nwith current ext3.  The basic idea is allocating the 1st block in the existing\nway, and attempting to allocate the next adjacent blocks on a best effort\nbasis.  More description about the implementation could be found here:\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d112162230003522\u0026w\u003d2\n\nThe following the latest version of the patch: break the original patch into 5\npatches, re-worked some logicals, and fixed some bugs.  The break ups are:\n\n [patch 1] Adding map multiple blocks at a time in ext3_get_blocks()\n [patch 2] Extend ext3_get_blocks() to support multiple block allocation\n [patch 3] Implement multiple block allocation in ext3-try-to-allocate\n (called via ext3_new_block()).\n [patch 4] Proper accounting updates in ext3_new_blocks()\n [patch 5] Adjust reservation window size properly (by the given number\n of blocks to allocate) before block allocation to increase the\n possibility of allocating multiple blocks in a single call.\n\nTests done so far includes fsx,tiobench and dbench.  The following numbers\ncollected from Direct IO tests (1G file creation/read) shows the system time\nhave been greatly reduced (more than 50% on my 8 cpu system) with the patches.\n\n 1G file DIO write:\n \t2.6.15\t\t2.6.15+patches\n real    0m31.275s\t0m31.161s\n user    0m0.000s\t0m0.000s\n sys     0m3.384s\t0m0.564s\n\n 1G file DIO read:\n \t2.6.15\t\t2.6.15+patches\n real    0m30.733s\t0m30.624s\n user    0m0.000s\t0m0.004s\n sys     0m0.748s\t0m0.380s\n\nSome previous test we did on buffered IO with using multiple blocks allocation\nand delayed allocation shows noticeable improvement on throughput and system\ntime.\n\nThis patch:\n\nAdd support of mapping multiple blocks in one call.\n\nThis is useful for DIO reads and re-writes (where blocks are already\nallocated), also is in line with Christoph\u0027s proposal of using getblocks() in\nmpage_readpage() or mpage_readpages().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8733c2956968a01394a4d2a9e97a8b431a78776",
      "tree": "9743c9020eb5193efa4a0f102b3a7eb1d999c4fd",
      "parents": [
        "b8e31edc10d160a8bf2159541d9d12f2079a0887"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:09 2006 -0800"
      },
      "message": "[PATCH] ext3_readdir: use generic readahead\n\nLinus points out that ext3_readdir\u0027s readahead only cuts in when\next3_readdir() is operating at the very start of the directory.  So for large\ndirectories we end up performing no readahead at all and we suck.\n\nSo take it all out and use the core VM\u0027s page_cache_readahead().  This means\nthat ext3 directory reads will use all of readahead\u0027s dynamic sizing goop.\n\nNote that we\u0027re using the directory\u0027s filp-\u003ef_ra to hold the readahead state,\nbut readahead is actually being performed against the underlying blockdev\u0027s\naddress_space.  Fortunately the readahead code is all set up to handle this.\n\nTested with printk.  It works.  I was struggling to find a real workload which\nactually cared.\n\n(The patch also exports page_cache_readahead() to GPL modules)\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
