)]}'
{
  "log": [
    {
      "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": "b1e6a015a580ad145689ad1d6b4aa0e03e6c868b",
      "tree": "57a10ef164e4d2f798d9b832dbeaf973aca2ab83",
      "parents": [
        "621e155a3591962420eacdd39f6f0aa29ceb221e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:28 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "fs: change d_hash for rcu-walk\n\nChange d_hash so it may be called from lock-free RCU lookups. See similar\npatch for d_compare for details.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "621e155a3591962420eacdd39f6f0aa29ceb221e",
      "tree": "387a9fb396f1bf24514b712c294182e36ba51076",
      "parents": [
        "fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:27 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:19 2011 +1100"
      },
      "message": "fs: change d_compare for rcu-walk\n\nChange d_compare so it may be called from lock-free RCU lookups. This\ndoes put significant restrictions on what may be done from the callback,\nhowever there don\u0027t seem to have been any problems with in-tree fses.\nIf some strange use case pops up that _really_ cannot cope with the\nrcu-walk rules, we can just add new rcu-unaware callbacks, which would\ncause name lookup to drop out of rcu-walk mode.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b2837fcf4994e699a4def002e26f274d95b387c1",
      "tree": "fcb2f4e91b11746972e9f1abd9e4b70e7573286c",
      "parents": [
        "20b7643d8ee44254fc972d42655bace81e7ab50a"
      ],
      "author": {
        "name": "Anton Salikhmetov",
        "email": "alexo@tuxera.com",
        "time": "Thu Dec 16 18:08:41 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Dec 16 18:08:46 2010 +0100"
      },
      "message": "hfsplus: %L-to-%ll, macro correction, and remove unneeded braces\n\nClean-up based on checkpatch.pl report against unnecessary braces\n(`{\u0027 and `}\u0027), non-standard format option %Lu (%llu recommended)\nas well as one trailing statement in a macro definition which\nshould have been on the next line.\n\nSigned-off-by: Anton Salikhmetov \u003calexo@tuxera.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.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": "21f2296a598c4089e0a9bdf54634269ac913a693",
      "tree": "f55214d1b9b0627f1a9f7951a57183e76458d079",
      "parents": [
        "2753cc281c9a0e8a0a45ee2b8110866a9fe63bdd"
      ],
      "author": {
        "name": "Anton Salikhmetov",
        "email": "alexo@tuxera.com",
        "time": "Thu Dec 16 18:08:39 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Dec 16 18:08:46 2010 +0100"
      },
      "message": "hfsplus: C99 comments clean-up\n\nMatch coding style restriction against C99 comments where\ncheckpatch.pl reported errors about their usage.\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": "596276c3571e2108f4b336be545ece2eacf3da59",
      "tree": "c00fcd0e01cf12a5edfe8e87ba2f39fcd07c90a5",
      "parents": [
        "34a2d313c51f47cae50ccb89f4196462665f2c48"
      ],
      "author": {
        "name": "Anton Salikhmetov",
        "email": "alexo@tuxera.com",
        "time": "Thu Dec 16 14:44:51 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Dec 16 18:08:43 2010 +0100"
      },
      "message": "hfsplus: fix an artifact in ioctl flag checking\n\nFix a flag checking artifact in hfsplus_ioctl_getflags() routine\nfound while doing clean-up against assignments inside `if\u0027s.\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": "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": "358f26d52680cb150907302d4334359de7dd2d59",
      "tree": "9348f861b49d5dd51049e31971cc09ab151388bc",
      "parents": [
        "52399b171dfaea02b6944cd6feba49b624147126"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Tue Nov 23 14:37:51 2010 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 23 14:37:51 2010 +0100"
      },
      "message": "hfsplus: use raw bio access for partition tables\n\nSwitch the hfsplus partition table reding for cdroms to use our bio\nhelpers.  Again we don\u0027t rely on any caching in the buffer_heads, and\nthis gets rid of the last buffer_head use in hfsplus.\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": "11cc21f5f5575b9abd14d53a6055ccbf72b67573",
      "tree": "d9a93174b25021748f11e4e797267f381bf4485b",
      "parents": [
        "19ef20143ff86c8012270c619ac7b6c3b389a8fa",
        "85b8fe8cc47b0dc1068475ba95f29ddff10a8efc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 09:32:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 09:32:05 2010 -0700"
      },
      "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: free space correcly for files unlinked while open\n  hfsplus: fix double lock typo in ioctl\n"
    },
    {
      "commit": "85b8fe8cc47b0dc1068475ba95f29ddff10a8efc",
      "tree": "ffda33b6caa6f32ac226ff49cfd8a18c186b68c1",
      "parents": [
        "e50fb58b5b3548e578d3b74ff15aeb7d9a496839"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Wed Oct 27 13:45:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 27 13:45:50 2010 +0200"
      },
      "message": "hfsplus: free space correcly for files unlinked while open\n\nhfsplus_delete_inode only truncates away all block allocations if\ni_nlink is zero.  Make sure we properly drop the unlink count even\nwhen doing the rename hack for open but unlinked files.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "e50fb58b5b3548e578d3b74ff15aeb7d9a496839",
      "tree": "d5d94211f7d988420c854cf7d5193d57ecf277dd",
      "parents": [
        "35da7a307c535f9c2929cae277f3df425c9f9b1e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 25 20:39:07 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Oct 25 20:39:07 2010 +0200"
      },
      "message": "hfsplus: fix double lock typo in ioctl\n\nThis was supposed to be a mutex_unlock() instead of a mutex_lock().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "46bf36ecec79bbe5373ef68f0ed36cbf62e03482",
      "tree": "318bcc4d716bcf933a8ffbc87abc457b2084b40e",
      "parents": [
        "32e39e19ccb0f25c9c1b7ff246e17e795366bbbd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 15 05:45:00 2010 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 15 05:45:00 2010 -0700"
      },
      "message": "hfsplus: fix getxattr return value\n\nWe need to support -EOPNOTSUPP for attributes that are not supported to\nmatch other filesystems and allow userspace to detect if Posix ACLs\nare supported or not.  setxattr already gets this right.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "32e39e19ccb0f25c9c1b7ff246e17e795366bbbd",
      "tree": "6463d73effe08ab112976c3986d5d9d8067b4579",
      "parents": [
        "90e616905a423126805186cb5754e10a704b30c8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:43 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:43 2010 -0400"
      },
      "message": "hfsplus: remove the unused hfsplus_kmap/hfsplus_kunmap helpers\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\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": "13571a6977f821fab7d9c3cc5f75da52b7732e40",
      "tree": "32b50f122fc37256d3ff8ad40ec905d0c3e540ea",
      "parents": [
        "9250f925972d03ccc0c0a4dd4e9b794d2ef6d52b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:23 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:23 2010 -0400"
      },
      "message": "hfsplus: validate btree flags\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "9250f925972d03ccc0c0a4dd4e9b794d2ef6d52b",
      "tree": "f8a93ca47166f79cfa90e3dbc3c4f403686e2fbb",
      "parents": [
        "b6b41424f0ec28e9a167fa29b003327860b4b71b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Oct 14 09:53:48 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:48 2010 -0400"
      },
      "message": "hfsplus: handle more on-disk corruptions without oopsing\n\nhfs seems prone to bad things when it encounters on disk corruption.  Many\nvalues are read from disk, and used as lengths to memcpy, as an example.\nThis patch fixes up several of these problematic cases.\n\no sanity check the on-disk maximum key lengths on mount\n  (these are set to a defined value at mkfs time and shouldn\u0027t differ)\no check on-disk node keylens against the maximum key length for each tree\no fix hfs_btree_open so that going out via free_tree: doesn\u0027t wind\n  up in hfs_releasepage, which wants to follow the very pointer\n  we were trying to set up:\n\tHFS_SB(sb)-\u003ecat_tree \u003d hfs_btree_open()\n    .\n  failure gets to hfs_releasepage and tries to follow HFS_SB(sb)-\u003ecat_tree\n\nTested with the fsfuzzer; it survives more than it used to.\n\n[hch: ported of commit cf0594625083111ae522496dc1c256f7476939c2 from hfs]\n[hch: added the fixes from 5581d018ed3493d226e7a4d645d9c8a5af6c36b]\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b6b41424f0ec28e9a167fa29b003327860b4b71b",
      "tree": "9e17a235542259f82a3a1e2c3d2a1906f2ac4749",
      "parents": [
        "ee52716245877b821f5ddbb3ace85b73084fb450"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 14 09:53:42 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:42 2010 -0400"
      },
      "message": "hfsplus: hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage\n\noops and fs corruption; the latter can happen even on valid fs in case of oom.\n\n[hch: port of commit 3d10a15d6919488204bdb264050d156ced20d9aa from hfs]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "ee52716245877b821f5ddbb3ace85b73084fb450",
      "tree": "3d85d8fce3bde7b1601878074cdec622705d1af2",
      "parents": [
        "40de9a7cebc4e0b23cd6863c84c2279f0ccadebb"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 14 09:53:37 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:37 2010 -0400"
      },
      "message": "hfsplus: fix oops on mount with corrupted btree extent records\n\nA particular fsfuzzer run caused an hfs file system to crash on mount. This\nis due to a corrupted MDB extent record causing a miscalculation of\nHFSPLUS_I(inode)-\u003efirst_blocks for the extent tree. If the extent records\nare zereod out, then it won\u0027t trigger the first_blocks special case and\ninstead falls through to the extent code, which we\u0027re in the middle\nof initializing.\n\nThis patch catches the 0 size extent records, reports the corruption,\nand fails the mount.\n\n[hch: ported of commit 47f365eb575735c6b2edf5d08e0d16d26a9c23bd from hfs]\n\nReported-by: Ramon de Carvalho Valle \u003crcvalle@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "40de9a7cebc4e0b23cd6863c84c2279f0ccadebb",
      "tree": "ed927fe25b269fbe3f5afebd3136d6ac0770fee6",
      "parents": [
        "467c3d9cd541eef284ff8118069b088e015b8d6a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 09:12:08 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 09:12:08 2010 +0200"
      },
      "message": "hfsplus: fix rename over directories\n\nWhen renaming over a directory we need to use hfsplus_rmdir instead of\nhfsplus_unlink to evict the victim.  This makes sure we properly error out\non non-empty directory as required by Posix (BZ #16571), and it also makes\nsure we do the right thing in case i_nlink will every be set correctly for\ndirectories on hfsplus.\n\nReported-by: Vlado Plaga \u003crechner@vlado-do.de\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "467c3d9cd541eef284ff8118069b088e015b8d6a",
      "tree": "3d3126209f6c5a0c4660e8405ac2680d6388f359",
      "parents": [
        "7fcc99f4f2ddb1c39abc05fbb9b32f05b03c7f8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 01 05:46:52 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:46:52 2010 +0200"
      },
      "message": "hfsplus: convert tree_lock to mutex\n\ntree_lock is used as mutex so make it a mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7fcc99f4f2ddb1c39abc05fbb9b32f05b03c7f8f",
      "tree": "b07045981f17d855f89f1ef59579e330d8ffce20",
      "parents": [
        "89755dcace09b44b3aa024bf302d9b19b4c24cad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:46:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:46:31 2010 +0200"
      },
      "message": "hfsplus: add missing extent locking in hfsplus_write_inode\n\nMost of the extent handling code already does proper SMP locking, but\nhfsplus_write_inode was calling into hfsplus_ext_write_extent without\ntaking the extents_lock.  Fix this by splitting hfsplus_ext_write_extent\ninto an internal helper that expects the lock, and a public interface\nthat first acquires it.\n\nAlso add a few locking asserts and document the locking rules in\nhfsplus_fs.h.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "89755dcace09b44b3aa024bf302d9b19b4c24cad",
      "tree": "8626891db36b01a3ff3ac80967ce08aef988d1f7",
      "parents": [
        "84adede31267af37141da2b2b04293c5ea8af7ae"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:25 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:25 2010 +0200"
      },
      "message": "hfsplus: protect readdir against removals from open_dir_list\n\nWe already have i_mutex for readdir and the namespace operations that add\nentries to open_dir_list, the only thing that was missing was the removal\nin hfsplus_dir_release.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\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": "f17c89bfcc9cccd405098eac3ec1ebfddf03279e",
      "tree": "f8c33976eb35e7ee62f59fbe200a92f447d42fbd",
      "parents": [
        "30d3abbec730a5a9c954a6342271f7a7db155b08"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:54 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:54 2010 +0200"
      },
      "message": "hfsplus: fix error handling in hfsplus_symlink\n\nWe need to free the inode again on a hfsplus_create_cat failure.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "30d3abbec730a5a9c954a6342271f7a7db155b08",
      "tree": "6a4ef55c864bec34ddb6e446b46882ab0539bf3b",
      "parents": [
        "b5080f77ed2de3c8ac67a63044f8a781c75207d9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:50 2010 +0200"
      },
      "message": "hfsplus: merge mknod/mkdir/creat\n\nMake hfsplus_mkdir and hfsplus_create call hfsplus_mknod instead of\nduplicating the code.\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": "6333816ade7e04a96ec0a34a8378c455e4f7c4dd",
      "tree": "bd6f3fc3d929b44cffea4319f6bda828b6704269",
      "parents": [
        "94744567fef9602c3d8218a1d8f58c04cce354f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:35 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:35 2010 +0200"
      },
      "message": "hfsplus: protect setflags using i_mutex\n\nUse i_mutex for protecting against concurrent setflags ioctls like in\nother filesystems and get rid of the BKL in hfsplus_ioctl.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "94744567fef9602c3d8218a1d8f58c04cce354f6",
      "tree": "9bbe93c54ea8e1201fa0d59a10e17bba03d09b53",
      "parents": [
        "249e6353001e407edf5c9a74482ecfca90c8ff33"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:31 2010 +0200"
      },
      "message": "hfsplus: split hfsplus_ioctl\n\nGive each ioctl command a function of it\u0027s own.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "249e6353001e407edf5c9a74482ecfca90c8ff33",
      "tree": "c9f30ff5f686e06cd97fbc891dd90346fc8bc9a7",
      "parents": [
        "0f44fbd297e1cda5d9ecc9f5321a86fe647c7d4a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:27 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:27 2010 +0200"
      },
      "message": "hfsplus: fix BKL leak in hfsplus_ioctl\n\nCurrenly the HFSPLUS_IOC_EXT2_GETFLAGS case never unlocks the BKL, which\ncan lead to easily reproduced lockups when doing multiple GETFLAGS ioctls.\n\nFix this by only taking the BKL for the HFSPLUS_IOC_EXT2_SETFLAGS case\nas neither HFSPLUS_IOC_EXT2_GETFLAGS not the default error case needs it.\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": "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": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\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": "5c36fe3d87b3f0c85894a49193c66096a3d6b26f",
      "tree": "8c2953fe31004115794e7834cfbc7136186aca5c",
      "parents": [
        "b5654f5e7fc414a6e69b3647db2b043257c9e62e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 26 16:49:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "hfsplus: refuse to mount volumes larger than 2TB\n\nAs found in \u003chttp://bugs.debian.org/550010\u003e, hfsplus is using type u32\nrather than sector_t for some sector number calculations.\n\nIn particular, hfsplus_get_block() does:\n\n        u32 ablock, dblock, mask;\n...\n        map_bh(bh_result, sb, (dblock \u003c\u003c HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock \u0026 mask));\n\nI am not confident that I can find and fix all cases where a sector number\nmay be truncated.  For now, avoid data loss by refusing to mount HFS+\nvolumes with more than 2^32 sectors (2TB).\n\n[akpm@linux-foundation.org: fix 32 and 64-bit issues]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -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:\n  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\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": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "b08bac1f185b2281c3decb4f8e15e8f41f96e974",
      "tree": "aab01344eb799258e7b17ef571869b575089d18f",
      "parents": [
        "295c896cb95de18004ef5e1b53f44c2ad001f936"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:53:24 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:57 2009 +0300"
      },
      "message": "fs/Kconfig: move hfs, hfsplus out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "248736c2a57206388c86f8cdd3392ee986e84f9f",
      "tree": "1097d53f082e6773d7ecaac2eea5f7825c62cb01",
      "parents": [
        "6e7152944426be786c6c232990914e4565290d35"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Oct 18 20:28:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "hfsplus: fix possible deadlock when handling corrupted extents\n\nA corrupted extent for the extent file itself may try to get an impossible\nextent, causing a deadlock if I see it correctly.\n\nCheck the inode number after the first_blocks checks and fail if it\u0027s the\nextent file, as according to the spec the extent file should have no\nextent for itself.\n\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": "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": "649f1ee6c705aab644035a7998d7b574193a598a",
      "tree": "81dcf2be969b90b8cda18c72229bb1ca71577749",
      "parents": [
        "efc7ffcb4237f8cb9938909041c4ed38f6e1bf40"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 15 22:04:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: check read_mapping_page() return value\n\nWhile testing more corrupted images with hfsplus, i came across\none which triggered the following bug:\n\n[15840.675016] BUG: unable to handle kernel paging request at fffffffb\n[15840.675016] IP: [\u003cc0116a4f\u003e] kmap+0x15/0x56\n[15840.675016] *pde \u003d 00008067 *pte \u003d 00000000\n[15840.675016] Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC\n[15840.675016] Modules linked in:\n[15840.675016]\n[15840.675016] Pid: 11575, comm: ln Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #29)\n[15840.675016] EIP: 0060:[\u003cc0116a4f\u003e] EFLAGS: 00010202 CPU: 0\n[15840.675016] EIP is at kmap+0x15/0x56\n[15840.675016] EAX: 00000246 EBX: fffffffb ECX: 00000000 EDX: cab919c0\n[15840.675016] ESI: 000007dd EDI: cab0bcf4 EBP: cab0bc98 ESP: cab0bc94\n[15840.675016]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[15840.675016] Process ln (pid: 11575, ti\u003dcab0b000 task\u003dcab919c0 task.ti\u003dcab0b000)\n[15840.675016] Stack: 00000000 cab0bcdc c0231cfb 00000000 cab0bce0 00000800 ca9290c0 fffffffb\n[15840.675016]        cab145d0 cab919c0 cab15998 22222222 22222222 22222222 00000001 cab15960\n[15840.675016]        000007dd cab0bcf4 cab0bd04 c022cb3a cab0bcf4 cab15a6c ca9290c0 00000000\n[15840.675016] Call Trace:\n[15840.675016]  [\u003cc0231cfb\u003e] ? hfsplus_block_allocate+0x6f/0x2d3\n[15840.675016]  [\u003cc022cb3a\u003e] ? hfsplus_file_extend+0xc4/0x1db\n[15840.675016]  [\u003cc022ce41\u003e] ? hfsplus_get_block+0x8c/0x19d\n[15840.675016]  [\u003cc06adde4\u003e] ? sub_preempt_count+0x9d/0xab\n[15840.675016]  [\u003cc019ece6\u003e] ? __block_prepare_write+0x147/0x311\n[15840.675016]  [\u003cc0161934\u003e] ? __grab_cache_page+0x52/0x73\n[15840.675016]  [\u003cc019ef4f\u003e] ? block_write_begin+0x79/0xd5\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc019f22a\u003e] ? cont_write_begin+0x27f/0x2af\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0139ebe\u003e] ? tick_program_event+0x28/0x4c\n[15840.675016]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[15840.675016]  [\u003cc022b723\u003e] ? hfsplus_write_begin+0x2d/0x32\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0161988\u003e] ? pagecache_write_begin+0x33/0x107\n[15840.675016]  [\u003cc01879e5\u003e] ? __page_symlink+0x3c/0xae\n[15840.675016]  [\u003cc019ad34\u003e] ? __mark_inode_dirty+0x12f/0x137\n[15840.675016]  [\u003cc0187a70\u003e] ? page_symlink+0x19/0x1e\n[15840.675016]  [\u003cc022e6eb\u003e] ? hfsplus_symlink+0x41/0xa6\n[15840.675016]  [\u003cc01886a9\u003e] ? vfs_symlink+0x99/0x101\n[15840.675016]  [\u003cc018a2f6\u003e] ? sys_symlinkat+0x6b/0xad\n[15840.675016]  [\u003cc018a348\u003e] ? sys_symlink+0x10/0x12\n[15840.675016]  [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n[15840.675016]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[15840.675016] Code: 00 00 75 10 83 3d 88 2f ec c0 02 75 07 89 d0 e8 12 56 05 00 5d c3 55 ba 06 00 00 00 89 e5 53 89 c3 b8 3d eb 7e c0 e8 16 74 00 00 \u003c8b\u003e 03 c1 e8 1e 69 c0 d8 02 00 00 05 b8 69 8e c0 2b 80 c4 02 00\n[15840.675016] EIP: [\u003cc0116a4f\u003e] kmap+0x15/0x56 SS:ESP 0068:cab0bc94\n[15840.675016] ---[ end trace 4fea40dad6b70e5f ]---\n\nThis happens because the return value of read_mapping_page() is passed on\nto kmap unchecked.  The bug is triggered after the first\nread_mapping_page() in hfsplus_block_allocate(), this patch fixes all\nthree usages in this functions but leaves the ones further down in the\nfile unchanged.\n\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": "efc7ffcb4237f8cb9938909041c4ed38f6e1bf40",
      "tree": "94cc5d6fa4f8760b677de5cd90ce6c3e5551f597",
      "parents": [
        "81a73719d1bc77774f6ac91e2476f22c56f18baf"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 15 22:04:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: fix Buffer overflow with a corrupted image\n\nWhen an hfsplus image gets corrupted it might happen that the catalog\nnamelength field gets b0rked.  If we mount such an image the memcpy() in\nhfsplus_cat_build_key_uni() writes more than the 255 that fit in the name\nfield.  Depending on the size of the overwritten data, we either only get\nmemory corruption or also trigger an oops like this:\n\n[  221.628020] BUG: unable to handle kernel paging request at c82b0000\n[  221.629066] IP: [\u003cc022d4b1\u003e] hfsplus_find_cat+0x10d/0x151\n[  221.629066] *pde \u003d 0ea29163 *pte \u003d 082b0160\n[  221.629066] Oops: 0002 [#1] PREEMPT DEBUG_PAGEALLOC\n[  221.629066] Modules linked in:\n[  221.629066]\n[  221.629066] Pid: 4845, comm: mount Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #28)\n[  221.629066] EIP: 0060:[\u003cc022d4b1\u003e] EFLAGS: 00010206 CPU: 0\n[  221.629066] EIP is at hfsplus_find_cat+0x10d/0x151\n[  221.629066] EAX: 00000029 EBX: 00016210 ECX: 000042c2 EDX: 00000002\n[  221.629066] ESI: c82d70ca EDI: c82b0000 EBP: c82d1bcc ESP: c82d199c\n[  221.629066]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[  221.629066] Process mount (pid: 4845, ti\u003dc82d1000 task\u003dc8224060 task.ti\u003dc82d1000)\n[  221.629066] Stack: c080b3c4 c82aa8f8 c82d19c2 00016210 c080b3be c82d1bd4 c82aa8f0 00000300\n[  221.629066]        01000000 750008b1 74006e00 74006900 65006c00 c82d6400 c013bd35 c8224060\n[  221.629066]        00000036 00000046 c82d19f0 00000082 c8224548 c8224060 00000036 c0d653cc\n[  221.629066] Call Trace:\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc01302d2\u003e] ? __kernel_text_address+0x1b/0x27\n[  221.629066]  [\u003cc010487a\u003e] ? dump_trace+0xca/0xd6\n[  221.629066]  [\u003cc0109e32\u003e] ? save_stack_address+0x0/0x2c\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc013b571\u003e] ? save_trace+0x37/0x8d\n[  221.629066]  [\u003cc013b62e\u003e] ? add_lock_to_list+0x67/0x8d\n[  221.629066]  [\u003cc013ea1c\u003e] ? validate_chain+0x8a4/0x9f4\n[  221.629066]  [\u003cc013553d\u003e] ? down+0xc/0x2f\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc013da5d\u003e] ? mark_held_locks+0x43/0x5a\n[  221.629066]  [\u003cc013dc3a\u003e] ? trace_hardirqs_on+0xb/0xd\n[  221.629066]  [\u003cc013dbf4\u003e] ? trace_hardirqs_on_caller+0xf4/0x12f\n[  221.629066]  [\u003cc06abec8\u003e] ? _spin_unlock_irqrestore+0x42/0x58\n[  221.629066]  [\u003cc013555c\u003e] ? down+0x2b/0x2f\n[  221.629066]  [\u003cc022aa68\u003e] ? hfsplus_iget+0xa0/0x154\n[  221.629066]  [\u003cc022b0b9\u003e] ? hfsplus_fill_super+0x280/0x447\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc041c9e4\u003e] ? string+0x2b/0x74\n[  221.629066]  [\u003cc041cd16\u003e] ? vsnprintf+0x2e9/0x512\n[  221.629066]  [\u003cc010487a\u003e] ? dump_trace+0xca/0xd6\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc013b571\u003e] ? save_trace+0x37/0x8d\n[  221.629066]  [\u003cc013b62e\u003e] ? add_lock_to_list+0x67/0x8d\n[  221.629066]  [\u003cc013ea1c\u003e] ? validate_chain+0x8a4/0x9f4\n[  221.629066]  [\u003cc01354d3\u003e] ? up+0xc/0x2f\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc041cfb7\u003e] ? snprintf+0x1b/0x1d\n[  221.629066]  [\u003cc01ba466\u003e] ? disk_name+0x25/0x67\n[  221.629066]  [\u003cc0183960\u003e] ? get_sb_bdev+0xcd/0x10b\n[  221.629066]  [\u003cc016ad92\u003e] ? kstrdup+0x2a/0x4c\n[  221.629066]  [\u003cc022a7b3\u003e] ? hfsplus_get_sb+0x13/0x15\n[  221.629066]  [\u003cc022ae39\u003e] ? hfsplus_fill_super+0x0/0x447\n[  221.629066]  [\u003cc0183583\u003e] ? vfs_kern_mount+0x3b/0x76\n[  221.629066]  [\u003cc0183602\u003e] ? do_kern_mount+0x32/0xba\n[  221.629066]  [\u003cc01960d4\u003e] ? do_new_mount+0x46/0x74\n[  221.629066]  [\u003cc0196277\u003e] ? do_mount+0x175/0x193\n[  221.629066]  [\u003cc013dbf4\u003e] ? trace_hardirqs_on_caller+0xf4/0x12f\n[  221.629066]  [\u003cc01663b2\u003e] ? __get_free_pages+0x1e/0x24\n[  221.629066]  [\u003cc06ac07b\u003e] ? lock_kernel+0x19/0x8c\n[  221.629066]  [\u003cc01962e6\u003e] ? sys_mount+0x51/0x9b\n[  221.629066]  [\u003cc01962f9\u003e] ? sys_mount+0x64/0x9b\n[  221.629066]  [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n[  221.629066]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  221.629066] Code: 89 c2 c1 e2 08 c1 e8 08 09 c2 8b 85 e8 fd ff ff 66 89 50 06 89 c7 53 83 c7 08 56 57 68 c4 b3 80 c0 e8 8c 5c ef ff 89 d9 c1 e9 02 \u003cf3\u003e a5 89 d9 83 e1 03 74 02 f3 a4 83 c3 06 8b 95 e8 fd ff ff 0f\n[  221.629066] EIP: [\u003cc022d4b1\u003e] hfsplus_find_cat+0x10d/0x151 SS:ESP 0068:c82d199c\n[  221.629066] ---[ end trace e417a1d67f0d0066 ]---\n\nSince hfsplus_cat_build_key_uni() returns void and only has one callsite,\nthe check is performed at the callsite.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\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": "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": "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": "487798df6d25e76ed6558b3e17c44cf0458cc6f3",
      "tree": "3c7918f1e8e4146ab716e403daede83bbde4030a",
      "parents": [
        "3e5a5097303eedb4ffae2719843eb064221b1db4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:54:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "hfsplus: fix warning with 64k PAGE_SIZE\n\nfs/hfsplus/btree.c: In function \u0027hfsplus_bmap_alloc\u0027:\nfs/hfsplus/btree.c:239: warning: comparison is always false due to limited range of data type\n\nBut this might hide a real bug?\n\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": "8b3789e5d552b8ba4841926066ef0ccd664e209c",
      "tree": "927397c9abf3942faeebe86e62ef9a2c4a9226d9",
      "parents": [
        "803f445f17aa1b71235ad6febae734dd7ad23ddd"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:28 2008 -0700"
      },
      "message": "hfsplus: use get/put_unaligned_* helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Al Viro \u003cviro@zeniv.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": "cd6fda36089cf3b450821228c2f575a3b5d0e7a7",
      "tree": "5dee060a4d4fead58251611b28377833b504489d",
      "parents": [
        "3fbe5c31009d26c7b6b73d5c69fe930a5e9d2e26"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Tue Apr 29 00:59:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "hfsplus: handle match_strdup failure\n\nfs/hfsplus/options.c (hfsplus_parse_options): Handle match_strdup failure.\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.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": "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": "42a74f206b914db13ee1f5ae932dcd91a77c8579",
      "tree": "24e3dbe55edaacc750067ab9e01778255a6bff08",
      "parents": [
        "20ddee2c75339cc095f6191c3115f81da8955e96"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:46 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ioctls()\n\nSome ioctl()s can cause writes to the filesystem.  Take these, and make them\nuse mnt_want/drop_write() instead.\n\n[AV: updated]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "76b0c26af2736b7e5b87e6ed7ab63901483d5736",
      "tree": "5d5178cdbf82bcc2ab581826bef033377fa1e210",
      "parents": [
        "f4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Apr 09 17:44:07 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:37:51 2008 -0700"
      },
      "message": "HFS+: fix unlink of links\n\nSome time ago while attempting to handle invalid link counts, I botched\nthe unlink of links itself, so this patch fixes this now correctly, so\nthat only the link count of nodes that don\u0027t point to links is ignored.\nThanks to Vlado Plaga \u003crechner@vlado-do.de\u003e to notify me of this\nproblem.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8aa84ab99b1e47973f0b82258f0eab945d0b114d"
}
