)]}'
{
  "log": [
    {
      "commit": "72edc4d0873ba5165c0759264298bf5f55351c7a",
      "tree": "e9a7f27de6e646f03b25f2c3fa2ad7f6a786100b",
      "parents": [
        "3937871d91e4f43e4aaf0b214c68a7857c0e6e80"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 23:32:28 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:57 2010 -0400"
      },
      "message": "merge ext2 delete_inode and clear_inode, switch to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4e420dc423148fba637af1ab618fa8896dfb2d6",
      "tree": "df0e81f5f4b8448dd6b3929e5537dcc46e7d7dde",
      "parents": [
        "282dc178849882289d30e58b54be6b2799b351aa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:56 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:31 2010 -0400"
      },
      "message": "clean up write_begin usage for directories in pagecache\n\nFor filesystem that implement directories in pagecache we call\nblock_write_begin with an already allocated page for this code, while the\nnormal regular file write path uses the default block_write_begin behaviour.\n\nGet rid of the __foofs_write_begin helper and opencode the normal write_begin\ncall in foofs_write_begin, while adding a new foofs_prepare_chunk helper for\nthe directory code.  The added benefit is that foofs_prepare_chunk has\na much saner calling convention.\n\nNote that the interruptible flag passed into block_write_begin is always\nignored if we already pass in a page (see next patch for details), and\nwe never were doing truncations of exessive blocks for this case either so we\ncan switch directly to block_write_begin_newtrunc.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "737f2e93b9724a3554f9d0b248c22cd407313f86",
      "tree": "205ceb526d32c5fcc6ad84a85b05afa9c7fc9902",
      "parents": [
        "3889e6e76f66b7de208a1709d0fe530b21a2d384"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:37 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:57 2010 -0400"
      },
      "message": "ext2: convert to use the new truncate convention.\n\nI also have commented a possible bug in existing ext2 code, marked with XXX.\n\nCc: linux-ext4@vger.kernel.org\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "48bde86df0acb9f53c4fd0908d023ecae962762f",
      "tree": "267f26b2f4945f8c03c12ddcbb9cd26c6e3e0ad0",
      "parents": [
        "7bf0dc9b0ca9e9b6524b1f70e0898c7f11eb10be"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 15 16:46:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:06 2009 -0800"
      },
      "message": "ext2: report metadata errors during fsync\n\nWhen an IO error happens while writing metadata buffers, we should better\nreport it and call ext2_error since the filesystem is probably no longer\nconsistent.  Sometimes such IO errors happen while flushing thread does\nbackground writeback, the buffer gets later evicted from memory, and thus\nthe only trace of the error remains as AS_EIO bit set in blockdevice\u0027s\nmapping.  So we check this bit in ext2_fsync and report the error although\nwe cannot be really sure which buffer we failed to write.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Chris Mason \u003cchris.mason@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": "2314b07cb47ef7d7da5779977f8c3bf1b65748d2",
      "tree": "0720ff1c3ae15b37aa680643a3d214e04021ddfe",
      "parents": [
        "dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Thu Nov 19 19:12:51 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext2: Unify log messages in ext2\n\nmake messages produced by ext2 more unified. It should be\neasy to parse.\n\ndmesg before patch:\n[ 4893.684892] reservations ON\n[ 4893.684896] xip option not supported\n[ 4893.684961] EXT2-fs warning: mounting ext3 filesystem as ext2\n[ 4893.684964] EXT2-fs warning: maximal mount count reached, running\ne2fsck is recommended\n[ 4893.684990] EXT II FS: 0.5b, 95/08/09, bs\u003d1024, fs\u003d1024, gc\u003d2,\nbpg\u003d8192, ipg\u003d1280, mo\u003d80010]\n\ndmesg after patch:\n[ 4893.684892] EXT2-fs (loop0): reservations ON\n[ 4893.684896] EXT2-fs (loop0): xip option not supported\n[ 4893.684961] EXT2-fs (loop0): warning: mounting ext3 filesystem as\next2\n[ 4893.684964] EXT2-fs (loop0): warning: maximal mount count reached,\nrunning e2fsck is recommended\n[ 4893.684990] EXT2-fs (loop0): 0.5b, 95/08/09, bs\u003d1024, fs\u003d1024, gc\u003d2,\nbpg\u003d8192, ipg\u003d1280, mo\u003d80010]\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nReviewed-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5e78b435683daaaacadad1b2aeefb8904cf6acfb",
      "tree": "af67da5df474d5c2ecfb949acf9246d2ef74be8b",
      "parents": [
        "f19d4a8fa6f9b6ccf54df0971c97ffcaa390b7b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 08 19:52:55 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:15:28 2009 -0400"
      },
      "message": "switch ext2 to inode-\u003ei_acl\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "39fe7557b4d6ab82bafaa7b92b98b806afe6ad0d",
      "tree": "7bdf2b80fd720cf31a1f855ed19255641f35e6d9",
      "parents": [
        "10dfb54cd59a18786e43137a935277ca743bb54b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:44 2009 -0700"
      },
      "message": "ext2: Do not update mtime of a moved directory\n\nOne of our users is complaining that his backup tool is upset on ext2\n(while it\u0027s happy on ext3, xfs, ...) because of the mtime change.\n\nThe problem is:\n\n    mkdir foo\n    mkdir bar\n    mkdir foo/a\n\nNow under ext2:\n    mv foo/a foo/b\n\nchanges mtime of \u0027foo/a\u0027 (foo/b after the move).  That does not really\nmake sense and it does not happen under any other filesystem I\u0027ve seen.\n\nMore complicated is:\n    mv foo/a bar/a\n\nThis changes mtime of foo/a (bar/a after the move) and it makes some\nsense since we had to update parent directory pointer of foo/a.  But\nagain, no other filesystem does this.  So after some thoughts I\u0027d vote\nfor consistency and change ext2 to behave the same as other filesystems.\n\nDo not update mtime of a moved directory.  Specs don\u0027t say anything\nabout it (neither that it should, nor that it should not be updated) and\nother common filesystems (ext3, ext4, xfs, reiserfs, fat, ...) don\u0027t do\nit.  So let\u0027s become more consistent.\n\nSpotted by ronny.pretzsch@dfs.de, initial fix by Jörn Engel.\n\nReported-by: \u003cronny.pretzsch@dfs.de\u003e\nCc: \u003chare@suse.de\u003e\nCc: Jörn Engel \u003cjoern@logfs.org\u003e\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": "88164ff4fca75051315d73729ea5a014e8986234",
      "tree": "3ff161c15dd41f713820363ae16c8f754cf24c43",
      "parents": [
        "8ebf975608aaebd7feb33d77f07ba21a6380e086"
      ],
      "author": {
        "name": "Ali Gholami Rudi",
        "email": "ali@rudi.ir",
        "time": "Mon Mar 30 16:49:27 2009 +0430"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:44 2009 +0200"
      },
      "message": "trivial: ext2: fix a typo in comment in ext2.h\n\nSigned-off-by: Ali Gholami Rudi \u003cali@rudi.ir\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e1740a462ecb2eae213be15857b577cc6f6bb8b4",
      "tree": "8ac67062735e9bbf6ec9ef450ba3a7e5a74405f1",
      "parents": [
        "b522412aeabadbb302fd4338eaabf09d10e2d29c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 07 15:14:02 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:12 2009 -0400"
      },
      "message": "switch ext2 to simple_fsync()\n\nkill ext2_sync_file() (along with ext2/fsync.c), get rid of\next2_update_inode() - it\u0027s an alias of ext2_write_inode().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9885444f7ff6e9156adb1adf5558ded9a39ad0a",
      "tree": "0f52bb872aface2a022f7cdb7aea5cd33ab10509",
      "parents": [
        "734711abac46c8fee4d70cc9876ebc6d9edb4971"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 24 07:28:39 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:09 2008 -0400"
      },
      "message": "[PATCH] get rid of on-stack dentry in ext2_get_parent()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "68c9d702bb72f367f3b148963ec6cf5e07ff7f65",
      "tree": "16fc61a1bd973c14a7858ab1fbcb306d3ae75184",
      "parents": [
        "00dc417fa3e763345b34ccb6034d72de76eea0a1"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Fri Oct 03 17:32:43 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 03 17:32:43 2008 -0400"
      },
      "message": "generic block based fiemap implementation\n\nAny block based fs (this patch includes ext3) just has to declare its own\nfiemap() function and then call this generic function with its own\nget_block_t. This works well for block based filesystems that will map\nmultiple contiguous blocks at one time, but will work for filesystems that\nonly map one block at a time, you will just end up with an \"extent\" for each\nblock. One gotcha is this will not play nicely where there is hole+data\nafter the EOF. This function will assume its hit the end of the data as soon\nas it hits a hole after the EOF, so if there is any data past that it will\nnot pick that up. AFAIK no block based fs does this anyway, but its in the\ncomments of the function anyway just in case.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "91dbbe4896f374462c5912fbb3ec0dbab4814783",
      "tree": "811da3f3b17bc0eb939cb217178d0e035ffe5cf2",
      "parents": [
        "c2ec66828fd253802abb912668f4bf9597e3c898"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 08 04:20:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:33 2008 -0800"
      },
      "message": "ext2: remove unused ext2_put_inode prototype\n\nSigned-off-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": "52fcf7032935b33158e3998ed399cac97447ab8d",
      "tree": "65d15b7541614ff52e76cabf6c7ac01ac0d95686",
      "parents": [
        "298384cd7929a3a14d7b116095973f0d02f5d09e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT2 from using iget() and read_inode()\n\nStop the EXT2 filesystem from using iget() and read_inode().  Replace\next2_read_inode() with ext2_iget(), and call that instead of iget().\next2_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next2_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "14f9f7b28e9f4c2102337d45f8d324c004a57481",
      "tree": "e2b2099e485a6a498bfe609cfb5ac57edc22ba28",
      "parents": [
        "f762e9054ff84aa90f037a49747ac61b36609d81"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Feb 06 01:40:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "BKL-removal: convert ext2 over to use unlocked_ioctl\n\nI checked ext2_ioctl and could not find anything in there that would need the\nBKL.  So convert it over to use unlocked_ioctl\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\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": "6454d1f9038f708d7deef6270ed4ba5bb6e55869",
      "tree": "447fc22433ed8f16af01353bc93abffc73bc6ddd",
      "parents": [
        "68576cf122bc5195c758ed295e78b5858472378a"
      ],
      "author": {
        "name": "Tobias Poschwatta",
        "email": "tp@fonz.de",
        "time": "Wed Nov 28 16:21:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:53 2007 -0800"
      },
      "message": "fix up ext2_fs.h for userspace after reservations backport\n\nIn commit a686cd898bd999fd026a51e90fb0a3410d258ddb:\n\n \"Val\u0027s cross-port of the ext3 reservations code into ext2.\"\n\ninclude/linux/ext2_fs.h got a new function whose return value is only\ndefined if __KERNEL__ is defined. Putting #ifdef __KERNEL__ around the\nfunction seems to help, patch below.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a686cd898bd999fd026a51e90fb0a3410d258ddb",
      "tree": "3f0a91a70fe1a3addf9e99f3babed9e9baba4b99",
      "parents": [
        "369f2389e7d03022abdd25e298bffb9613cd0e54"
      ],
      "author": {
        "name": "Martin J. Bligh",
        "email": "mbligh@mbligh.org",
        "time": "Tue Oct 16 23:30:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "ext2 reservations\n\nVal\u0027s cross-port of the ext3 reservations code into ext2.\n\n[mbligh@mbligh.org: Small type error for printk\n[akpm@linux-foundation.org: fix types, sync with ext3]\n[mbligh@mbligh.org: Bring ext2 reservations code in line with latest ext3]\n[akpm@linux-foundation.org: kill noisy printk]\n[akpm@linux-foundation.org: remember to dirty the gdp\u0027s block]\n[akpm@linux-foundation.org: cross-port the missed 5dea5176e5c32ef9f0d1a41d28427b3bf6881b3a]\n[akpm@linux-foundation.org: cross-port e6022603b9aa7d61d20b392e69edcdbbc1789969]\n[akpm@linux-foundation.org: Port the omitted 08fb306fe63d98eb86e3b16f4cc21816fa47f18e]\n[akpm@linux-foundation.org: Backport the missed 20acaa18d0c002fec180956f87adeb3f11f635a6]\n[akpm@linux-foundation.org: fixes]\n[cmm@us.ibm.com: fix reservation extension]\n[bunk@stusta.de: make ext2_get_blocks() static]\n[hugh@veritas.com: fix hang]\n[hugh@veritas.com: ext2_new_blocks should reset the reservation window size]\n[hugh@veritas.com: ext2 balloc: fix off-by-one against rsv_end]\n[hugh@veritas.com: grp_goal 0 is a genuine goal (unlike -1), so ext2_try_to_allocate_with_rsv should treat it as such]\n[hugh@veritas.com: rbtree usage cleanup]\n[pbadari@us.ibm.com: Fix for ext2 reservation]\n[bunk@kernel.org: remove fs/ext2/balloc.c:reserve_blocks()]\n[hugh@veritas.com: ext2 balloc: use io_error label]\nCc: \"Martin J. Bligh\" \u003cmbligh@mbligh.org\u003e\nCc: Valerie Henson \u003cval_henson@linux.intel.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@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": "f34fb6eccc962e4137b77c4bbe1e9a31d27a30e6",
      "tree": "58fd363d892ee2d341a17e52a297632a10219af9",
      "parents": [
        "6272b5a5868f3d5fbf9815f9984891ced343dabc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "ext2: convert to new aops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f99ed67cc1cf5302ea18aa042d75641b61a0a1b",
      "tree": "abf64c561c22b1aa1ba03f2dfb0bdef4d156ca8a",
      "parents": [
        "28ec039c21839914389975b896160a815ffd8b83"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 08 00:31:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "ext3: copy i_flags to inode flags on write\n\nPropagate flags such as S_APPEND, S_IMMUTABLE, etc.  from i_flags into\next2-specific i_flags.  Hence, when someone sets these flags via a different\ninterface than ioctl, they are stored correctly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e322ff07fb2d0f05c02d85e7c6b30d23f308c20f",
      "tree": "56c6817342087294f5242dbea9eaaa38098a9046",
      "parents": [
        "52b499c438ff60991eb3855ca090782569b3e8cf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 29 19:06:20 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 Ext2 device ioctl compat stuff to the Ext2 driver [try #6]\n\nMove the Ext2 device ioctl compat stuff from fs/compat_ioctl.c to the Ext2\ndriver so that the Ext2 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": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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": "2c2212901f8b3fc84f36cb98150cfc2f6b4752f8",
      "tree": "6acfa5cc4f27ef40ea9f8238db74c7930da169f6",
      "parents": [
        "29c6e48601065908e7933c0d8440f383fffe155b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 03:15:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:21 2006 -0800"
      },
      "message": "[PATCH] fs/ext2/: proper ext2_get_parent() prototype\n\nAdd a proper prototype for ext2_get_parent().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50a5223428bbe77bc0f312100c950b6f4520ba34",
      "tree": "d650ea3ff6d831772d86bf127381a3c9a9735cce",
      "parents": [
        "08c6a96fd77836856c090ebb39beadc81cb8484d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 12 13:58:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 16:01:01 2005 -0700"
      },
      "message": "[PATCH] ext2: fix mount options parting\n\nRestore old set of ext2 mount options when remounting of a filesystem\nfails.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d79125bba55ee82701f1c7d4ebbc1aa20ecbe4e",
      "tree": "fbd7f82fea19fd89e09312fe89919774b94a6efe",
      "parents": [
        "ceffc078528befc008c6f2c2c4decda79eabd534"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Thu Jun 23 22:05:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:41 2005 -0700"
      },
      "message": "[PATCH] xip: ext2: execute in place\n\nThese are the ext2 related parts.  Ext2 now uses the xip_* file operations\nalong with the get_xip_page aop when mounted with -o xip.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e072c6f2af57fb8ad9e0f29bfff3f79edf7bdd55",
      "tree": "9d72262a63754b39df4ebfed5bc74855f0408c3a",
      "parents": [
        "614a7d6a76b7fb37bb399047eb3ccf86cafbf60d"
      ],
      "author": {
        "name": "Bernard Blackham",
        "email": "bernard@blackham.com.au",
        "time": "Sat Apr 16 15:25:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:25:45 2005 -0700"
      },
      "message": "[PATCH] ext2 corruption - regression between 2.6.9 and 2.6.10\n\nWhilst trying to stress test a Promise SX8 card, we stumbled across\nsome nasty filesystem corruption in ext2. Our tests involved\ncreating an ext2 partition, mounting, running several concurrent\nfsx\u0027s over it, umounting, and fsck\u0027ing, all scripted[1]. The fsck\nwould always return with errors.\n\nThis regression was traced back to a change between 2.6.9 and\n2.6.10, which moves the functionality of ext2_put_inode into\next2_clear_inode.  The attached patch reverses this change, and\neliminated the source of corruption.\n\nMingming Cao \u003ccmm@us.ibm.com\u003e said:\n\nI think his patch for ext2 is correct.  The corruption on ext3 is not the same\nissue he saw on ext2.  I believe that\u0027s the race between discard reservation\nand reservation in-use that we already fixed it in 2.6.12- rc1.\n\nFor the problem related to ext2, at the time when we design reservation for\next3, we decide we only need to discard the reservation at the last file\nclose, so we have ext3_discard_reservation on iput_final- \u003eext3_clear_inode.\n\nThe ext2 handle discard preallocation differently at that time, it discard the\npreallocation at each iput(), not in input_final(), so we think it\u0027s\nunnecessary to thrash it so frequently, and the right thing to do, as we did\nfor ext3 reservation, discard preallocation on last iput().  So we moved the\next2_discard_preallocation from ext2_put_inode(0 to ext2_clear_inode.\n\nSince ext2 preallocation is doing pre-allocation on disk, so it is possible\nthat at the unmount time, someone is still hold the reference of the inode, so\nthe preallocation for a file is not discard yet, so we still mark those blocks\nallocated on disk, while they are not actually in the inode\u0027s block map, so\nfsck will catch/fix that error later.\n\nThis is not a issue for ext3, as ext3 reservation(pre-allocation) is done in\nmemory.\n\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"
    }
  ]
}
