)]}'
{
  "log": [
    {
      "commit": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6cd0b772dcc5dc9b4c03d53946474dee399fa72",
      "tree": "09ef125f7595f73ba256177f894d6c341074ff5b",
      "parents": [
        "a7807a32bbb027ab9955b96734fdc7f1e6497a9f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:53:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] fs/buffer.c: cleanups\n\n- add a proper prototype for the following global function:\n  - buffer_init()\n\n- make the following needlessly global function static:\n  - end_buffer_async_write()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b31dc66a54ad986b6b73bdc49c8efc17cbad1833",
      "tree": "5591383c1cbffe11512da889c971f899333f1a44",
      "parents": [
        "271f18f102c789f59644bb6c53a69da1df72b2f4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:26:10 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Kill PF_SYNCWRITE flag\n\nA process flag to indicate whether we are doing sync io is incredibly\nugly. It also causes performance problems when one does a lot of async\nio and then proceeds to sync it. Part of the io will go out as async,\nand the other part as sync. This causes a disconnect between the\npreviously submitted io and the synced io. For io schedulers such as CFQ,\nthis will cause us lost merges and suboptimal behaviour in scheduling.\n\nRemove PF_SYNCWRITE completely from the fsync/msync paths, and let\nthe O_DIRECT path just directly indicate that the writes are sync\nby using WRITE_SYNC instead.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ec936fc563715a9e2b2e363eb060655b49529325",
      "tree": "72e77aefeeda3c6ff396f080a5c6a82f25d52bf0",
      "parents": [
        "679bc9fbb508a0aac9539b2de747eb5849feb428"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: renaming for_each_pgdat\n\nReplace for_each_pgdat() with for_each_online_pgdat().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ae21d1bb376436285cd5346d3e4b3655d6dd1b9",
      "tree": "8f889770fae721da63bd378c1834a87e2eb1cfb5",
      "parents": [
        "f9b4192923fa6e38331e88214b1fe5fc21583fcc",
        "e9415777b1cd0eaf4d1d3d61772f0e6d5c2551ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 09:41:18 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment\n  Kconfig help: MTD_JEDECPROBE already supports Intel\n  Remove ugly debugging stuff\n  do_mounts.c: Minor ROOT_DEV comment cleanup\n  BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c\n  BUG_ON() Conversion in mm/mempool.c\n  BUG_ON() Conversion in mm/memory.c\n  BUG_ON() Conversion in kernel/fork.c\n  BUG_ON() Conversion in ipc/sem.c\n  BUG_ON() Conversion in fs/ext2/\n  BUG_ON() Conversion in fs/hfs/\n  BUG_ON() Conversion in fs/dcache.c\n  BUG_ON() Conversion in fs/buffer.c\n  BUG_ON() Conversion in input/serio/hp_sdc_mlc.c\n  BUG_ON() Conversion in md/dm-table.c\n  BUG_ON() Conversion in md/dm-path-selector.c\n  BUG_ON() Conversion in drivers/isdn\n  BUG_ON() Conversion in drivers/char\n  BUG_ON() Conversion in drivers/mtd/\n"
    },
    {
      "commit": "b0cf2321c6599138f860517745503691556d8453",
      "tree": "39ecfea09c13ce09172ab3ec5a5b6d2fef657cac",
      "parents": [
        "205f87f6b342444f722e4559d33318686f7df2ca"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Mar 26 01:38:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] pass b_size to -\u003eget_block()\n\nPass amount of disk needs to be mapped to get_block().  This way one can\nmodify the fs -\u003eget_block() functions to map multiple blocks at the same time.\n\n[akpm@osdl.org: performance tweak]\n[akpm@osdl.org: remove unneeded assignments]\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "205f87f6b342444f722e4559d33318686f7df2ca",
      "tree": "61f32bb0582dde9fd62ee3d03ac3324b949b29e6",
      "parents": [
        "d48589bfad0e60bff0aa3f9e4875983f607bd44b"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Mar 26 01:38:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] change buffer_head.b_size to size_t\n\nIncrease the size of the buffer_head b_size field (only) for 64 bit platforms.\nUpdate some old and moldy comments in and around the structure as well.\n\nThe b_size increase allows us to perform larger mappings and allocations for\nlarge I/O requests from userspace, which tie in with other changes allowing\nthe get_block_t() interface to map multiple blocks at once.\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ff28e22bdb8727fbc7d7889807bc5a73aae56c5",
      "tree": "f7418aa963d729bf9fe8bd44d6c9b6e424a6c6bf",
      "parents": [
        "3978d7179d3849848df8a37dd0a5acc20bcb8750"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Mar 26 01:37:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] Make address_space_operations-\u003einvalidatepage return void\n\nThe return value of this function is never used, so let\u0027s be honest and\ndeclare it as void.\n\nSome places where invalidatepage returned 0, I have inserted comments\nsuggesting a BUG_ON.\n\n[akpm@osdl.org: JBD BUG fix]\n[akpm@osdl.org: rework for git-nfs]\n[akpm@osdl.org: don\u0027t go BUG in block_invalidate_page()]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3978d7179d3849848df8a37dd0a5acc20bcb8750",
      "tree": "f6a60c588d54ffc482764e7846aabf7ba6135aa4",
      "parents": [
        "5f921ae96f1529a55966f25cd5c70fab11d38be7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Mar 26 01:37:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] Make address_space_operations-\u003esync_page return void\n\nThe only user ignores the return value, and the only instanace\n(block_sync_page) always returns 0...\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e827f92355e1eeec2d227d3bd3350d04042a011e",
      "tree": "87d1b735d59edcae4044b46157cb72de1a32af54",
      "parents": [
        "fddaaae16ba4d9f4d392a9ef94616d9d22485571"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Mar 26 18:24:46 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Mar 26 18:24:46 2006 +0200"
      },
      "message": "BUG_ON() Conversion in fs/buffer.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner and can better optimized away\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "d25b9a1ff0741e71a46f37f45263b5ddcbc948c4",
      "tree": "7cbf0f402041840b413a43c6da936998981f100d",
      "parents": [
        "11b8448751ba114416c63899638a8e473ebd21e7"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Mar 25 03:07:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:56 2006 -0800"
      },
      "message": "[PATCH] freeze_bdev() cleanup\n\nfreeze_bdev() uses a fsync_super() without sync_blockdev().  This patch\nmakes __fsync_super() and shares it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18e79b40ed9c5223b88771f805c69f5993fc131b",
      "tree": "cc628524d4bfe3166bbe9d8d7217a1cb009ea209",
      "parents": [
        "676758bdb7bfca8413a85203921746f446e237be"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:27 2006 -0800"
      },
      "message": "[PATCH] fsync: extract internal code\n\nPull the guts out of do_fsync() - we can use it elsewhere.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4741c9fd36b3bcadd37238321c469049da94a4b9",
      "tree": "4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4",
      "parents": [
        "fa5a734e406b53761fcc5ee22366006f71112c2d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] set_page_dirty() return value fixes\n\nWe need set_page_dirty() to return true if it actually transitioned the page\nfrom a clean to dirty state.  This wasn\u0027t right in a couple of places.  Do a\nkernel-wide audit, fix things up.\n\nThis leaves open the possibility of returning a negative errno from\nset_page_dirty() sometime in the future.  But we don\u0027t do that at present.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a14342683b1e3adcf5f78660a42fcbd95b44a35",
      "tree": "332265cb9fe8b1e107864cdb380bf5f6b4bfb840",
      "parents": [
        "2ecb9e633c5057d1203a59ef3e5c3aaea37c402e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Mar 24 03:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:26 2006 -0800"
      },
      "message": "[PATCH] HOTPLUG_CPU: avoid hitting too many cachelines in recalc_bh_state()\n\nInstead of using for_each_cpu(i), we can use for_each_online_cpu(i).\n\nWhen a CPU goes offline (ie removed from online map), it might have a non\nnull bh_accounting.nr, so this patch adds a transfer of this counter to an\nonline CPU counter.\n\nWe already have a hotcpu_notifier, (function buffer_cpu_notify()), where we\ncan do this bh_accounting.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0196009d8c3ecf6ea6ec080c63d2ccc146e7ad9",
      "tree": "3fcb06af54faf92fa5d9d82d5659762d2b742e1c",
      "parents": [
        "c61afb181c649754ea221f104e268cbacfc993e3"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread slab cache hooks\n\nChange the kmem_cache_create calls for certain slab caches to support cpuset\nmemory spreading.\n\nSee the previous patches, cpuset_mem_spread, for an explanation of cpuset\nmemory spreading, and cpuset_mem_spread_slab_cache for the slab cache support\nfor memory spreading.\n\nThe slab caches marked for now are: dentry_cache, inode_cache, some xfs slab\ncaches, and buffer_head.  This list may change over time.  In particular,\nother file system types that are used extensively on large NUMA systems may\nwant to allow for spreading their directory and inode slab cache entries.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c039e3134ae62863bbc8e8429b29e3c43cf21b2a",
      "tree": "b9bbf4fda0844e3173bf10a5bffbaaec94fb4246",
      "parents": [
        "6f87f0deebaff2716a3ce9232f948d702690562a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:11 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: blockdev #2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b20a35035f983f4ac7e29c4a68f30e43510007e0",
      "tree": "fdf090ddddbcc275349f62f71adc98649e2c683b",
      "parents": [
        "442295c94bf650221af3ef20fc68fa3e93876818"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Mar 22 00:09:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:06 2006 -0800"
      },
      "message": "[PATCH] page migration reorg\n\nCentralize the page migration functions in anticipation of additional\ntinkering.  Creates a new file mm/migrate.c\n\n1. Extract buffer_migrate_page() from fs/buffer.c\n\n2. Extract central migration code from vmscan.c\n\n3. Extract some components from mempolicy.c\n\n4. Export pageout() and remove_from_swap() from vmscan.c\n\n5. Make it possible to configure NUMA systems without page migration\n   and non-NUMA systems with page migration.\n\nI had to so some #ifdeffing in mempolicy.c that may need a cleanup.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4983da07f1e2e8dc81cb9d640fbf35b899cdbdf2",
      "tree": "9c238114f029d1d22bc55f47e8d95ef7335c540d",
      "parents": [
        "e843e280cbe218fc8387339806d344708dee348a"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Tue Mar 14 19:50:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 21:43:02 2006 -0800"
      },
      "message": "[PATCH] page migration: fail if page is in a vma flagged VM_LOCKED\n\npage migration currently simply retries a couple of times if try_to_unmap()\nfails without inspecting the return code.\n\nHowever, SWAP_FAIL indicates that the page is in a vma that has the\nVM_LOCKED flag set (if ignore_refs \u003d\u003d1).  We can check for that return code\nand avoid retrying the migration.\n\nmigrate_page_remove_references() now needs to return a reason why the\nfailure occured.  So switch migrate_page_remove_references to use -Exx\nstyle error messages.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e60e5c50aa5389db86e96fc52d02bc7db3d23f4a",
      "tree": "dcf9d09c7fed328628750023fecaf3eef4ad8624",
      "parents": [
        "5b00226d4d3aa7969d84e16f857ea100465d9c98"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Feb 03 03:04:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:10 2006 -0800"
      },
      "message": "[PATCH] Trivial optimization of ll_rw_block()\n\nThe ll_rw_block() needs to get ref-count only if it submits a buffer().  This\npatch avoids the needless get/put of ref-count.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc5cd582e9c934ddaf6f310179488932cd154794",
      "tree": "e03f101f77376cce41a0b257f5337ab00cca65d8",
      "parents": [
        "d62b1b87a7d1c3a21dddabed4251763090be3182"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "mason@suse.com",
        "time": "Wed Feb 01 03:06:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:26 2006 -0800"
      },
      "message": "[PATCH] reiserfs: zero b_private when allocating buffer heads\n\nThe b_private field in buffer heads needs to be zero filled when the\nbuffers are allocated.  Thanks to Nathan Scott for finding this.  It was\ncausing problems on systems with both XFS and reiserfs.\n\nSigned-off-by: Chris Mason \u003cmason@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e965f9630c651fa4249039fd4b80c9392d07a856",
      "tree": "1353dd536d0ee549c30e462086624c21788ee9d2",
      "parents": [
        "7e2ab150d1b3b286a4c864c60a549b2601777b63"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Feb 01 03:05:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:17 2006 -0800"
      },
      "message": "[PATCH] Direct Migration V9: Avoid writeback / page_migrate() method\n\nMigrate a page with buffers without requiring writeback\n\nThis introduces a new address space operation migratepage() that may be used\nby a filesystem to implement its own version of page migration.\n\nA version is provided that migrates buffers attached to pages.  Some\nfilesystems (ext2, ext3, xfs) are modified to utilize this feature.\n\nThe swapper address space operation are modified so that a regular\nmigrate_page() will occur for anonymous pages without writeback (migrate_pages\nforces every anonymous page to have a swap entry).\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01ffe339e3a0ba5ecbeb2b3b5abac7b3ef90f374",
      "tree": "7586fb091466772a31d9e46d807b8709d4166ef8",
      "parents": [
        "4a8e4a270b89030bdeb09d2f8cef7cfe9a50e54d"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@bruce",
        "time": "Tue Jan 17 09:02:07 2006 +1100"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@bruce",
        "time": "Tue Jan 17 09:02:07 2006 +1100"
      },
      "message": "Make alloc_page_buffers() initialise buffer_heads using init_buffer(),\nlike other routines here, to ensure buffers are correctly initialised\nwith respect to b_private/b_end_io.  Fixes an odd interaction between\nXFS and reiserfs.\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16f7e0fe2ecc30f30652e8185e1772cdebe39109",
      "tree": "e668703267c7b02f1af3cc1581bb4366a5370fdd",
      "parents": [
        "c59ede7b78db329949d9cdcd7064e22d357560ef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (fs/)\n\nfs: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54b21a7992a31d30c9a91f7e0a00ffdb4bd0caee",
      "tree": "33eca2bf3c1edfd3d76cc0f7c96a392239c6d2ec",
      "parents": [
        "676121fcb66c861804e38d94214fd5670a1ef595"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:03:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:54 2006 -0800"
      },
      "message": "[PATCH] fix possible PAGE_CACHE_SHIFT overflows\n\nWe\u0027ve had two instances recently of overflows when doing\n\n\t64_bit_value \u003d (32_bit_value \u003c\u003c PAGE_CACHE_SHIFT)\n\nI did a tree-wide grep of `\u003c\u003c.*PAGE_CACHE_SHIFT\u0027 and this is the result.\n\n- afs_rxfs_fetch_descriptor.offset is of type off_t, which seems broken.\n\n- jfs and jffs are limited to 4GB anyway.\n\n- reiserfs map_block_for_writepage() takes an unsigned long for the block -\n  it should take sector_t.  (It\u0027ll fail for huge filesystems with\n  blocksize\u003cPAGE_CACHE_SIZE)\n\n- cramfs_read() needs to use sector_t (I think cramsfs is busted on large\n  filesystems anyway)\n\n- affs is limited in file size anyway.\n\n- I generally didn\u0027t fix 32-bit overflows in directory operations.\n\n- arm\u0027s __flush_dcache_page() is peculiar.  What if the page lies beyond 4G?\n\n- gss_wrap_req_priv() needs checking (snd_buf-\u003epage_base)\n\nCc: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "28fd129827b00e12829d48a5290f46277600619b",
      "tree": "38e50e1b88965fec41ea5b36aa557fb5c2b1ca73",
      "parents": [
        "05eb0b51fb46430050d5873458612f53e0234f2e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)\n\nThis patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it.\n\nSee mm/filemap.c:\n\nAnd changes the filemap_write_and_wait() and filemap_write_and_wait_range().\n\nCurrent filemap_write_and_wait() doesn\u0027t wait if filemap_fdatawrite()\nreturns error.  However, even if filemap_fdatawrite() returned an\nerror, it may have submitted the partially data pages to the device.\n(e.g. in the case of -ENOSPC)\n\n\u003cquotation\u003e\nAndrew Morton writes,\n\nIf filemap_fdatawrite() returns an error, this might be due to some\nI/O problem: dead disk, unplugged cable, etc.  Given the generally\ncrappy quality of the kernel\u0027s handling of such exceptions, there\u0027s a\ngood chance that the filemap_fdatawait() will get stuck in D state\nforever.\n\u003c/quotation\u003e\n\nSo, this patch doesn\u0027t wait if filemap_fdatawrite() returns the -EIO.\n\nTrond, could you please review the nfs part?  Especially I\u0027m not sure,\nnfs must use the \"filemap_fdatawrite(inode-\u003ei_mapping) \u003d\u003d 0\", or not.\n\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05eb0b51fb46430050d5873458612f53e0234f2e",
      "tree": "88b9398079f53f29dff7533fb27487ae725983b1",
      "parents": [
        "268fc16e343b4f8e249468747db2e658da46a814"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Jan 08 01:02:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:47 2006 -0800"
      },
      "message": "[PATCH] fat: support a truncate() for expanding size (generic_cont_expand)\n\nThis patch changes generic_cont_expand(), in order to share the code\nwith fatfs.\n\n  - Use vmtruncate() if -\u003eprepare_write() returns a error.\n\nEven if -\u003eprepare_write() returns an error, it may already have added some\nblocks.  So, this truncates blocks outside of -\u003ei_size by vmtruncate().\n\n  - Add generic_cont_expand_simple().\n\nThe generic_cont_expand_simple() assumes that -\u003eprepare_write() can handle\nthe block boundary.  With this, we don\u0027t need to care the extra byte.\n\nAnd for expanding a file size by truncate(), fatfs uses the\nadded generic_cont_expand_simple().\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "385fd4c59d8bf7895ad3641c4cea615346f684ed",
      "tree": "3c230888a83dfe239dc32f1adfde9fb2787cd144",
      "parents": [
        "53b27584db0446e356c86b3aa43f5107b0170704"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Mon Nov 07 00:59:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:39 2005 -0800"
      },
      "message": "[PATCH] __find_get_block_slow() cleanup\n\nGet rid of the `int unused\u0027 parameter of __find_get_block_slow().\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a3e713b5fdd0e54c2e3c8909ccde2a98839e3a52",
      "tree": "c42c037f239de130f2efe30777df9688bf4dd022",
      "parents": [
        "727a53bd535fe3bde644ac346db27456ad964083"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Oct 30 15:03:15 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:27 2005 -0800"
      },
      "message": "[PATCH] __bread oops fix\n\nIf a filesystem passes an idiotic blocksize into bread(), __getblk_slow() will\nwarn and will return NULL.  We have a report (from Hubert Tonneau\n\u003chubert.tonneau@fullpliant.org\u003e) of isofs_fill_super() doing this (passing in\na silly block size) against an unplugged CDROM drive.\n\nBut a couple of __getblk_slow() callers forgot to check for the NULL bh, hence\noops.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aaa4059bc2dca7fa816624a28db1958c3a22df9b",
      "tree": "8ae1d5458e2f68f96b033f10dae216847c32d4d2",
      "parents": [
        "e812cb5226af32aec91bcbaa8365bd7f921b6ebb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Oct 30 15:00:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] ext3: Fix unmapped buffers in transaction\u0027s lists\n\nFix the problem (BUG 4964) with unmapped buffers in transaction\u0027s\nt_sync_data list.  The problem is we need to call filesystem\u0027s own\ninvalidatepage() from block_write_full_page().\n\nblock_write_full_page() must call filesystem\u0027s invalidatepage().  Otherwise\nfollowing nasty race can happen:\n\n   proc 1                                        proc 2\n   ------                                        ------\n- write some new data to \u0027offset\u0027\n  \u003d\u003e bh gets to the transactions data list\n                                              - starts truncate\n                                                \u003d\u003e i_size set to new size\n- mpage_writepages()\n  - ext3_ordered_writepage() to \u0027offset\u0027\n    - block_write_full_page()\n      - page-\u003eindex \u003e end_index+1\n        - block_invalidatepage()\n          - discard_buffer()\n            - clear_buffer_mapped()\n\n- commit triggers and finds unmapped buffer - BOOM!\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c21e2f2441dc5fbb957b030333f5a3f2d02dea7",
      "tree": "1f76d33bb1d76221c6424bc5fed080a4f91349a6",
      "parents": [
        "b38c6845b695141259019e2b7c0fe6c32a6e720d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:42 2005 -0700"
      },
      "message": "[PATCH] mm: split page table lock\n\nChristoph Lameter demonstrated very poor scalability on the SGI 512-way, with\na many-threaded application which concurrently initializes different parts of\na large anonymous area.\n\nThis patch corrects that, by using a separate spinlock per page table page, to\nguard the page table entries in that page, instead of using the mm\u0027s single\npage_table_lock.  (But even then, page_table_lock is still used to guard page\ntable allocation, and anon_vma allocation.)\n\nIn this implementation, the spinlock is tucked inside the struct page of the\npage table page: with a BUILD_BUG_ON in case it overflows - which it would in\nthe case of 32-bit PA-RISC with spinlock debugging enabled.\n\nSplitting the lock is not quite for free: another cacheline access.  Ideally,\nI suppose we would use split ptlock only for multi-threaded processes on\nmulti-cpu machines; but deciding that dynamically would have its own costs.\nSo for now enable it by config, at some number of cpus - since the Kconfig\nlanguage doesn\u0027t support inequalities, let preprocessor compare that with\nNR_CPUS.  But I don\u0027t think it\u0027s worth being user-configurable: for good\ntesting of both split and unsplit configs, split now at 4 cpus, and perhaps\nchange that to 8 later.\n\nThere is a benefit even for singly threaded processes: kswapd can be attacking\none part of the mm while another part is busy faulting.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27496a8c67bef4d789d8e3c8317ca35813a507ae",
      "tree": "fe99a34fe5a800e41af61853e7444ddddf45d014",
      "parents": [
        "7d877f3bda870ab5f001bd92528654471d5966b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:48 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: fs/*\n\n - -\u003ereleasepage() annotated (s/int/gfp_t), instances updated\n - missing gfp_t in fs/* added\n - fixed misannotation from the original sweep caught by bitwise checks:\n   XFS used __nocast both for gfp_t and for flags used by XFS allocator.\n   The latter left with unsigned int __nocast; we might want to add a\n   different type for those but for now let\u0027s leave them alone.  That,\n   BTW, is a case when __nocast use had been actively confusing - it had\n   been used in the same code for two different and similar types, with\n   no way to catch misuses.  Switch of gfp_t to bitwise had caught that\n   immediately...\n\nOne tricky bit is left alone to be dealt with later - mapping-\u003eflags is\na mix of gfp_t and error indications.  Left alone for now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af4ca457eaf2d6682059c18463eb106e2ce58198",
      "tree": "399ca5ab3b15d723a6aefd04c764a2a06089ed06",
      "parents": [
        "434f1d10c1adb6c2e333d501ce1e42be610e0723"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 02:55:38 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:46 2005 -0700"
      },
      "message": "[PATCH] gfp_t: infrastructure\n\nBeginning of gfp_t annotations:\n\n - -Wbitwise added to CHECKFLAGS\n - old __bitwise renamed to __bitwise__\n - __bitwise defined to either __bitwise__ or nothing, depending on\n   __CHECK_ENDIAN__ being defined\n - gfp_t switched from __nocast to __bitwise__\n - force cast to gfp_t added to __GFP_... constants\n - new helper - gfp_zone(); extracts zone bits out of gfp_t value and casts\n   the result to int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb1c8f93d869b34cacb8b8932e2b83d96a19d720",
      "tree": "a006d078aa02e421a7dc4793c335308204859d36",
      "parents": [
        "4327edf6b8a7ac7dce144313947995538842d8fd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 10 00:25:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:21 2005 -0700"
      },
      "message": "[PATCH] spinlock consolidation\n\nThis patch (written by me and also containing many suggestions of Arjan van\nde Ven) does a major cleanup of the spinlock code.  It does the following\nthings:\n\n - consolidates and enhances the spinlock/rwlock debugging code\n\n - simplifies the asm/spinlock.h files\n\n - encapsulates the raw spinlock type and moves generic spinlock\n   features (such as -\u003ebreak_lock) into the generic code.\n\n - cleans up the spinlock code hierarchy to get rid of the spaghetti.\n\nMost notably there\u0027s now only a single variant of the debugging code,\nlocated in lib/spinlock_debug.c.  (previously we had one SMP debugging\nvariant per architecture, plus a separate generic one for UP builds)\n\nAlso, i\u0027ve enhanced the rwlock debugging facility, it will now track\nwrite-owners.  There is new spinlock-owner/CPU-tracking on SMP builds too.\nAll locks have lockup detection now, which will work for both soft and hard\nspin/rwlock lockups.\n\nThe arch-level include files now only contain the minimally necessary\nsubset of the spinlock code - all the rest that can be generalized now\nlives in the generic headers:\n\n include/asm-i386/spinlock_types.h       |   16\n include/asm-x86_64/spinlock_types.h     |   16\n\nI have also split up the various spinlock variants into separate files,\nmaking it easier to see which does what. The new layout is:\n\n   SMP                         |  UP\n   ----------------------------|-----------------------------------\n   asm/spinlock_types_smp.h    |  linux/spinlock_types_up.h\n   linux/spinlock_types.h      |  linux/spinlock_types.h\n   asm/spinlock_smp.h          |  linux/spinlock_up.h\n   linux/spinlock_api_smp.h    |  linux/spinlock_api_up.h\n   linux/spinlock.h            |  linux/spinlock.h\n\n/*\n * here\u0027s the role of the various spinlock/rwlock related include files:\n *\n * on SMP builds:\n *\n *  asm/spinlock_types.h: contains the raw_spinlock_t/raw_rwlock_t and the\n *                        initializers\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  asm/spinlock.h:       contains the __raw_spin_*()/etc. lowlevel\n *                        implementations, mostly inline assembly code\n *\n *   (also included on UP-debug builds:)\n *\n *  linux/spinlock_api_smp.h:\n *                        contains the prototypes for the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n *\n * on UP builds:\n *\n *  linux/spinlock_type_up.h:\n *                        contains the generic, simplified UP spinlock type.\n *                        (which is an empty structure on non-debug builds)\n *\n *  linux/spinlock_types.h:\n *                        defines the generic type and initializers\n *\n *  linux/spinlock_up.h:\n *                        contains the __raw_spin_*()/etc. version of UP\n *                        builds. (which are NOPs on non-debug, non-preempt\n *                        builds)\n *\n *   (included on UP-non-debug builds:)\n *\n *  linux/spinlock_api_up.h:\n *                        builds the _spin_*() APIs.\n *\n *  linux/spinlock.h:     builds the final spin_*() APIs.\n */\n\nAll SMP and UP architectures are converted by this patch.\n\narm, i386, ia64, ppc, ppc64, s390/s390x, x64 was build-tested via\ncrosscompilers.  m32r, mips, sh, sparc, have not been tested yet, but should\nbe mostly fine.\n\nFrom: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\n\n  Booted and lightly tested on a500-44 (64-bit, SMP kernel, dual CPU).\n  Builds 32-bit SMP kernel (not booted or tested).  I did not try to build\n  non-SMP kernels.  That should be trivial to fix up later if necessary.\n\n  I converted bit ops atomic_hash lock to raw_spinlock_t.  Doing so avoids\n  some ugly nesting of linux/*.h and asm/*.h files.  Those particular locks\n  are well tested and contained entirely inside arch specific code.  I do NOT\n  expect any new issues to arise with them.\n\n If someone does ever need to use debug/metrics with them, then they will\n  need to unravel this hairball between spinlocks, atomic ops, and bit ops\n  that exist only because parisc has exactly one atomic instruction: LDCW\n  (load and clear word).\n\nFrom: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\n\n   ia64 fix\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nSigned-off-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Mikael Pettersson \u003cmikpe@csd.uu.se\u003e\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7662236253374012d364106b6dc9161bd929e2e",
      "tree": "59f34811d18fef8195bc3200bdb2684598175f29",
      "parents": [
        "e6c9f5c1888097c936334bf9740024520ca47b8e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:55 2005 -0700"
      },
      "message": "[PATCH] Make ll_rw_block() wait for buffer lock\n\nIntroduce new ll_rw_block() operation SWRITE meaning that block layer should\nwait for the buffer lock and write-out afterwards.  Hence data in buffers at\nthe time of call are guaranteed to be submitted to the disk.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "736c7b808f38f3bb72941345e11e236ec65dec3d",
      "tree": "9cad1481bea573680fe0c89f32689dcf4b8c04cd",
      "parents": [
        "3f4bb1f4199b7dc0c958447b1e4898980013b884"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Tue Sep 06 15:18:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:41 2005 -0700"
      },
      "message": "[PATCH] alloc_buffer_head() and free_buffer_head() cleanup\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a39722034ae37f80a1803bf781fe3fe1b03e20bc",
      "tree": "fb7ef719d745e28678d73f884108f4cb2ef79171",
      "parents": [
        "d6afe27bfff30fbec2cca6ad5626c22f4094d770"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jul 07 17:56:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:45 2005 -0700"
      },
      "message": "[PATCH] page_uptodate locking scalability\n\nUse a bit spin lock in the first buffer of the page to synchronise asynch\nIO buffer completions, instead of the global page_uptodate_lock, which is\nshowing some scalabilty problems.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "687a21cee17000177b1935896b9b475acf136678",
      "tree": "41e59684ae6479e84b34edc46972ce32c2cc58b7",
      "parents": [
        "05133fc498e788e1c1ca4e906f9e05d9779fd63b"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Jun 28 20:44:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:31 2005 -0700"
      },
      "message": "[PATCH] rename wakeup_bdflush to wakeup_pdflush\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "152becd26e0563aefdbc4fd1fe491928efe92d1f",
      "tree": "713a5ff0a1610708babf7e57fd3141cd4b9f183e",
      "parents": [
        "9a59f452abe11f569e13ec16c51e6d61c54b9838"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "aia21@cam.ac.uk",
        "time": "Thu Jun 23 00:10:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] Bug in error recovery in fs/buffer.c::__block_prepare_write()\n\nfs/buffer.c::__block_prepare_write() has broken error recovery.  It calls\nthe get_block() callback with \"create \u003d 1\" and if that succeeds it\nimmediately clears buffer_new on the just allocated buffer (which has\nbuffer_new set).\n\nThe bug is that if an error occurs and get_block() returns !\u003d 0, we break\nfrom this loop and go into recovery code.  This code has this comment:\n\n/* Error case: */\n/*\n * Zero out any newly allocated blocks to avoid exposing stale\n * data.  If BH_New is set, we know that the block was newly\n * allocated in the above loop.\n */\n\nSo the intent is obviously good in that it wants to clear just allocated\nand hence not zeroed buffers.  However the code recognises allocated\nbuffers by checking for buffer_new being set.\n\nUnfortunately __block_prepare_write() as discussed above already cleared\nbuffer_new on all allocated buffers thus no buffers will be cleared during\nerror recovery and old data will be leaked.\n\nThe simplest way I can see to fix this is to make the current recovery code\nwork by _not_ clearing buffer_new after calling get_block() in\n__block_prepare_write().\n\nWe cannot safely allow buffer_new buffers to \"leak out\" of\n__block_prepare_write(), thus we simply do a quick loop over the buffers\nclearing buffer_new on each of them if it is set just before returning\n\"success\" from __block_prepare_write().\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfb388bf8a328f206bba33933dd97230f412238b",
      "tree": "656cf4d7aba441667c4d25135ee70672738126e9",
      "parents": [
        "01890a4c120f68366441bf5e193d1b9dd543d4d0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:10:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:29 2005 -0700"
      },
      "message": "[PATCH] factor out common code in sys_fsync/sys_fdatasync\n\nThis patch consolidates sys_fsync and sys_fdatasync.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ad539b2bd89bf2e129123eb24d5bcc4484a35de",
      "tree": "e416e208cdbd5d9890d39e39384e4ec913c26ef6",
      "parents": [
        "cbe37d093707762fc0abb280781e6a82a9d8d568"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Tue Jun 21 17:14:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] vm: try_to_free_pages unused argument\n\ntry_to_free_pages accepts a third argument, order, but hasn\u0027t used it since\nbefore 2.6.0.  The following patch removes the argument and updates all the\ncalls to try_to_free_pages.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c64610ba585fabb36be78782868277f3d9741a2e",
      "tree": "e731ee73950ecb6969bb0d7739c03d16373c44c0",
      "parents": [
        "3c0547ba8b3bbd8b26ae35e33ac17ff51f67f78c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon May 16 21:53:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:20 2005 -0700"
      },
      "message": "[PATCH] block_read_full_page() get_block() error handling fix\n\nIf block_read_full_page() detects an error when running get_block() it will\nrun SetPageError(), then it will zero out the block in pagecache and will mark\nthe buffer_head uptodate.\n\nSo at the end of readahead we end up with a non-uptodate pagecache page which\nis marked PageError.  But it has uptodate buffers.\n\nThe pagefault code will run ClearPageError, will launch readpage a second time\nand block_read_full_page() will notice the uptodate buffers and will mark the\npage uptodate as well.  We end up with an uptodate, !PageError page full of\nzeros and the error is lost.\n\n(It seems a little odd that filemap_nopage() runs ClearPageError().  I guess\nall of this adds up to meaning that for each attempted access to the page, the\npagefault handler will retry the I/O.  Which is good and bad.  If the app is\nignoring SIGBUS for some reason we could get a lot of back-to-back I/O\nerrors.)\n\nFix it by not marking the pagecache buffer_head as uptodate if the attempt to\nmap that buffer to a disk block failed.\n\nCredit-to: Qu Fuping \u003cfs@ercist.iscas.ac.cn\u003e\n\n  For reporting the bug and identifying its source.\n\nSigned-off-by: Qu Fuping \u003cfs@ercist.iscas.ac.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75c96f85845a6707b0f9916cb263cb3584f7d48f",
      "tree": "45a64d1c9bb71d7093db3a11e0f21465c2e3dec6",
      "parents": [
        "5e198d94dd0c3ec7f6138229e2e412c2c6268c38"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu May 05 16:16:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:47 2005 -0700"
      },
      "message": "[PATCH] make some things static\n\nThis patch makes some needlessly global identifiers static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f0fbd5fc09b20f7ba7bc8c80be33e39925bb38e1",
      "tree": "01216cf5771d1b49dfc2e0ba15ac1a288fb5d58c",
      "parents": [
        "05937baae9fc27b64bcd4378da7d2b14edf7931c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu May 05 16:15:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:41 2005 -0700"
      },
      "message": "[PATCH] __block_write_full_page() simplification\n\nThe `last_bh\u0027 logic probably isn\u0027t worth much.  In those situations where only\nthe front part of the page is being written out we will save some looping but\nin the vastly more common case of an all-page writeout if just adds more code.\n\nNick Piggin \u003cnickpiggin@yahoo.com.au\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05937baae9fc27b64bcd4378da7d2b14edf7931c",
      "tree": "415bec7602a12a94ae4bc9b1aa512a1d55bb957d",
      "parents": [
        "ad576e63e0c8b274a8558b8e05a6d0526e804dc0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu May 05 16:15:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:41 2005 -0700"
      },
      "message": "[PATCH] __block_write_full_page speedup\n\nRemove all those get_bh()\u0027s and put_bh()\u0027s by extending lock_page() to cover\nthe troublesome regions.\n\n(get_bh() and put_bh() happen every time whereas contention on a page\u0027s lock\nin there happens basically never).\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad576e63e0c8b274a8558b8e05a6d0526e804dc0",
      "tree": "a7c44175df405cf2851f45a486ff96037d1a43e6",
      "parents": [
        "f3ddbdc6267c32223035ea9bb8456a2d86f65ba1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu May 05 16:15:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:40 2005 -0700"
      },
      "message": "[PATCH] __block_write_full_page race fix\n\nWhen running\n\tfsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2\non an ext2 filesystem with 1024 byte block size, on SMP i386 with 4096 byte\npage size over loopback to an image file on a tmpfs filesystem, I would\nvery quickly hit\n\tBUG_ON(!buffer_async_write(bh));\nin fs/buffer.c:end_buffer_async_write\n\nIt seems that more than one request would be submitted for a given bh\nat a time.\n\nWhat would happen is the following:\n2 threads doing __mpage_writepages on the same page.\nThread 1 - lock the page first, and enter __block_write_full_page.\nThread 1 - (eg.) mark_buffer_async_write on the first 2 buffers.\nThread 1 - set page writeback, unlock page.\nThread 2 - lock page, wait on page writeback\nThread 1 - submit_bh on the first 2 buffers.\n\u003d\u003e both requests complete, none of the page buffers are async_write,\n   end_page_writeback is called.\nThread 2 - wakes up. enters __block_write_full_page.\nThread 2 - mark_buffer_async_write on (eg.) the last buffer\nThread 1 - finds the last buffer has async_write set, submit_bh on that.\nThread 2 - submit_bh on the last buffer.\n\u003d\u003e oops.\n\nSo change __block_write_full_page to explicitly keep track of the last bh\nwe need to issue, so we don\u0027t touch anything after issuing the last\nrequest.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3ddbdc6267c32223035ea9bb8456a2d86f65ba1",
      "tree": "bc11ca9a8bc1f1ebdc70e59bb28e8e328346f7bb",
      "parents": [
        "3c8fad1829cc33e903500b41d989fa50ab196378"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu May 05 16:15:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:40 2005 -0700"
      },
      "message": "[PATCH] fix race in __block_prepare_write\n\nFix a race where __block_prepare_write can leak out an in-flight read\nagainst a bh if get_block returns an error.  This can lead to the page\nbecoming unlocked while the buffer is locked and the read still in flight.\n__mpage_writepage BUGs on this condition.\n\nBUG sighted on a 2-way Itanium2 system with 16K PAGE_SIZE running\n\n\tfsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2\n\nwhere $DIR is a new ext2 filesystem with 4K blocks that is quite\nsmall (causing get_block to fail often with -ENOSPC).\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e422fd2c965ad1b0e4eadaabd0adb77e8a93e74e",
      "tree": "a29a10773141fb0da142abb45ac618f2913f981d",
      "parents": [
        "f48d9663f19afb88ac0e45b825da523180f1f9c0"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Thu May 05 16:15:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:30 2005 -0700"
      },
      "message": "[PATCH] avoid -ENOMEM due reclaimable slab caches\n\nThis makes sure that reclaimable buffer headers and reclaimable inodes\nare accounted properly during the overcommit checks.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd7619d6bf36564cf54ff7218ef54e558a741913",
      "tree": "c11674169b6d8f0b498e7ebe8a85d624cca82502",
      "parents": [
        "c8538a7aa5527d02c7191ac5da124efadf6a2827"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "message": "[PATCH] Exterminate PAGE_BUG\n\nRemove PAGE_BUG - repalce it with BUG and BUG_ON.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59dd4620fb8d6422555a9e2b82a707718e68327",
      "tree": "78205657d24efcaa3f8314064951ac3814ed95a7",
      "parents": [
        "0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "message": "[PATCH] use smp_mb/wmb/rmb where possible\n\nReplace a number of memory barriers with smp_ variants.  This means we won\u0027t\ntake the unnecessary hit on UP machines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de7d5a3b6c9ff8429bf046c36b56d3192b75c3da",
      "tree": "b7aae262a2e790bc736fa16534b3b2d7c9e51245",
      "parents": [
        "552fca4cbe552520d85b21e839f289c880fa48d2"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:39 2005 -0700"
      },
      "message": "[PATCH] drop_buffers() oops fix\n\nIn rare situations, drop_buffers() can be called for a page which has buffers,\nbut no -\u003emapping (it was truncated, but the buffers were left behind because\next3 was still fiddling with them).\n\nBut if there was an I/O error in a buffer_head, drop_buffers() will try to get\nat the address_space and will oops.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76c3073a888ae7f4790a146784bb5c34fc24b9d2",
      "tree": "553ce5e651b26fae65a2a35e95570c88e2eab46d",
      "parents": [
        "323aca6c0bda611d0f31b3234d9fe291d31a9207"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sat Apr 16 15:24:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:07 2005 -0700"
      },
      "message": "[PATCH] end_buffer_write_sync() avoid pointless assignments\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
