)]}'
{
  "log": [
    {
      "commit": "f3922382ce930e76773fb06416a7a6081a8702ad",
      "tree": "41de4a013a7d0686403da8a37880644cc3390b81",
      "parents": [
        "7cd916f6ea86e8538b1e8136847dfb941813fe94"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 13 12:10:34 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:52 2012 -0400"
      },
      "message": "hfsplus: initialise userflags\n\nThe userflags field was being written to the filesystem without being\ninitialised. Make sure it\u0027s clear, since otherwise files end up with\ngarbage attributes.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c47da79851d5f8629c6715e681315dd8e0a3d7d8",
      "tree": "6e2d60f888d4939819bf03c51c57a47a2487e896",
      "parents": [
        "e021d7b7fd364e0ad1b8d65af80995c72f321419"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 03:26:51 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:10 2012 -0500"
      },
      "message": "hfsplus: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aacfc19c626ebd3daa675652457d71019a1f583f",
      "tree": "9c1cfb5945e939f1ba56b4c0101c211e84e544c0",
      "parents": [
        "df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:47 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:49 2011 -0400"
      },
      "message": "fs: simplify the blockdev_direct_IO prototype\n\nSimple filesystems always pass inode-\u003ei_sb_bdev as the block device\nargument, and never need a end_io handler.  Let\u0027s simply things for\nthem and for my grepping activity by dropping these arguments.  The\nonly thing not falling into that scheme is ext4, which passes and\nend_io handler without needing special flags (yet), but given how\nmessy the direct I/O code there is use of __blockdev_direct_IO\nin one instead of two out of three cases isn\u0027t going to make a large\ndifference anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "562c72aa57c36b178eacc3500a0215651eca9429",
      "tree": "2c522c53ab26fc72e85e08747a08e3dca1207c87",
      "parents": [
        "11b80f459adaf91a712f95e7734a17655a36bf30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "fs: move inode_dio_wait calls into -\u003esetattr\n\nLet filesystems handle waiting for direct I/O requests themselves instead\nof doing it beforehand.  This means filesystem-specific locks to prevent\nnew dio referenes from appearing can be held.  This is important to allow\ngeneralizing i_dio_count to non-DIO_LOCKING filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "20b7643d8ee44254fc972d42655bace81e7ab50a",
      "tree": "a6642fdd127abc31a173d032249cbd319d7ecae9",
      "parents": [
        "21f2296a598c4089e0a9bdf54634269ac913a693"
      ],
      "author": {
        "name": "Anton Salikhmetov",
        "email": "alexo@tuxera.com",
        "time": "Thu Dec 16 18:08:40 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Dec 16 18:08:46 2010 +0100"
      },
      "message": "hfsplus: spaces/indentation clean-up\n\nFix incorrect spaces and indentation reported by checkpatch.pl.\n\nSigned-off-by: Anton Salikhmetov \u003calexo@tuxera.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\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": "eb29d66d4f2dc98a81ae590bbdddc8cfa8964d73",
      "tree": "f1e2f9bc9bd92bf978d2bcf54b536a9a6b188667",
      "parents": [
        "281469766bdde2d14bc73e1fec347e6dd7f63319"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:10 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:10 2010 +0100"
      },
      "message": "hfsplus: write up fsync for directories\n\nfsync is supposed to not just work on regular files, but also on\ndirectories.  Fortunately enough hfsplus_file_fsync works just fine\nfor directories, so we can just wire it up.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "281469766bdde2d14bc73e1fec347e6dd7f63319",
      "tree": "32b00c29067aa60fc7ad3277816bd86900a1c81d",
      "parents": [
        "f02e26f8d90f8cde98314c72c2e890bc281a8346"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:38:06 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:38:06 2010 +0100"
      },
      "message": "hfsplus: simplify fsync\n\nRemove lots of code we don\u0027t need from fsync, we just need to call\n-\u003ewrite_inode on the inode if it\u0027s dirty, for which sync_inode_metadata\nis a lot more efficient than write_inode_now, and we need to write\nout the various metadata inodes, which we now do explicitly instead\nof by calling -\u003esync_fs.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "756acc2d61712a8cafe2aa6ad626c60a185d3645",
      "tree": "72473307f7789b2dafa4b7ca2facc6427f83a283",
      "parents": [
        "1d3382cbf02986e4833849f528d451367ea0b4cb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 15:23:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:24:15 2010 -0400"
      },
      "message": "list.h: new helper - hlist_add_fake()\n\nMake node look as if it was on hlist, with hlist_del()\nworking correctly.  Usable without any locking...\n\nConvert a couple of places where we want to do that to\ninode-\u003ei_hash.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90e616905a423126805186cb5754e10a704b30c8",
      "tree": "f3b142b0414462ae9f267689c965d91c784760d4",
      "parents": [
        "722c55d13e7296cc62ed8a38f926a915ff32e4ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:39 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:39 2010 -0400"
      },
      "message": "hfsplus: create correct initial catalog entries for device files\n\nMake sure the initial insertation of the catalog entry already contains\nthe device number by calling init_special_inode early and setting writing\nout the dev field of the on-disk permission structure.  The latter is\nfacilitated by sharing the almost identical hfsplus_set_perms helpers\nbetween initial catalog entry creating and -\u003ewrite_inode.\n\nUnless we crashed just after mknod this bug was harmless as the inode\nis marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode\nwill update the catalog entry to contain the correct value.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "722c55d13e7296cc62ed8a38f926a915ff32e4ea",
      "tree": "445dc4c1a26f9a4203facb9e5f82508588c1abd8",
      "parents": [
        "f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:33 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:33 2010 -0400"
      },
      "message": "hfsplus: remove superflous rootflags field in hfsplus_inode_info\n\nThe rootflags field in hfsplus_inode_info only caches the immutable and\nappend-only flags in the VFS inode, so we can easily get rid of it.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b",
      "tree": "9b2c6b43885899e055e7b64b88e12bf3759e3794",
      "parents": [
        "13571a6977f821fab7d9c3cc5f75da52b7732e40"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:28 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:28 2010 -0400"
      },
      "message": "hfsplus: fix link corruption\n\nHFS implements hardlink by using indirect catalog entries that refer to a hidden\ndirectly.  The link target is cached in the dev field in the HFS+ specific\ninode, which is also used for the device number for device files, and inside\nfor passing the nlink value of the indirect node from hfsplus_cat_write_inode\nto a helper function.  Now if we happen to write out the indirect node while\nhfsplus_link is creating the catalog entry we\u0027ll get a link pointing to the\nlinkid of the current nlink value.  This can easily be reproduced by a large\nenough loop of local git-clone operations.\n\nStop abusing the dev field in the HFS+ inode for short term storage by\nrefactoring the way the permission structure in the catalog entry is\nset up, and rename the dev field to linkid to avoid any confusion.\n\nWhile we\u0027re at it also prevent creating hard links to special files, as\nthe HFS+ dev and linkid share the same space in the on-disk 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": "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": "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": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d39aae9ec447dda84d9a2850743a78a535a71c90",
      "tree": "e362c3367f093b79482f3034e82b18cd2dc8931a",
      "parents": [
        "155130a4f7848b1aac439cab6bda1a175507c71c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:59 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:34 2010 -0400"
      },
      "message": "add missing setattr methods\n\nFor the new truncate sequence every filesystem that wants to truncate on-disk\nstate needs a seattr method.  Convert the remaining filesystems that implement\nthe truncate inode operation to have its own setattr method.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "282dc178849882289d30e58b54be6b2799b351aa",
      "tree": "4c6697cdf2d914889e002f32af6bf51bb2750063",
      "parents": [
        "ea0f04e59543bafb3d2cbe37a0d375acb0bb2c34"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:31 2010 -0400"
      },
      "message": "get rid of cont_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to cont_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eafdc7d190a944c755a9fe68573c193e6e0217e7",
      "tree": "915c3cc8004706fabf88eae1ab123a3fa0147516",
      "parents": [
        "256249584bda1a9357e2d29987a37f5b2df035f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:53 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:29 2010 -0400"
      },
      "message": "sort out blockdev_direct_IO variants\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin prepearation of the new truncate calling sequence.  This was only done\nfor DIO_LOCKING filesystems, so the __blockdev_direct_IO_newtrunc variant\nwas not needed anyway.  Get rid of blockdev_direct_IO_no_locking and\nits _newtrunc variant while at it as just opencoding the two additional\nparamters is shorted than the name suffix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7cc4bcc6f152d365eb27acba5dcb7b38b36b3e50",
      "tree": "d419f8f70942691cebabf94fd4d218f61a7736d7",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Apr 27 16:24:20 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon May 17 05:27:03 2010 +0200"
      },
      "message": "hfsplus: Push down BKL into ioctl function\n\nHFS is one of the remaining users of the -\u003eioctl function, convert it\nblindly to unlocked_ioctl by pushing down the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e16404ed0f3f330dc3e99b95cef69bb60bcd27f7",
      "tree": "e60bf730a9a34ae3139ced51cdc9cbd90562fb24",
      "parents": [
        "f786aa90e026f2174bb0c26d49f338c5c46ede55"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:55:13 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:00 2009 -0400"
      },
      "message": "constify dentry_operations: misc filesystems\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ac8489a7294dcf92127825d74f2d981143e825d",
      "tree": "63cbb2e2f1f7f7c92e84d5637a66c2264ef42640",
      "parents": [
        "94c9a5ee4cc7fb7eee2a9f9e47f7ccea6b1869ff"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:54 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:54 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the HFSplus filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929",
      "tree": "738adf557608f26e881a710839de12b7527549b6",
      "parents": [
        "5cec56deb6d41b5b570306b17cd0b1590ebd0897"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 31 13:41:58 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:25 2008 -0400"
      },
      "message": "[PATCH] move executable checking into -\u003epermission()\n\nFor execute permission on a regular files we need to check if file has\nany execute bits at all, regardless of capabilites.\n\nThis check is normally performed by generic_permission() but was also\nadded to the case when the filesystem defines its own -\u003epermission()\nmethod.  In the latter case the filesystem should be responsible for\nperforming this check.\n\nMove the check from inode_permission() inside filesystems which are\nnot calling generic_permission().\n\nCreate a helper function execute_ok() that returns true if the inode\nis a directory or if any execute bits are present in i_mode.\n\nAlso fix up the following code:\n\n - coda control file is never executable\n - sysctl files are never executable\n - hfs_permission seems broken on MAY_EXEC, remove\n - hfsplus_permission is eqivalent to generic_permission(), remove\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "6e7152944426be786c6c232990914e4565290d35",
      "tree": "a4b3eb3946db47c98621b9b53f2f26bb2721b76c",
      "parents": [
        "cdbf6dba28e8e6268c8420857696309470009fd9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sat Oct 18 20:28:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "hfsplus: missing O_LARGEFILE check\n\nhfsplus: O_LARGEFILE checking is missing\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d8490\n\nFrom: Alan Cox \u003calan@redhat.com\u003e\nReported-by: didier \u003cdid447@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": "516e0cc5646f377ab80fcc2ee639892eccb99853",
      "tree": "e06296dcedb42dbe397d237887873e70c5823d51",
      "parents": [
        "3c333937ee3be114b181c4861188cfe8f6a59697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 00:39:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:40 2008 -0400"
      },
      "message": "[PATCH] f_count may wrap around\n\nmake it atomic_long_t; while we are at it, get rid of useless checks in affs,\nhfs and hpfs - -\u003eopen() always has it equal to 1, -\u003erelease() - to 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "706322496b3a58af3cf258db2b553d6933656eef",
      "tree": "ec64bbc9e20be4a5b2baf9dcbb3e2201e822c97f",
      "parents": [
        "4413a0f637df4e59b934909ac388a21cfdd90e69"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon May 12 14:02:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "Fix hfsplus oops on image without extents\n\nFix an oops with a corrupted hfs+ image.\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d10548 for details.\n\nProblem is that we call hfs_btree_open() from hfsplus_fill_super() to set\nHFSPLUS_SB(sb).[ext_tree|cat_tree] Both trees are still NULL at this moment.\nIf hfs_btree_open() fails for any reason it calls iput() on the page, which\ngets to hfsplus_releasepage() which tries to access HFSPLUS_SB(sb).* which is\nstill NULL and oopses while dereferencing it.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.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": "4b0a8da7a7bbe7f84c7bd16a5e965a129f461881",
      "tree": "383fa770ab03cf87635cbc547066a9fae445efa9",
      "parents": [
        "4488c59c942bd6004fc97f0c2a7603a2f5dd80e0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "fs/hfsplus/: proper externs\n\nAdd proper extern declarations for two structs in fs/hfsplus/hfsplus_fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "7c0efc627738c840a685ea0f2c23d09aad7d5d3b",
      "tree": "e51573472f37260d57541bb4456ae1a948307cc7",
      "parents": [
        "7903d9eed82db81c15ee8b4114187dfdcad7650f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:56 2007 -0700"
      },
      "message": "hfsplus: convert to new aops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "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": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 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 2\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": "f44ea03102a021b9c36cc82c7b6312cd23f23b3d",
      "tree": "f07f409033f2f2977617f698000054ce257ed87c",
      "parents": [
        "c528896004793065b5ffd710e1cd844603ad8518"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:45 2006 -0800"
      },
      "message": "[PATCH] struct path: convert hfsplus\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543ade1fc901db4c3dbe9fb27241fb977f1f3eea",
      "tree": "cdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc",
      "parents": [
        "ee0b3e671baff681d69fbf0db33b47603c0a8280"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Streamline generic_file_* interfaces and filemap cleanups\n\nThis patch cleans up generic_file_*_read/write() interfaces.  Christoph\nHellwig gave me the idea for this clean ups.\n\nIn a nutshell, all filesystems should set .aio_read/.aio_write methods and use\ndo_sync_read/ do_sync_write() as their .read/.write methods.  This allows us\nto cleanup all variants of generic_file_* routines.\n\nFinal available interfaces:\n\ngeneric_file_aio_read() - read handler\ngeneric_file_aio_write() - write handler\ngeneric_file_aio_write_nolock() - no lock write handler\n\n__generic_file_aio_write_nolock() - internal worker routine\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\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": "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": "1d8fa7a2b9a39d18727acc5c468e870df606c852",
      "tree": "41537fe9ea5478f3243e3301184dc13980f8201f",
      "parents": [
        "fa30bd058b746c0e2318a77ff8b4977faa924c2c"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Mar 26 01:38:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] remove -\u003eget_blocks() support\n\nNow that get_block() can handle mapping multiple disk blocks, no need to have\n-\u003eget_blocks().  This patch removes fs specific -\u003eget_blocks() added for DIO\nand makes it users use get_block() instead.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a4cad95c9338077487226e22d4e01bc9edebf21",
      "tree": "7153b1e890ab17910935494c433c23eb9cf94014",
      "parents": [
        "2179d372d9f8b5fc5c189c89bc6a565a42151b23"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Jan 18 17:43:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:23 2006 -0800"
      },
      "message": "[PATCH] hfs: set correct ctime\n\nRead the correct ctime from disk (it was written but never read for some\nreason).  Read also creation date, which is used in the next patch.  (Problem\nfound by Olivier Castan \u003colivier.castan@certa.ssi.gouv.fr\u003e)\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": "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": "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": "27496a8c67bef4d789d8e3c8317ca35813a507ae",
      "tree": "fe99a34fe5a800e41af61853e7444ddddf45d014",
      "parents": [
        "7d877f3bda870ab5f001bd92528654471d5966b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:48 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: fs/*\n\n - -\u003ereleasepage() annotated (s/int/gfp_t), instances updated\n - missing gfp_t in fs/* added\n - fixed misannotation from the original sweep caught by bitwise checks:\n   XFS used __nocast both for gfp_t and for flags used by XFS allocator.\n   The latter left with unsigned int __nocast; we might want to add a\n   different type for those but for now let\u0027s leave them alone.  That,\n   BTW, is a case when __nocast use had been actively confusing - it had\n   been used in the same code for two different and similar types, with\n   no way to catch misuses.  Switch of gfp_t to bitwise had caught that\n   immediately...\n\nOne tricky bit is left alone to be dealt with later - mapping-\u003eflags is\na mix of gfp_t and error indications.  Left alone for now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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"
    }
  ]
}
