)]}'
{
  "log": [
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "68acb8e60d672cba0fd1d3545ba33343931c7a24",
      "tree": "4f380f329111fdf55cac5f3ffff199078a574bd3",
      "parents": [
        "1688f86046e5572623b2eacb685eb707fe21fb0a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 12 22:07:07 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:36 2012 -0400"
      },
      "message": "hfsplus: switch to d_make_root()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b3f2a92447b8443360ac117a3d7c06689562a70c",
      "tree": "c30e40122be3140aeabdb27bb9960fbb9ed2e730",
      "parents": [
        "ace8577aeb438025ecf642f5eda3aa551d251951"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 17:48:52 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 17:48:52 2012 -0500"
      },
      "message": "hfsplus: creation of hidden dir on mount can fail\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f1fcd9f0e96d12498afb5543107f560f196cfcf3",
      "tree": "0444192f838dc8a71b0f6d1270d979a337c6ef6f",
      "parents": [
        "f588c960fcaa6fa8bf82930bb819c9aca4eb9347"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Sep 15 10:48:40 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 15 09:03:17 2011 -0700"
      },
      "message": "hfsplus: fix filesystem size checks\n\ngeneric_check_addressable can\u0027t deal with hfsplus\u0027s larger than page\nsize allocation blocks, so simply opencode the checks that we actually\nneed in hfsplus_fill_super.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\nReported-by: Pavel Ivanov \u003cpaivanof@gmail.com\u003e\nTested-by: Pavel Ivanov \u003cpaivanof@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f588c960fcaa6fa8bf82930bb819c9aca4eb9347",
      "tree": "a2ed7bbc8339e203c4ef9e41d2181b2da7bb5241",
      "parents": [
        "cc39c6a9bbdebfcf1a7dee64d83bf302bc38d941"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Thu Sep 15 10:48:27 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 15 09:03:16 2011 -0700"
      },
      "message": "hfsplus: Fix kfree of wrong pointers in hfsplus_fill_super() error path\n\nCommit 6596528e391a (\"hfsplus: ensure bio requests are not smaller than\nthe hardware sectors\") changed the pointers used for volume header\nallocations but failed to free the correct pointers in the error path\npath of hfsplus_fill_super() and hfsplus_read_wrapper.\n\nThe second hunk came from a separate patch by Pavel Ivanov.\n\nReported-by: Pavel Ivanov \u003cpaivanof@gmail.com\u003e\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6596528e391ad978a6a120142cba97a1d7324cb6",
      "tree": "9f9ad6f52b9665074545639c54399e2680e6c889",
      "parents": [
        "aac4e4198eff7f9551d586c55342403d49249d95"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Mon Jul 18 08:06:23 2011 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jul 22 16:37:44 2011 +0200"
      },
      "message": "hfsplus: ensure bio requests are not smaller than the hardware sectors\n\nCurrently all bio requests are 512 bytes, which may fail for media\nwhose physical sector size is larger than this. Ensure these\nrequests are not smaller than the block device logical block size.\n\nBugLink: http://bugs.launchpad.net/bugs/734883\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "dd7f3d5458e5c0eded620fe8192abe7e418fc94c",
      "tree": "80ccd8fe3d0e7dab7d18852ceac6b4093d3cd44a",
      "parents": [
        "5bd9d99d107c56ff7b35a29e930d85f91a07b2fd"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Wed Jul 06 02:30:00 2011 +0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jul 07 17:45:46 2011 +0200"
      },
      "message": "hfsplus: Add error propagation for hfsplus_ext_write_extent_locked\n\nImplement error propagation through the callers of\nhfsplus_ext_write_extent_locked().\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5bd9d99d107c56ff7b35a29e930d85f91a07b2fd",
      "tree": "b5db237ebff38c90b95f01d8cca28bc8c2536e7f",
      "parents": [
        "c6d5f5fa658f2569a7baaff5acda261a1316cee9"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Wed Jul 06 02:29:59 2011 +0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jul 07 17:45:46 2011 +0200"
      },
      "message": "hfsplus: add error checking for hfs_find_init()\n\nhfs_find_init() may fail with ENOMEM, but there are places, where\nthe returned value is not checked. The consequences can be very\nunpleasant, e.g. kfree uninitialized pointer and\ninappropriate mutex unlocking.\n\nThe patch adds checks for errors in hfs_find_init().\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "c6d5f5fa658f2569a7baaff5acda261a1316cee9",
      "tree": "1e7e03558a9229e8fc3aaec450ffa8049a08c96b",
      "parents": [
        "4ba2d5fdcfd19de0dedf394ddc48db2f219fa89a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Wed Feb 16 09:34:26 2011 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 30 13:40:59 2011 +0200"
      },
      "message": "hfsplus: lift the 2TB size limit\n\nReplace the hardcoded 2TB limit with a dynamic limit based on the block\nsize now that we have fixed the few overflows preventing operation\nwith large volumes.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "032016a56a1e9c83646435b32e4416d499e1f1ce",
      "tree": "2918b2e31c5cf65b5ea1a8acd087bfe6dd7a94b7",
      "parents": [
        "50176ddefa4a942419cb693dd2d8345bfdcde67c"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Fri Jun 24 01:15:02 2011 +0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 30 13:38:39 2011 +0200"
      },
      "message": "hfsplus: Fix double iput of the same inode in hfsplus_fill_super()\n\nThere is a misprint in resource deallocation code on error path in\nhfsplus_fill_super(): the sbi-\u003ealloc_file inode is iput twice,\nwhile the root inode in not iput at all.\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "c5b8d0bce052949e173b5b32f96bd59bceaa2ab0",
      "tree": "5b99f48ad948c351ae07650c44009d847460329a",
      "parents": [
        "ebf53826e105f488f4f628703a108e98940d1dc5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Wed Feb 02 09:32:39 2011 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Feb 03 16:33:51 2011 -0700"
      },
      "message": "hfsplus: fix failed mount handling\n\nCurrently the error handling in hfsplus_fill_super is a mess, and can\nlead to accessing fields in the superblock that haven\u0027t been even set\nup yet.  Fix this by making sure we do not set up sb-\u003es_root until we\nhave the mount fully set up, and before that do proper step by step\nunwinding instead of using hfsplus_put_super as a big hammer.\n\nReported-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "eddf790bd41aa153922df223b4692cc606cadb7b",
      "tree": "b0d1e47588c0dd4797eece4078c3ced34e485f13",
      "parents": [
        "518c79d28e22f657fec399ef5bf0d50b13f7e9b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 18 11:19:23 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 12 20:02:45 2011 -0500"
      },
      "message": "switch hfsplus\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0c21e3aaf6ae85bee804a325aa29c325209180fd",
      "tree": "81c5d698e1c40cc8f473b21c5587a34598754a64",
      "parents": [
        "021db8e2bde53024a163fb4417a185de46fe77aa",
        "b2837fcf4994e699a4def002e26f274d95b387c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:16:27 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:16:27 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:\n  hfsplus: %L-to-%ll, macro correction, and remove unneeded braces\n  hfsplus: spaces/indentation clean-up\n  hfsplus: C99 comments clean-up\n  hfsplus: over 80 character lines clean-up\n  hfsplus: fix an artifact in ioctl flag checking\n  hfsplus: flush disk caches in sync and fsync\n  hfsplus: optimize fsync\n  hfsplus: split up inode flags\n  hfsplus: write up fsync for directories\n  hfsplus: simplify fsync\n  hfsplus: avoid useless work in hfsplus_sync_fs\n  hfsplus: make sure sync writes out all metadata\n  hfsplus: use raw bio access for partition tables\n  hfsplus: use raw bio access for the volume headers\n  hfsplus: always use hfsplus_sync_fs to write the volume header\n  hfsplus: silence a few debug printks\n  hfsplus: fix option parsing during remount\n\nFix up conflicts due to VFS changes in fs/hfsplus/{hfsplus_fs.h,unicode.c}\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "2753cc281c9a0e8a0a45ee2b8110866a9fe63bdd",
      "tree": "d28794ef990637cfcd734a8b467f119e6d69dac1",
      "parents": [
        "596276c3571e2108f4b336be545ece2eacf3da59"
      ],
      "author": {
        "name": "Anton Salikhmetov",
        "email": "alexo@tuxera.com",
        "time": "Thu Dec 16 18:08:38 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Dec 16 18:08:45 2010 +0100"
      },
      "message": "hfsplus: over 80 character lines clean-up\n\nMatch coding style line length limitation where checkpatch.pl\nreported over-80-character-line warnings.\n\nSigned-off-by: Anton Salikhmetov \u003calexo@tuxera.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "34a2d313c51f47cae50ccb89f4196462665f2c48",
      "tree": "c641c7bd24b9e343139a3e1c4d81e51822114cd9",
      "parents": [
        "e34947056076ca5467ee8256d2d9cbc594a79b37"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:21 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:21 2010 +0100"
      },
      "message": "hfsplus: flush disk caches in sync and fsync\n\nFlush the disk cache in fsync and sync to make sure data actually is\non disk on completion of these system calls.  There is a nobarrier\nmount option to disable this behaviour.  It\u0027s slightly misnamed now\nthat barrier actually are gone, but it matches the name used by all\nmajor filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "e34947056076ca5467ee8256d2d9cbc594a79b37",
      "tree": "c1b70f51c1e4bc38e0b0389224862afe26c5720f",
      "parents": [
        "b33b7921db14abcd10c30d0ccfc68e364f5ef7fe"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:15 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:15 2010 +0100"
      },
      "message": "hfsplus: optimize fsync\n\nAvoid doing unessecary work in fsync.  Do nothing unless the inode\nwas marked dirty, and only write the various metadata inodes out if\nthey contain any dirty state from this inode.  This is archived by\nadding three new dirty bits to the hfsplus-specific inode which are\nset in the correct places.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b33b7921db14abcd10c30d0ccfc68e364f5ef7fe",
      "tree": "208810679b25995ba47f00bb1915a19f644931f5",
      "parents": [
        "eb29d66d4f2dc98a81ae590bbdddc8cfa8964d73"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:13 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:13 2010 +0100"
      },
      "message": "hfsplus: split up inode flags\n\nSplit the flags field in the hfsplus inode into an extent_state\nflag that is locked by the extent_lock, and a new flags field\nthat uses atomic bitops.  The second will grow more flags in the\nnext patch.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "f02e26f8d90f8cde98314c72c2e890bc281a8346",
      "tree": "c24bdb07fe551b7fb77f4ff4aaa0eadc8e7622b6",
      "parents": [
        "7dc4f001123f9ebe3b010a6c26acd18698ad205f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:02 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:02 2010 +0100"
      },
      "message": "hfsplus: avoid useless work in hfsplus_sync_fs\n\nThere is no reason to write out the metadata inodes or volume headers\nduring a non-blocking sync, as we are almost guaranteed to dirty them\nagain during the inode writeouts.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7dc4f001123f9ebe3b010a6c26acd18698ad205f",
      "tree": "395164b35e03ba04c3ba2f9fd00b285bd52a8810",
      "parents": [
        "358f26d52680cb150907302d4334359de7dd2d59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:37:57 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:37:57 2010 +0100"
      },
      "message": "hfsplus: make sure sync writes out all metadata\n\nhfsplus stores all metadata except for the volume headers in special\ninodes.  While these are marked hashed and periodically written out\nby the flusher threads, we can\u0027t rely on that for sync.  For the case\nof a data integrity sync the VM has life-lock avoidance code that\navoids writing inodes again that are redirtied during the sync,\nwhich is something that can happen easily for hfsplus.  So make sure\nwe explicitly write out the metadata inodes at the beginning of\nhfsplus_sync_fs.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "52399b171dfaea02b6944cd6feba49b624147126",
      "tree": "199eda8c91a51fa1d4e3c792abd97d9c0a50ae26",
      "parents": [
        "3b5ce8ae31e3c66655207907527476bbd3e5063b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:37:47 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:37:47 2010 +0100"
      },
      "message": "hfsplus: use raw bio access for the volume headers\n\nThe hfsplus backup volume header is located two blocks from the end of\nthe device.  In case of device sizes that are not 4k aligned this means\nwe can\u0027t access it using buffer_heads when using the default 4k block\nsize.\n\nSwitch to using raw bios to read/write all buffer headers.  We were not\nrelying on any caching behaviour of the buffer heads anyway.  Additionally\nalways read in the backup volume header during mount to verify that we\ncan actually read it.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "3b5ce8ae31e3c66655207907527476bbd3e5063b",
      "tree": "5e4cb140be6865e3b67b45a705ab405f1cd94f30",
      "parents": [
        "6d1bbfc4c0458c514126ccf7d6ce9232d9dbc872"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:37:43 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:37:43 2010 +0100"
      },
      "message": "hfsplus: always use hfsplus_sync_fs to write the volume header\n\nRemove opencoded writing of the volume header in hfsplus_fill_super\nand hfsplus_put_super and offload it to hfsplus_sync_fs.  In the\nput_super case this means we only write the superblock once instead\nof twice.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "6d1bbfc4c0458c514126ccf7d6ce9232d9dbc872",
      "tree": "abcea1a2ec38c51a43161860109b16d34777f2fb",
      "parents": [
        "6f80dfe55fcbde1e588bc2cfa1273403b710872d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:37:40 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:37:40 2010 +0100"
      },
      "message": "hfsplus: silence a few debug printks\n\nTurn a few noisy debug printks that show up during xfstests into\ncomplied out debug print statements.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "6f80dfe55fcbde1e588bc2cfa1273403b710872d",
      "tree": "3851aa0862c6e928de0efa38c39c3ca5905fa5a5",
      "parents": [
        "ff8b16d7e15a8ba2a6086645614a483e048e3fbf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Sun Nov 07 23:01:17 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Nov 07 23:01:17 2010 +0100"
      },
      "message": "hfsplus: fix option parsing during remount\n\nhfsplus only actually uses the force option during remount, but it uses\nthe full option parser with a fake superblock to do so.  This means remount\nwill fail if any nls option is set (which happens frequently with older\nmount tools), even if it is the same.\n\nFix this by adding a simpler version of the parser that only parses the force\noption for remount.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "84adede31267af37141da2b2b04293c5ea8af7ae",
      "tree": "41c1a3e28fab11baca330232bacbff3085afde82",
      "parents": [
        "7ac9fb9c2a50963b699b3548e6f00698c1554dc6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:20 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:20 2010 +0200"
      },
      "message": "hfsplus: use atomic bitops for the superblock flags\n\nThe flags in the HFS+-specific superlock do get modified during runtime,\nuse atomic bitops to make the modifications SMP safe.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7ac9fb9c2a50963b699b3548e6f00698c1554dc6",
      "tree": "3660bfb2985c65838b5969694e54043ae6639b3a",
      "parents": [
        "58a818f532e83f337689358c102ba2048d1b37f5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:08 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:08 2010 +0200"
      },
      "message": "hfsplus: add per-superblock lock for volume header updates\n\nLock updates to the mutal fields in the volume header, and document the\nlocing in the hfsplus_sb_info structure.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "58a818f532e83f337689358c102ba2048d1b37f5",
      "tree": "8cd9f322a93423affb9acec6fac3547c7232de5c",
      "parents": [
        "66e5db05bb6670f314d90aba5998e6a033e4d563"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:44:02 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:44:02 2010 +0200"
      },
      "message": "hfsplus: remove the rsrc_inodes list\n\nWe never walk the list - the only reason for it is to make the resource fork\ninodes appear hashed to the writeback code.  Borrow a trick from JFS to do\nthat without needing a list head.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "66e5db05bb6670f314d90aba5998e6a033e4d563",
      "tree": "66bae4889f95b20521d890e4dda944672663aa50",
      "parents": [
        "f17c89bfcc9cccd405098eac3ec1ebfddf03279e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:58 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:58 2010 +0200"
      },
      "message": "hfsplus: do not cache and write next_alloc\n\nWe never look at it, nor change the next_alloc field in the superblock.  So\ndon\u0027t bother caching it or writing it out in hfsplus_sync_fs.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b5080f77ed2de3c8ac67a63044f8a781c75207d9",
      "tree": "48897d88cf2ce0025be0ddb2b53d296c874cd379",
      "parents": [
        "fc4fff82104fa096eada73943fe5249500acd5fa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:43 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:43 2010 +0200"
      },
      "message": "hfsplus: clean up hfsplus_write_inode\n\nAdd a new hfsplus_system_write_inode for writing the special system inodes\nand streamline the fastpath write_inode code.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "fc4fff82104fa096eada73943fe5249500acd5fa",
      "tree": "5fefc3512525a08d9a77723706cde96d001c167f",
      "parents": [
        "6af502de224c3742936d54eee7e3690c09822934"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:41 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:41 2010 +0200"
      },
      "message": "hfsplus: clean up hfsplus_iget\n\nAdd a new hfsplus_system_read_inode for reading the special system inodes\nand streamline the fastpath iget code.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "6af502de224c3742936d54eee7e3690c09822934",
      "tree": "9988331693952348503d64764ff81dc3b5d801ab",
      "parents": [
        "dd73a01a30d729e8fa6f829c4582650e258e36f9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:31 2010 +0200"
      },
      "message": "hfsplus: fix HFSPLUS_I calling convention\n\nHFSPLUS_I doesn\u0027t return a pointer to the hfsplus-specific inode\ninformation like all other FOO_I macros, but dereference the pointer in a way\nthat made it look like a direct struct derefence.  This only works as long\nas the HFSPLUS_I macro is used directly and prevents us from keepig a local\nhfsplus_inode_info pointer.  Fix the calling convention and introduce a local\nhip variable in all functions that use it constantly.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "dd73a01a30d729e8fa6f829c4582650e258e36f9",
      "tree": "befe5a0bf762211d1a907ad11c15c4a21d7c4f74",
      "parents": [
        "e753a62156e952fd5a3c64f98454d9aeee3a2546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:42:59 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:42:59 2010 +0200"
      },
      "message": "hfsplus: fix HFSPLUS_SB calling convention\n\nHFSPLUS_SB doesn\u0027t return a pointer to the hfsplus-specific superblock\ninformation like all other FOO_SB macros, but dereference the pointer in a way\nthat made it look like a direct struct derefence.  This only works as long\nas the HFSPLUS_SB macro is used directly and prevents us from keepig a local\nhfsplus_sb_info pointer.  Fix the calling convention and introduce a local\nsbi variable in all functions that use it constantly.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "e753a62156e952fd5a3c64f98454d9aeee3a2546",
      "tree": "1f474a1212a0690cf30b817822a31094b52e8b5d",
      "parents": [
        "a9fdbf8c6070d49c482e209df7ee93d9ec41ea27"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:53 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:53 2010 +0200"
      },
      "message": "hfsplus: remove BKL from hfsplus_put_super\n\nExcept for -\u003eput_super the BKL is now gone from HFS, which means it\u0027s\nsuperflous there too as -\u003eput_super is serialized by the VFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "a9fdbf8c6070d49c482e209df7ee93d9ec41ea27",
      "tree": "d8e2547819bc1e75f3ac29804e6c5b8b23f65c75",
      "parents": [
        "40bf48afe92fcea61e7e164f0b2599fba8b88124"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:50 2010 +0200"
      },
      "message": "hfsplus: use alloc_mutex in hfsplus_sync_fs\n\nUse alloc_mutex to protect hfsplus_sync_fs against itself and concurrent\nallocations, which allows to get rid of lock_super in hfsplus.\n\nNote that most fields in the superblock still aren\u0027t protected against\nconcurrent allocations, that will follow later.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "40bf48afe92fcea61e7e164f0b2599fba8b88124",
      "tree": "233a48a5e2de1c469804f6745d8fd48e62c78abc",
      "parents": [
        "6333816ade7e04a96ec0a34a8378c455e4f7c4dd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:39 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:39 2010 +0200"
      },
      "message": "hfsplus: introduce alloc_mutex\n\nUse a new per-sb alloc_mutex instead of abusing i_mutex of the alloc_file\nto protect block allocations.  This gets rid of lockdep nesting warnings\nand prepares for extending the scope of alloc_mutex.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1",
      "tree": "1d39e9cd8e1c1f502fb7e985a08286859c69aa36",
      "parents": [
        "45321ac54316eaeeebde0b5f728a1791e500974c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 14:34:48 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:37 2010 -0400"
      },
      "message": "convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5fc510c48f631882ccec3c0f02a25d5b67de09f",
      "tree": "1749954353b972502f05cdfae75b9d5e77cc1f5a",
      "parents": [
        "fa9b227e9019ebaeeb06224ba531a490f91144b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 04 12:24:09 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:43 2010 -0400"
      },
      "message": "get rid of file_fsync()\n\nCopy and simplify in the only two users remaining.\n\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": "6d729e44a55547c009d7a87ea66bff21a8e0afea",
      "tree": "c27e69babb9b397ad56cb20a935b75c35ceb364f",
      "parents": [
        "4504230a71566785a05d3e6b53fa1ee071b864eb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 16 21:05:08 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:42 2009 -0400"
      },
      "message": "fs: Make unload_nls() NULL pointer safe\n\nMost call sites of unload_nls() do:\n\tif (nls)\n\t\tunload_nls(nls);\n\nCheck the pointer inside unload_nls() like we do in kfree() and\nsimplify the call sites.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steve French \u003csfrench@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Petr Vandrovec \u003cvandrove@vc.cvut.cz\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fbc6df0e7a561a313f49faa77829d5de45a97f8",
      "tree": "c19d60ff362527ce66489d2fdbecc34a89b0a0ef",
      "parents": [
        "58bc5bbb873eb5d86126a3fd3ff02aaa69ec15d0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 10:05:12 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:16 2009 -0400"
      },
      "message": "hfsplus: add -\u003esync_fs\n\nAdd a -\u003esync_fs method for data integrity syncs, and reimplement\n-\u003ewrite_super ontop of it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebc1ac164560a241d9bf1b7519062910c3f90a01",
      "tree": "db17fd3043b15f8269cce2c2d00213814022fc30",
      "parents": [
        "01ba687577647beef6c5f2ea59bfb56fac9fcde2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 11 23:35:03 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "-\u003ewrite_super lock_super pushdown\n\nPush down lock_super into -\u003ewrite_super instances and remove it from the\ncaller.\n\nFollowing filesystem don\u0027t need -\u003es_lock in -\u003ewrite_super and are skipped:\n\n * bfs, nilfs2 - no other uses of s_lock and have internal locks in\n\t-\u003ewrite_super\n * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock\n * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in\n \t-\u003ewrite_super\n * xfs - no other uses of s_lock and uses internal lock (buffer lock on\n\tsuperblock buffer) to serialize -\u003ewrite_super.  Also xfs_fs_write_super\n\tis superflous and will go away in the next merge window\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c85e125124a473d6f3e9bb187b0b84207f81d91",
      "tree": "d883424a156c00c55193e46567efdffddb6ef6b9",
      "parents": [
        "517bfae28353e996160518add4d00033d3886e61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 28 18:00:26 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:06 2009 -0400"
      },
      "message": "remove -\u003ewrite_super call in generic_shutdown_super\n\nWe just did a full fs writeout using sync_filesystem before, and if\nthat\u0027s not enough for the filesystem it can perform it\u0027s own writeout\nin -\u003eput_super, which many filesystems already do.\n\nMove a call to foofs_write_super into every foofs_put_super for now to\nguarantee identical behaviour until it\u0027s cleaned up by the individual\nfilesystem maintainers.\n\nExceptions:\n\n - affs already has identical copy \u0026 pasted code at the beginning of\n   affs_put_super so no need to do it twice.\n - xfs does the right thing without it and I have changes pending for\n   the xfs tree touching this are so I don\u0027t really need conflicts\n   here..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "25564dd869d8615e80b70b37de7545bd21de3c7c",
      "tree": "4453809be73488064251f2686fc10eb523a0ea1d",
      "parents": [
        "7dd2c000ff50c758c7abfa95f57c854e3aeba5e6"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Thu Apr 02 16:59:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:09 2009 -0700"
      },
      "message": "fs/hfsplus: return f_fsid for statfs(2)\n\nMake hfsplus return f_fsid info for statfs(2).\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81a73719d1bc77774f6ac91e2476f22c56f18baf",
      "tree": "f760f4f4a31ff371476057e2d2a16857a7077155",
      "parents": [
        "152b95a1ed499075006cc6552ef49407deeb815b"
      ],
      "author": {
        "name": "Mike Crowe",
        "email": "mac@mcrowe.com",
        "time": "Wed Oct 15 22:04:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: quieten down mounting hfsplus journaled fs read only\n\nCheck whether the file system was to be mounted read only anyway before\nwarning about changing the mount to read only.\n\nSigned-off-by: Mike Crowe \u003cmac@mcrowe.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "895c23f8c39c0c8d7b536bb2566d4aa968d78be2",
      "tree": "3744aca0dc59f075e53af348062ad11efdb21192",
      "parents": [
        "39f8d472f280dee6503a364d1d911b9e20ce3ec9"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias@kaehlcke.net",
        "time": "Fri Jul 25 01:46:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "hfsplus: convert the extents_lock in a mutex\n\nApple Extended HFS file system: The semaphore extents lock is used as a\nmutex.  Convert it to the mutex API.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias@kaehlcke.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c79e785ae3f813310261dde81b29ab0c3e28b4",
      "tree": "eef2c72d3837e914f1b74d49e0fbe8450a9af6ee",
      "parents": [
        "6369a4abb486692cd0f5fe592b48ec7419b7976c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "hfs/hfsplus: be*_add_cpu conversion\n\nreplace all:\nbig_endian_variable \u003d cpu_to_beX(beX_to_cpu(big_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tbeX_add_cpu(\u0026big_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "355a46961b58012de239cafccbfce4c9321d4395",
      "tree": "012452f39104f98b2bbadedf530033f2e1f3c502",
      "parents": [
        "25f2ea9fc8c7ec34d351cef7dade2e8046e49ed1"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Apr 29 16:01:22 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 13:23:21 2008 -0700"
      },
      "message": "trivial: fix user-visible typo in hfsplus\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "635253915b3297435e178371407d568522aae3d4",
      "tree": "98e102b111d0aa8703c8b971cb130acf19ce34d0",
      "parents": [
        "fa300b1914f892196acb385677047bc978466de7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop HFSPLUS from using iget() and read_inode()\n\nStop the HFSPLUS filesystem from using iget() and read_inode().  Replace\nhfsplus_read_inode() with hfsplus_iget(), and call that instead of iget().\nhfsplus_iget() then uses iget_locked() directly and returns a proper error\ncode instead of an inode in the event of an error.\n\nhfsplus_fill_super() returns any error incurred when getting the root inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.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": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "d45bce8faf55511ec7d7ffc301461d864d67f1af",
      "tree": "1b3c33667f5cb30d3daa91ddd50a726045991d74",
      "parents": [
        "1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Sun Jul 15 23:41:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:49 2007 -0700"
      },
      "message": "HFS+: add custom dentry hash and comparison operations\n\nAdd custom dentry hash and comparison operations for HFS+ filesystems that are\ncase-insensitive and/or do automatic unicode decomposition.  The new\noperations reuse the existing HFS+ ASCII to unicode conversion, unicode\ndecomposition and case folding functionality.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5001a27802723d6de50d9d8a446d594116524b0",
      "tree": "d8ee0ccdf76b00305298d51c5c78d465092d1345",
      "parents": [
        "abd4aa5a97ebc0efb9a7fbc98ef0bcf39266fadf"
      ],
      "author": {
        "name": "Wyatt Banks",
        "email": "wyatt@banksresearch.com",
        "time": "Sun Jul 15 23:40:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "HFSPlus: change kmalloc/memset to kzalloc\n\nRemoved kmalloc and memset in favor of kzalloc.\n\nTo explain the HFSPLUS_SB() macro in the removed memset call:\n\nhfsplus_fs.h:#define HFSPLUS_SB(super)  (*(struct hfsplus_sb_info *)(super)-\u003es_fs_info)\n\nSigned-off-by: Wyatt Banks \u003cwyatt@banksresearch.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b",
      "tree": "fade83955f75e718e39153d6f81d221403338bed",
      "parents": [
        "f52720ca5f48574e347dff35ffe6b389ace61537"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] Really ignore kmem_cache_destroy return value\n\n* Rougly half of callers already do it by not checking return value\n* Code in drivers/acpi/osl.c does the following to be sure:\n\n\t(void)kmem_cache_destroy(cache);\n\n* Those who check it printk something, however, slab_error already printed\n  the name of failed cache.\n* XFS BUGs on failed kmem_cache_destroy which is not the decision\n  low-level filesystem driver should make. Converted to ignore.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2179d372d9f8b5fc5c189c89bc6a565a42151b23",
      "tree": "2b09f55702890e7edbae9b9e396bfe958f53608a",
      "parents": [
        "7cf3cc3036cb7b1147350bf7c3f1ab98c160eb7b"
      ],
      "author": {
        "name": "David Elliott",
        "email": "elliott@stcnet.com",
        "time": "Wed Jan 18 17:43:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:23 2006 -0800"
      },
      "message": "[PATCH] hfs: add HFSX support\n\nAdd support for HFSX, which allows for case-sensitive filenames.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "634725a92938b0f282b17cec0b007dca77adebd2",
      "tree": "c4dacf0c74ae3d322c37c010ee5cada2280eccca",
      "parents": [
        "5131cf154ad1c6e584efa58d17a469d0b80f49bd"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Jan 18 17:43:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:22 2006 -0800"
      },
      "message": "[PATCH] hfs: cleanup HFS+ prints\n\nAdd the log level and a \"hfs: \" prefix to all kernel prints.  (HFS and HFS+\nwill use the same prefix, as they share some code and could be merged at some\npoint.)\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9979ead5d1eb23191a00453559927c5abf9087e2",
      "tree": "50741cf0f7d99c0cc395c4549eef725335edafa6",
      "parents": [
        "f346f4b373aa320fb0337a3b504e3fb5344abc0b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jan 09 20:54:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:02:03 2006 -0800"
      },
      "message": "[PATCH] fs/hfsplus/: remove the hfsplus_inode_check() debug function\n\nThis patch removes the hfsplus_inode_check() debug function.\n\nIt also removes the now obsolete last_inode_cnt and inode_cnt from struct\nhfsplus_sb_info.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd6a59b22fd3bd044bb14978b885bcd042a10e8e",
      "tree": "5cfad676f7985f657b831f4fc6ad7a9367ec6c4d",
      "parents": [
        "9f155b9802bb7049cd0f216c3fe903b58620df11"
      ],
      "author": {
        "name": "Joshua Kwan",
        "email": "joshk@triplehelix.org",
        "time": "Fri Jan 06 00:09:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:20 2006 -0800"
      },
      "message": "[PATCH] hfsplus oops fix\n\nnls_utf8 is available, and the check in hfsplus_fill_super checks the wrong\npointer for NULLness (it checks the saved nls, not the new one that it\nneeds to use.)\n\nSigned-off-by: Joshua Kwan \u003cjoshk@triplehelix.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0b623c3b22d57d6941b200321779d56c4e79e6b",
      "tree": "a2d9a2e047ff4cb5a9f7123084a00b2c3ecc23fa",
      "parents": [
        "576f6d79564d0d2c1f43088e6805674d2e122935"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Nov 29 19:34:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 29 19:47:03 2005 -0800"
      },
      "message": "[PATCH] hfsplus: don\u0027t modify journaled volume\n\nAccess to a journaled HFS+ volume is not officially supported under Linux, so\nmount such a volume read-only, but users can override this behaviour using the\n\"force\" mount option.\n\nThe minimum requirement to relax this check is to at least check that the\njournal is empty and so nothing needs to be replayed to make sure the volume\nis consistent.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "733482e445ca4450cf41381b1c95e2b8c7145114",
      "tree": "d31a2fdaeb8e439fc348a781c780a035d794266d",
      "parents": [
        "c1a0f5e3c01d28b6782457bee5ae5ace3a9958ec"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Tue Nov 08 21:34:55 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:57 2005 -0800"
      },
      "message": "[PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason\n\nThis patch removes almost all inclusions of linux/version.h.  The 3\n#defines are unused in most of the touched files.\n\nA few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is\nunfortunatly in linux/version.h.\n\nThere are also lots of #ifdef for long obsolete kernels, this was not\ntouched.  In a few places, the linux/version.h include was move to where\nthe LINUX_VERSION_CODE was used.\n\nquilt vi `find * -type f -name \"*.[ch]\"|xargs grep -El \u0027(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)\u0027|grep -Ev \u0027(/(boot|coda|drm)/|~$)\u0027`\n\nsearch pattern:\n/UTS_RELEASE\\|LINUX_VERSION_CODE\\|KERNEL_VERSION\\|linux\\/\\(utsname\\|version\\).h\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "94c1d3184523efa7109472eb393cee6e954c5d75",
      "tree": "566e8e77ea71af755dd19133ca6e895fb92b3f15",
      "parents": [
        "35848e048f55368f132e28e7f3278ce2d2347f6c"
      ],
      "author": {
        "name": "Peter Wainwright",
        "email": "peter.wainwright@hpa-rp.org.uk",
        "time": "Wed Oct 26 01:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 26 10:39:43 2005 -0700"
      },
      "message": "[PATCH] Fix HFS+ to free up the space when a file is deleted.\n\nfsck_hfs reveals lots of temporary files accumulating in the hidden\ndirectory \"\\000\\000\\000HFS+ Private Data\".  According to the HFS+\ndocumentation these are files which are unlinked while in use.  However,\nthere may be a bug in the Linux hfsplus implementation which causes this to\nhappen even when the files are not in use.  It looks like the \"opencnt\"\nfield is never initialized as (I think) it should be in hfsplus_read_inode.\n This means that a file can appear to be still in use when in fact it has\nbeen closed.  This patch seems to fix it for me.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e39f07c83bac96850265b87a69dfc5c90ed4f1f5",
      "tree": "4a9027d515db304a8b9c8f443e7898bcb4c9eae1",
      "parents": [
        "096125f31ae3aa2c7271463b9986dd228e0da089"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:56 2005 -0700"
      },
      "message": "[PATCH] Change HFS+ to not use ll_rw_block()\n\nUse block layer predefined function.\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": "717dd80e999cdc84fb611decec5c5054d37c40d2",
      "tree": "871c103741512a24a01f38a875a841bca8153208",
      "parents": [
        "a5e3985fa014029eb6795664c704953720cc7f7d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Sep 06 15:18:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:50 2005 -0700"
      },
      "message": "[PATCH] hfs: show_options support\n\nThis adds support for show_options.  It also fixes some namespace polution in\nthe hfsplus driver.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "945b092011c6af71a0107be96e119c8c08776f3f",
      "tree": "7e0d6b79250aa2a5d0b51e9368e89b5f92cfe88e",
      "parents": [
        "954d3e95369cf73b4bc1e570729f68264a0e6fe0"
      ],
      "author": {
        "name": "Colin Leroy",
        "email": "colin@colino.net",
        "time": "Sun May 01 08:59:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:16 2005 -0700"
      },
      "message": "[PATCH] hfs, hfsplus: don\u0027t leak s_fs_info and fix an oops\n\nThis patch fixes the leak of sb-\u003es_fs_info in both the HFS and HFS+\nmodules.  In addition to this, it fixes an oops happening when trying to\nmount a non-hfsplus filesystem using hfsplus.  This patch is from Roman\nZippel, based off patches sent by myself.\n\nSigned-off-by: Colin Leroy \u003ccolin@colino.net\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\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"
    }
  ]
}
