)]}'
{
  "log": [
    {
      "commit": "0191944282e84931f92915b5f06b348a92dac7e1",
      "tree": "5459927f8545c1a666913ee327c4f25c6994c6eb",
      "parents": [
        "0d9f346fb0cd6d6fc70827c5396a0d83939530e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:20 2009 +0200"
      },
      "message": "hd: fix locking\n\nhd dance around local irq and HD_IRQ enable without achieving much.\nIt ends up transferring data from irq handler with both local irq and\nHD_IRQ disabled.  The only place it actually does something is while\ntransferring the first block of a request which it does with HD_IRQ\ndisabled but local irq enabled.\n\nUnfortunately, the dancing is horribly broken from locking POV.  IRQ\nand timeout handlers access block queue without grabbing the queue\nlock and running the driver in SMP configuration crashes the whole\nmachine pretty quickly.\n\nRemove meaningless irq enable/disable dancing and add proper locking\nin issue, irq and timeout paths.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0d9f346fb0cd6d6fc70827c5396a0d83939530e4",
      "tree": "d24a2705318635f9b2e5c688cf9a34a2334588a6",
      "parents": [
        "39f36b47caae1443eb37c34c6def108bb79f8d25"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:20 2009 +0200"
      },
      "message": "mg_disk: fix CONFIG_LBD\u003dy warning\n\ndrivers/block/mg_disk.c: In function ‘mg_dump_status’:\ndrivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but\nargument 2 has type ‘sector_t’\n\n[ Impact: kill build warning ]\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "39f36b47caae1443eb37c34c6def108bb79f8d25",
      "tree": "ffa4b5b23d0a3ebd963ba2fdecd594745075f680",
      "parents": [
        "27b1833279995e7c290a40cac4ef36ccea7e9283"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:32 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:19 2009 +0200"
      },
      "message": "mg_disk: fix locking\n\nIRQ and timeout handlers call functions which expect locked queue lock\nwithout locking it.  Fix it.\n\nWhile at it, convert 0s used as null pointer constant to NULLs.\n\n[ Impact: fix locking, cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\n"
    },
    {
      "commit": "f3c737de8f57b5ce756010c2175f7d574194b30d",
      "tree": "fa741dba43d33b83f66c7f912e983feae594d40f",
      "parents": [
        "42dad7647aec49b3ad20dd0cb832b232a6ae514f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.ne",
        "time": "Thu Apr 23 08:37:58 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:21 2009 +0200"
      },
      "message": "umem: fix request_queue lock warning\n\nThe umem driver issues two warnings on boot, due to blk_plug_device() and\nblk_remove_plug() being called without q-\u003equeue_lock held.  Starting with\ne48ec690 (block: extend queue_flag bitops), the queue_flag_* functions\nwarn if q-\u003equeue_lock doesn\u0027t appear to be locked.  In fact, q-\u003equeue_lock\nis NULL (though that apparently isn\u0027t otherwise a problem as the driver is\nusing card-\u003elock for everything).\n\nAlthough blk_init_queue() with take a request_fn_proc and spinlock_t*,\nthere isn\u0027t a corresponding init helper that takes a make_request_fn.\nSetting queue_lock to \u0026card-\u003elock explicitly seems to work fine for me.\nThe warning goes away and the device appears to behave.\n\n[    1.531881] v2.3 : Micro Memory(tm) PCI memory board block driver\n[    1.538136] umem 0000:02:01.0: PCI INT A -\u003e GSI 20 (level, low) -\u003e IRQ 20\n[    1.545018] umem 0000:02:01.0: Micro Memory(tm) controller found (PCI Mem Module (Battery Backup))\n[    1.554176] umem 0000:02:01.0: CSR 0xfc9ffc00 -\u003e 0xffffc200013d0c00 (0x100)\n[    1.561279] umem 0000:02:01.0: Size 1048576 KB, Battery 1 Disabled (FAILURE), Battery 2 Disabled (FAILURE)\n[    1.571114] umem 0000:02:01.0: Window size 16777216 bytes, IRQ 20\n[    1.577304] umem 0000:02:01.0: memory NOT initialized. Consider over-writing whole device.\n[    1.585989]  umema:\u003c4\u003e------------[ cut here ]------------\n[    1.591775] WARNING: at include/linux/blkdev.h:492 blk_plug_device+0x6d/0x106()\n[    1.592025] Hardware name: H8SSL\n[    1.592025] Modules linked in:\n[    1.592025] Pid: 1, comm: swapper Not tainted 2.6.29 #8\n[    1.592025] Call Trace:\n[    1.592025]  [\u003cffffffff8023c994\u003e] warn_slowpath+0xd3/0xf2\n[    1.592025]  [\u003cffffffff8025a5b5\u003e] ? save_trace+0x3f/0x9b\n[    1.592025]  [\u003cffffffff8025a68b\u003e] ? add_lock_to_list+0x7a/0xba\n[    1.592025]  [\u003cffffffff8025e609\u003e] ? validate_chain+0xb3b/0xce8\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff8025ef04\u003e] ? __lock_acquire+0x74e/0x7b9\n[    1.592025]  [\u003cffffffff8025a70e\u003e] ? get_lock_stats+0x34/0x5e\n[    1.592025]  [\u003cffffffff8025a746\u003e] ? put_lock_stats+0xe/0x27\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff803ad165\u003e] blk_plug_device+0x6d/0x106\n[    1.592025]  [\u003cffffffff80441575\u003e] mm_make_request+0x46/0x59\n[    1.592025]  [\u003cffffffff803ac2d9\u003e] generic_make_request+0x335/0x3cf\n[    1.592025]  [\u003cffffffff8027fcc7\u003e] ? mempool_alloc_slab+0x11/0x13\n[    1.592025]  [\u003cffffffff8027fdce\u003e] ? mempool_alloc+0x45/0x101\n[    1.592025]  [\u003cffffffff8025a746\u003e] ? put_lock_stats+0xe/0x27\n[    1.592025]  [\u003cffffffff803adda5\u003e] submit_bio+0x10a/0x119\n[    1.592025]  [\u003cffffffff802c8d00\u003e] submit_bh+0xe5/0x109\n[    1.592025]  [\u003cffffffff802cbf43\u003e] block_read_full_page+0x2aa/0x2cb\n[    1.592025]  [\u003cffffffff802cf4c4\u003e] ? blkdev_get_block+0x0/0x4c\n[    1.592025]  [\u003cffffffff805c90a8\u003e] ? _spin_unlock_irq+0x36/0x51\n[    1.592025]  [\u003cffffffff80286836\u003e] ? __lru_cache_add+0x92/0xb2\n[    1.592025]  [\u003cffffffff802cf008\u003e] blkdev_readpage+0x13/0x15\n[    1.592025]  [\u003cffffffff8027de06\u003e] read_cache_page_async+0x90/0x134\n[    1.592025]  [\u003cffffffff802ceff5\u003e] ? blkdev_readpage+0x0/0x15\n[    1.592025]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.592025]  [\u003cffffffff8027deb8\u003e] read_cache_page+0xe/0x45\n[    1.592025]  [\u003cffffffff802f5170\u003e] read_dev_sector+0x2e/0x93\n[    1.592025]  [\u003cffffffff802f5f44\u003e] adfspart_check_ICS+0x28/0x16c\n[    1.592025]  [\u003cffffffff8025d427\u003e] ? trace_hardirqs_on+0xd/0xf\n[    1.592025]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.592025]  [\u003cffffffff802f59c5\u003e] rescan_partitions+0x168/0x2fb\n[    1.592025]  [\u003cffffffff802ceae9\u003e] __blkdev_get+0x259/0x336\n[    1.592025]  [\u003cffffffff803ca1e2\u003e] ? kobject_put+0x47/0x4b\n[    1.592025]  [\u003cffffffff802cebd1\u003e] blkdev_get+0xb/0xd\n[    1.592025]  [\u003cffffffff802f5773\u003e] register_disk+0xc4/0x12b\n[    1.592025]  [\u003cffffffff803b2a7b\u003e] add_disk+0xc3/0x12d\n[    1.592025]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.592025]  [\u003cffffffff808a1e73\u003e] mm_init+0x129/0x1a5\n[    1.592025]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.592025]  [\u003cffffffff80209056\u003e] _stext+0x56/0x130\n[    1.592025]  [\u003cffffffff80274932\u003e] ? register_irq_proc+0xae/0xca\n[    1.592025]  [\u003cffffffff802f0000\u003e] ? proc_pid_lookup+0xb4/0x18b\n[    1.592025]  [\u003cffffffff8087f975\u003e] kernel_init+0x132/0x18b\n[    1.592025]  [\u003cffffffff8020d17a\u003e] child_rip+0xa/0x20\n[    1.592025]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.592025]  [\u003cffffffff8087f843\u003e] ? kernel_init+0x0/0x18b\n[    1.592025]  [\u003cffffffff8020d170\u003e] ? child_rip+0x0/0x20\n[    1.592025] ---[ end trace 7150b3b86da74e1e ]---\n[    1.889858] ------------[ cut here ]------------[ve_plug+0x5f/0x91()\n[    1.893848] Hardware name: H8SSL\n[    1.893848] Modules linked in:\n[    1.893848] Pid: 1, comm: swapper Tainted: G        W  2.6.29 #8\n[    1.893848] Call Trace:\n[    1.893848]  [\u003cffffffff8023c994\u003e] warn_slowpath+0xd3/0xf2\n[    1.893848]  [\u003cffffffff805c8411\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n[    1.893848]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.893848]  [\u003cffffffff80254245\u003e] ? __atomic_notifier_call_chain+0x0/0xb2\n[    1.893848]  [\u003cffffffff805c90a3\u003e] ? _spin_unlock_irq+0x31/0x51\n[    1.893848]  [\u003cffffffff805c90bf\u003e] ? _spin_unlock_irq+0x4d/0x51\n[    1.893848]  [\u003cffffffff8044157d\u003e] ? mm_make_request+0x4e/0x59\n[    1.893848]  [\u003cffffffff8025a70e\u003e] ? get_lock_stats+0x34/0x5e\n[    1.893848]  [\u003cffffffff8025a75d\u003e] ? put_lock_stats+0x25/0x27\n[    1.893848]  [\u003cffffffff80441504\u003e] ? mm_unplug_device+0x25/0x50\n[    1.893848]  [\u003cffffffff803acf23\u003e] blk_remove_plug+0x5f/0x91\n[    1.893848]  [\u003cffffffff8044150f\u003e] mm_unplug_device+0x30/0x50\n[    1.893848]  [\u003cffffffff803ab74a\u003e] blk_unplug+0x78/0x7d\n[    1.893848]  [\u003cffffffff803ab75c\u003e] blk_backing_dev_unplug+0xd/0xf\n[    1.893848]  [\u003cffffffff802c853c\u003e] block_sync_page+0x4a/0x4c\n[    1.893848]  [\u003cffffffff8027da1c\u003e] sync_page+0x44/0x4d\n[    1.893848]  [\u003cffffffff805c66fd\u003e] __wait_on_bit_lock+0x42/0x8a\n[    1.893848]  [\u003cffffffff8027d9d8\u003e] ? sync_page+0x0/0x4d\n[    1.893848]  [\u003cffffffff8027d9c4\u003e] __lock_page+0x64/0x6b\n[    1.893848]  [\u003cffffffff802508db\u003e] ? wake_bit_function+0x0/0x2a\n[    1.893848]  [\u003cffffffff8027de4a\u003e] read_cache_page_async+0xd4/0x134\n[    1.893848]  [\u003cffffffff802ceff5\u003e] ? blkdev_readpage+0x0/0x15\n[    1.893848]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.893848]  [\u003cffffffff8027deb8\u003e] read_cache_page+0xe/0x45\n[    1.893848]  [\u003cffffffff802f5170\u003e] read_dev_sector+0x2e/0x93\n[    1.893848]  [\u003cffffffff802f5f44\u003e] adfspart_check_ICS+0x28/0x16c\n[    1.893848]  [\u003cffffffff8025d427\u003e] ? trace_hardirqs_on+0xd/0xf\n[    1.893848]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.893848]  [\u003cffffffff802f59c5\u003e] rescan_partitions+0x168/0x2fb\n[    1.893848]  [\u003cffffffff802ceae9\u003e] __blkdev_get+0x259/0x336\n[    1.893848]  [\u003cffffffff803ca1e2\u003e] ? kobject_put+0x47/0x4b\n[    1.893848]  [\u003cffffffff802cebd1\u003e] blkdev_get+0xb/0xd\n[    1.893848]  [\u003cffffffff802f5773\u003e] register_disk+0xc4/0x12b\n[    1.893848]  [\u003cffffffff803b2a7b\u003e] add_disk+0xc3/0x12d\n[    1.893848]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.893848]  [\u003cffffffff808a1e73\u003e] mm_init+0x129/0x1a5\n[    1.893848]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.893848]  [\u003cffffffff80209056\u003e] _stext+0x56/0x130\n[    1.893848]  [\u003cffffffff80274932\u003e] ? register_irq_proc+0xae/0xca\n[    1.893848]  [\u003cffffffff802f0000\u003e] ? proc_pid_lookup+0xb4/0x18b\n[    1.893848]  [\u003cffffffff8087f975\u003e] kernel_init+0x132/0x18b\n[    1.893848]  [\u003cffffffff8020d17a\u003e] child_rip+0xa/0x20\n[    1.893848]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.893848]  [\u003cffffffff8087f843\u003e] ? kernel_init+0x0/0x18b\n[    1.893848]  [\u003cffffffff8020d170\u003e] ? child_rip+0x0/0x20\n[    1.893848] ---[ end trace 7150b3b86da74e1f ]---\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3444b26afa145148951112534f298bdc554ec789",
      "tree": "b2c8d9b13d04869ffdad1e46a9ebbf819e7ed7b4",
      "parents": [
        "d45e230bf03850f17394a760dfa003d986a67729"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Wed Apr 08 17:36:28 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 17 10:50:27 2009 -0700"
      },
      "message": "USB: add reset endpoint operations\n\nWireless USB endpoint state has a sequence number and a current\nwindow and not just a single toggle bit.  So allow HCDs to provide a\nendpoint_reset method and call this or clear the software toggles as\nrequired (after a clear halt, set configuration etc.).\n\nusb_settoggle() and friends are then HCD internal and are moved into\ncore/hcd.h and all device drivers call usb_reset_endpoint() instead.\n\nIf the device endpoint state has been reset (with a clear halt) but\nthe host endpoint state has not then subsequent data transfers will\nnot complete. The device will only work again after it is reset or\ndisconnected.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c2572f2b4ffc27ba79211aceee3bef53a59bb5cd",
      "tree": "8c6680ad7778659c447c2a60b8565490b0d6f427",
      "parents": [
        "dfbc4752eab33e66f113f9daa2effbe241cd661d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 15 10:32:07 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "brd: fix cacheflushing\n\nbrd is missing a flush_dcache_page. On 2nd thoughts, perhaps it is the\npagecache\u0027s responsibility to flush user virtual aliases (the driver of\ncourse should flush kernel virtual mappings)... but anyway, there\nalready exists cache flushing for one direction of transfer, so we\nshould add the other.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dfbc4752eab33e66f113f9daa2effbe241cd661d",
      "tree": "3c27a1989452261b681ec42c8a16cce70f91deb3",
      "parents": [
        "297dbf50d7ab0539cf9cf7f2a66918665a18e45e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 15 10:27:07 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "brd: support barriers\n\nbrd is always ordered (not that it matters, as it is defined not to\nsurvive when the system goes down). So tell the block layer it is\nordered, which might be of help with testing filesystems.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e930438c42e744ef1f8bfdbb338253c9f384df42",
      "tree": "9fd71b732916dc8ccbf985461b4cd1bfd00137a6",
      "parents": [
        "316cb4ef3eb2ad6e35e15cc56d39c6cda58c093a"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 13 14:40:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 15:04:33 2009 -0700"
      },
      "message": "Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)\n\nThis is the second go through of the old DMA_nBIT_MASK macro,and there\u0027re not\nso many of them left,so I put them into one patch.I hope this is the last round.\nAfter this the definition of the old DMA_nBIT_MASK macro could be removed.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0edef8c8b35f04b89311590dd6f1249f07fab3a",
      "tree": "1959e043ecd40e0ce92b0b3a6f6af125c5bbfcf3",
      "parents": [
        "fb4252e59452c18b88af014a2c4ee697bbf8cbc6"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 08 14:13:04 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 08 14:13:04 2009 +0200"
      },
      "message": "xsysace: Fix dereferencing of cf_id after hd_driveid removal\n\nCommit 4aaf2fec718f6fbf38668edf733a0ab09a49cab1 (xsysace: make it\n\u0027struct hd_driveid\u0027-free) converted the cf_id member of \u0027struct\nace_device\u0027 from a \u0027struct hd_driveid\u0027 to a u16 array.  However,\nreferences to the base of the structure were still using the \u0027\u0026\u0027\noperator.  When the address was used with the ata_id_u32() macro, the\ncompiler used the size of the entire array instead of sizeof(u16) to\ncalculate the offset from the base address.\n\nThis patch removes the use of the \u0027\u0026\u0027 operator from all references of\ncf_id to fix the bug and remove future confusion.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6a5d263866d699ebf6843105497afc86ee53de5b",
      "tree": "439195e272631908cdc2e3e44abaf7e1c3447157",
      "parents": [
        "aeeae86859f4319de0a4946b44771d9926eeed54",
        "ffcd7dca3ab78f9f425971756e5e90024157f6be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  loop: mutex already unlocked in loop_clr_fd()\n  cfq-iosched: don\u0027t let idling interfere with plugging\n  block: remove unused REQ_UNPLUG\n  cfq-iosched: kill two unused cfqq flags\n  cfq-iosched: change dispatch logic to deal with single requests at the time\n  mflash: initial support\n  cciss: change to discover first memory BAR\n  cciss: kernel scan thread for MSA2012\n  cciss: fix residual count for block pc requests\n  block: fix inconsistency in I/O stat accounting code\n  block: elevator quiescing helpers\n"
    },
    {
      "commit": "284901a90a9e0b812ca3f5f852cbbfb60d10249d",
      "tree": "06c1b5a0f83c90cfb662f756e7781977ce739ce8",
      "parents": [
        "6afd142fd0dfba497246d0fab236c20a7b4bf778"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 06 19:01:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:11 2009 -0700"
      },
      "message": "dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)\n\nReplace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)\n\nSigned-off-by: Yang Hongyang\u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01",
      "tree": "9caaf8645b573687bbcf3a16b5aa7dd233fed46e",
      "parents": [
        "8a59f5d2526593c6bc1a0754c3a16ccc9ed41ce3"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 06 19:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:10 2009 -0700"
      },
      "message": "dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)\n\nReplace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)\n\nSigned-off-by: Yang Hongyang\u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffcd7dca3ab78f9f425971756e5e90024157f6be",
      "tree": "777753013a09b5de8938a9b1af1c1b6ac5147635",
      "parents": [
        "b029195dda0129b427c6e579a3bb3ae752da3a93"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Tue Apr 07 13:48:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 13:48:21 2009 +0200"
      },
      "message": "loop: mutex already unlocked in loop_clr_fd()\n\nmount/1865 is trying to release lock (\u0026lo-\u003elo_ctl_mutex) at:\nbut there are no more locks to release!\n\nmutex is already unlocked in loop_clr_fd(), we should not\ntry to unlock it in lo_release() again.\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3fbed4c61abd8458896e38633d10110cb5a589d4",
      "tree": "6024567b36cc26c4d6fddef59fab222651310dec",
      "parents": [
        "e143858104e318263689c551543dfc3f186cea12"
      ],
      "author": {
        "name": "unsik Kim",
        "email": "donari75@gmail.com",
        "time": "Thu Apr 02 12:50:58 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "mflash: initial support\n\nThis driver supports mflash IO mode for linux.\n\nMflash is embedded flash drive and mainly targeted mobile and consumer\nelectronic devices.\n\nInternally, mflash has nand flash and other hardware logics and supports 2\ndifferent operation (ATA, IO) modes.  ATA mode doesn\u0027t need any new driver\nand currently works well under standard IDE subsystem.  Actually it\u0027s one\nchip SSD.  IO mode is ATA-like custom mode for the host that doesn\u0027t have\nIDE interface.\n\nFollowings are brief descriptions about IO mode.\nA. IO mode based on ATA protocol and uses some custom command. (read confirm,\nwrite confirm)\nB. IO mode uses SRAM bus interface.\nC. IO mode supports 4kB boot area, so host can boot from mflash.\n\nThis driver is quitely similar to a standard ATA driver, but because of\nfollowing reasons it is currently seperated with ATA layer.\n\n1. ATA layer deals standard ATA protocol.  ATA layer have many low-\n   level device specific interface, but data transfer keeps ATA rule.\n   But, mflash IO mode doesn\u0027t.\n\n2. Even though currently not used in mflash driver code, mflash has\n   some custom command and modes.  (nand fusing, firmware patch, etc) If\n   this feature supported in linux kernel, ATA layer more altered.\n\n3. Currently PATA platform device driver doesn\u0027t support interrupt.\n   (I\u0027m not sure) But, mflash uses interrupt (polling mode is just for\n   debug).\n\n4. mflash is somewhat under-develop product.  Even though some company\n   already using mflash their own product, I think more time is needed for\n   standardization of custom command and mode.  That time (maybe October)\n   I will talk to with ATA people.  If they accept integration, I will\n   integrate.\n\nSigned-off-by: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e143858104e318263689c551543dfc3f186cea12",
      "tree": "96d2bf9cc01931c9f8e4f93d5f200ad1b05cb890",
      "parents": [
        "0a9279cc7cbe726e995c44a1acae81d446775816"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Apr 02 12:50:56 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: change to discover first memory BAR\n\nAdd a method for discovering the first memory BAR.  All Smart Array\ncontrollers to date have always had the the memory BAR as the first BAR.\nA new controller to be released later this year breaks that model.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a9279cc7cbe726e995c44a1acae81d446775816",
      "tree": "80b7eb06a7629f6e0ab0c865f791b6a421a0ef6e",
      "parents": [
        "ac44e5b2ed62bf4acf9df84575d3f18c7a6fdf22"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Apr 02 12:50:55 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: kernel scan thread for MSA2012\n\nThe MSA2012 cannot inform the driver of configuration changes since all\nmanagement is out of band.  This is a departure from any storage we have\nsupported in the past.  We need some way to detect changes on the topology\nso we implement this kernel thread.  In some instances there\u0027s nothing we\ncan do from the driver (like LUN failure) so just print out a message.  In\nthe case where logical volumes are added or deleted we call\nrebuild_lun_table to refresh the driver\u0027s view of the world.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac44e5b2ed62bf4acf9df84575d3f18c7a6fdf22",
      "tree": "55e44b1d54299f85332e6e1087cad28e9a439c33",
      "parents": [
        "26308eab69aa193f7b3fb50764a64ae14544a39b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 27 10:43:52 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: fix residual count for block pc requests\n\nWe must complete the full request, so store the request count and then set\nthe -\u003edata_len to the residual count from the hardware.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ea02259fdf47ca81ff3ca0c22906d989094fb8ff",
      "tree": "5d3672aa246e016f695bc62a861902a50de7b461",
      "parents": [
        "8fe74cf053de7ad2124a894996f84fa890a81093",
        "eae6c2b6414fc6673ac5415442fe463c01005366"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:02:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:02:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup:\n  remove \u003clinux/ata.h\u003e include from \u003clinux/hdreg.h\u003e\n  include/linux/hdreg.h: remove unused defines\n  isd200: use ATA_* defines instead of *_STAT and *_ERR ones\n  include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__\n  aoe: WIN_* -\u003e ATA_CMD_*\n  isd200: WIN_* -\u003e ATA_CMD_*\n  include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__\n  xsysace: make it \u0027struct hd_driveid\u0027-free\n  ubd_kern: make it \u0027struct hd_driveid\u0027-free\n  isd200: make it \u0027struct hd_driveid\u0027-free\n"
    },
    {
      "commit": "15746fcaa3a00753bbab2326088b85b10c1ba36a",
      "tree": "a61e2e83fc3eaefc62f2e45d1b95125a8180c7ab",
      "parents": [
        "1a2ad21128bb4eb79f3c05e5801edcc5ed3ef1d3"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Apr 02 16:58:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:02 2009 -0700"
      },
      "message": "nbd: trivial cleanups\n\nTrivial cleanups for nbd: only the return -EIO one really changes code,\nand I\u0027ve verified all the callers (plus 0 \u003d\u003d success, 1 \u003d\u003d error\nconvention is really ugly).\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a2ad21128bb4eb79f3c05e5801edcc5ed3ef1d3",
      "tree": "ba5845f5e7f225b427d4ce250b911b9303aa9511",
      "parents": [
        "1b0f7ffd0ea27cd3a0b9ca04e3df9522048c32a3"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Apr 02 16:58:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:02 2009 -0700"
      },
      "message": "nbd: add locking to nbd_ioctl\n\nThe code was written to rely on big kernel lock to protect it from races.\nIt mostly works when interface is not abused.\n\nSo this uses tx_lock to protect data structures from concurrent use\nbetween ioctl and worker threads.\n\nNext step will be moving from ioctl to unlocked_ioctl.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: add missing return]\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83f9ef463bcb4ba7b4fee1d6212fac7d277010d3",
      "tree": "550207be5d53e057803d14d5cce5487b86613662",
      "parents": [
        "97f76d3d197f201ac8a8a3ced5b8fef81568e50e"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "scott@canonical.com",
        "time": "Thu Apr 02 16:56:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:49 2009 -0700"
      },
      "message": "floppy: provide a PNP device table in the module.\n\nThe missing device table means that the floppy module is not auto-loaded,\neven when the appropriate PNP device (0700) is found.\n\nWe don\u0027t actually use the table in the module, since the device doesn\u0027t\nhave a struct pnp_driver, but it\u0027s sufficient to cause an alias in the\nmodule that udev/modprobe will use.\n\nSigned-off-by: Scott James Remnant \u003cscott@canonical.com\u003e\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Philippe De Muyter \u003cphdm@macqel.be\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fe6e30645de0b7a179892d83049580bf72bcff2",
      "tree": "e3c0d998a0b0c6383c0b93247bf5b722504675cc",
      "parents": [
        "fcd3ec6960728ff7b4b598c62a68847aa03a94a5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:25 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:25 2009 +0200"
      },
      "message": "include/linux/hdreg.h: remove unused defines\n\n* Move HD_IRQ define to drivers/block/hd.c (only user).\n\n* Remove unused *_STAT, *_ERR, HD_*, CD, IO, REL and TAG_MASK defines.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "04b3ab52a000ab7e718efc97e9fdd67d95002d11",
      "tree": "bab0568ab300e2b02a009678358200bc8745d0e6",
      "parents": [
        "f08f31f7c77b5537c099c2566b490eb8255f4c49"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:24 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:24 2009 +0200"
      },
      "message": "aoe: WIN_* -\u003e ATA_CMD_*\n\n* Use ATA_CMD_* defines instead of WIN_* ones.\n\n* Include \u003clinux/ata.h\u003e directly instead of through \u003clinux/hdreg.h\u003e.\n\nCc: Ed L. Cashin \u003cecashin@coraid.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4aaf2fec718f6fbf38668edf733a0ab09a49cab1",
      "tree": "2825245ceb1eaf5c62c9e68282751fb2d9881df2",
      "parents": [
        "73855e13b2bce2bb5cd2a62c270fb07f49353e02"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:22 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 01 21:42:22 2009 +0200"
      },
      "message": "xsysace: make it \u0027struct hd_driveid\u0027-free\n\n* Change cf_id field in struct ace_device from \u0027struct hd_driveid *id\u0027\n  to \u0027u16 *id\u0027 and update driver accordingly.\n\n* Include \u003clinux/ata.h\u003e directly instead of through \u003clinux/hdreg.h\u003e.\n\nWhile at it:\n\n* Use ata_id_u32() macro.\n\nThere should be no functional changes caused by this patch.\n\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "53d6660836f233df66490707365ab177e5fb2bb4",
      "tree": "dad7eae486c0928af039f4bb47ee3dd7bb0ff87d",
      "parents": [
        "65bd6a9bc7be3f5841dad12f77ce4b3210bd82c5"
      ],
      "author": {
        "name": "J. R. Okajima",
        "email": "hooanon05@yahoo.co.jp",
        "time": "Tue Mar 31 15:23:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:17 2009 -0700"
      },
      "message": "loop: add ioctl to resize a loop device\n\nAdd the ability to \u0027resize\u0027 the loop device on the fly.\n\nOne practical application is a loop file with XFS filesystem, already\nmounted: You can easily enlarge the file (append some bytes) and then call\nioctl(fd, LOOP_SET_CAPACITY, new); The loop driver will learn about the\nnew size and you can use xfs_growfs later on, which will allow you to use\nfull capacity of the loop file without the need to unmount.\n\nTest app:\n\n#include \u003clinux/fs.h\u003e\n#include \u003clinux/loop.h\u003e\n#include \u003csys/ioctl.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003cassert.h\u003e\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cunistd.h\u003e\n\n#define _GNU_SOURCE\n#include \u003cgetopt.h\u003e\n\nchar *me;\n\nvoid usage(FILE *f)\n{\n\tfprintf(f, \"%s [options] loop_dev [backend_file]\\n\"\n\t\t\"-s, --set new_size_in_bytes\\n\"\n\t\t\"\\twhen backend_file is given, \"\n\t\t\"it will be expanded too while keeping the original contents\\n\",\n\t\tme);\n}\n\nstruct option opts[] \u003d {\n\t{\n\t\t.name\t\t\u003d \"set\",\n\t\t.has_arg\t\u003d 1,\n\t\t.flag\t\t\u003d NULL,\n\t\t.val\t\t\u003d \u0027s\u0027\n\t},\n\t{\n\t\t.name\t\t\u003d \"help\",\n\t\t.has_arg\t\u003d 0,\n\t\t.flag\t\t\u003d NULL,\n\t\t.val\t\t\u003d \u0027h\u0027\n\t}\n};\n\nvoid err_size(char *name, __u64 old)\n{\n\tfprintf(stderr, \"size must be larger than current %s (%llu)\\n\",\n\t\tname, old);\n}\n\nint main(int argc, char *argv[])\n{\n\tint fd, err, c, i, bfd;\n\tssize_t ssz;\n\tsize_t sz;\n\t__u64 old, new, append;\n\tchar a[BUFSIZ];\n\tstruct stat st;\n\tFILE *out;\n\tchar *backend, *dev;\n\n\terr \u003d EINVAL;\n\tout \u003d stderr;\n\tme \u003d argv[0];\n\tnew \u003d 0;\n\twhile ((c \u003d getopt_long(argc, argv, \"s:h\", opts, \u0026i)) !\u003d -1) {\n\t\tswitch (c) {\n\t\tcase \u0027s\u0027:\n\t\t\terrno \u003d 0;\n\t\t\tnew \u003d strtoull(optarg, NULL, 0);\n\t\t\tif (errno) {\n\t\t\t\terr \u003d errno;\n\t\t\t\tperror(argv[i]);\n\t\t\t\tgoto out;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \u0027h\u0027:\n\t\t\terr \u003d 0;\n\t\t\tout \u003d stdout;\n\t\t\tgoto err;\n\n\t\tdefault:\n\t\t\tperror(argv[i]);\n\t\t\tgoto err;\n\t\t}\n\t}\n\n\tif (optind \u003c argc)\n\t\tdev \u003d argv[optind++];\n\telse\n\t\tgoto err;\n\n\tfd \u003d open(dev, O_RDONLY);\n\tif (fd \u003c 0) {\n\t\terr \u003d errno;\n\t\tperror(dev);\n\t\tgoto out;\n\t}\n\n\terr \u003d ioctl(fd, BLKGETSIZE64, \u0026old);\n\tif (err) {\n\t\terr \u003d errno;\n\t\tperror(\"ioctl BLKGETSIZE64\");\n\t\tgoto out;\n\t}\n\n\tif (!new) {\n\t\tprintf(\"%llu\\n\", old);\n\t\tgoto out;\n\t}\n\n\tif (new \u003c old) {\n\t\terr \u003d EINVAL;\n\t\terr_size(dev, old);\n\t\tgoto out;\n\t}\n\n\tif (optind \u003c argc) {\n\t\tbackend \u003d argv[optind++];\n\t\tbfd \u003d open(backend, O_WRONLY|O_APPEND);\n\t\tif (bfd \u003c 0) {\n\t\t\terr \u003d errno;\n\t\t\tperror(backend);\n\t\t\tgoto out;\n\t\t}\n\t\terr \u003d fstat(bfd, \u0026st);\n\t\tif (err) {\n\t\t\terr \u003d errno;\n\t\t\tperror(backend);\n\t\t\tgoto out;\n\t\t}\n\t\tif (new \u003c st.st_size) {\n\t\t\terr \u003d EINVAL;\n\t\t\terr_size(backend, st.st_size);\n\t\t\tgoto out;\n\t\t}\n\t\tappend \u003d new - st.st_size;\n\t\tsz \u003d sizeof(a);\n\t\twhile (append \u003e 0) {\n\t\t\tif (append \u003c sz)\n\t\t\t\tsz \u003d append;\n\t\t\tssz \u003d write(bfd, a, sz);\n\t\t\tif (ssz !\u003d sz) {\n\t\t\t\terr \u003d errno;\n\t\t\t\tperror(backend);\n\t\t\t\tgoto out;\n\t\t\t}\n\t\t\tappend -\u003d sz;\n\t\t}\n\t\terr \u003d fsync(bfd);\n\t\tif (err) {\n\t\t\terr \u003d errno;\n\t\t\tperror(backend);\n\t\t\tgoto out;\n\t\t}\n\t}\n\n\terr \u003d ioctl(fd, LOOP_SET_CAPACITY, new);\n\tif (err) {\n\t\terr \u003d errno;\n\t\tperror(\"ioctl LOOP_SET_CAPACITY\");\n\t}\n\tgoto out;\n\n err:\n\tusage(out);\n out:\n\treturn err;\n}\n\nSigned-off-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nSigned-off-by: Tomas Matejicek \u003ctomas@slax.org\u003e\nCc: \u003cutil-linux-ng@vger.kernel.org\u003e\nCc: Karel Zak \u003ckzak@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99b76233803beab302123d243eea9e41149804f3",
      "tree": "398178210fe66845ccd6fa4258ba762a87e023ad",
      "parents": [
        "3dec7f59c370c7b58184d63293c3dc984d475840"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 25 22:48:06 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 31 01:14:44 2009 +0400"
      },
      "message": "proc 2/2: remove struct proc_dir_entry::owner\n\nSetting -\u003eowner as done currently (pde-\u003eowner \u003d THIS_MODULE) is racy\nas correctly noted at bug #12454. Someone can lookup entry with NULL\n-\u003eowner, thus not pinning enything, and release it later resulting\nin module refcount underflow.\n\nWe can keep -\u003eowner and supply it at registration time like -\u003eproc_fops\nand -\u003edata.\n\nBut this leaves -\u003eowner as easy-manipulative field (just one C assignment)\nand somebody will forget to unpin previous/pin current module when\nswitching -\u003eowner. -\u003eproc_fops is declared as \"const\" which should give\nsome thoughts.\n\n-\u003eread_proc/-\u003ewrite_proc were just fixed to not require -\u003eowner for\nprotection.\n\nrmmod\u0027ed directories will be empty and return \".\" and \"..\" -- no harm.\nAnd directories with tricky enough readdir and lookup shouldn\u0027t be modular.\nWe definitely don\u0027t want such modular code.\n\nRemoving -\u003eowner will also make PDE smaller.\n\nSo, let\u0027s nuke it.\n\nKudos to Jeff Layton for reminding about this, let\u0027s say, oversight.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12454\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4496d937a518fde0d0e1980e4ab470cedb4b50cd",
      "tree": "a02d57e13b44483417973a306f9fd23743959375",
      "parents": [
        "8e9d2089723d08d51e66c5eea49253d76e27941e",
        "4b2873ba0bda7dc747cde8b6c7dc6c0b01ea6213"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:15:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:15:31 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: irq_node.handler() should return irqreturn_t\n  m68k: section mismatch fixes: Atari SCSI\n  m68k: section mismatch fixes: DMAsound for Atari\n  MAINTAINERS: Replace dead link to m68k CVS repository by link to new git repository\n  m68k: mac - Add SWIM floppy support\n  m68k: mac - Add a new entry in mac_model to identify the floppy controller type.\n  m68k: Add install target\n"
    },
    {
      "commit": "86d9c070175de65890794fa227b68297da6206d8",
      "tree": "1aa4f1d1ecf397bd0d745a67b9d828420a99a8b4",
      "parents": [
        "413e3376485e6cf81f4cf6a4dbc0de0326535093",
        "a2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:03:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:03:04 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.30\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.30\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Get rid of pdflush_operation() in emergency sync and remount\n  btrfs: get rid of current_is_pdflush() in btrfs_btree_balance_dirty\n  Move the default_backing_dev_info out of readahead.c and into backing-dev.c\n  block: Repeated lines in switching-sched.txt\n  bsg: Remove bogus check against request_queue-\u003emax_sectors\n  block: WARN in __blk_put_request() for potential bio leak\n  loop: fix circular locking in loop_clr_fd()\n  loop: support barrier writes\n  bsg: add support for tail queuing\n  cpqarray: enable bus mastering\n  block: genhd.h cleanup patch\n  block: add private bio_set for bio integrity allocations\n  block: genhd.h comment needs updating\n  block: get rid of unused blkdev_free_rq() define\n  block: remove various blk_queue_*() setting functions in blk_init_queue_node()\n  cciss: add BUILD_BUG_ON() for catching bad CommandList_struct alignment\n  block: don\u0027t create bio_vec slabs of less than the inline number\n  block: cleanup bio_alloc_bioset()\n"
    },
    {
      "commit": "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6",
      "tree": "2be39bf8942edca1bcec735145e144a682ca9cd3",
      "parents": [
        "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wimax/i2400m/usb-notif.c\n"
    },
    {
      "commit": "8852ecd97488249ca7fe2c0d3eb44cae95886881",
      "tree": "bc23ec6db412733952809ebc5307535ed043c4a0",
      "parents": [
        "7ad93b42bd135641ddc2c298f030132aca7aeca3"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "laurent@lvivier.info",
        "time": "Sat Nov 15 16:10:10 2008 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Mar 26 21:15:27 2009 +0100"
      },
      "message": "m68k: mac - Add SWIM floppy support\n\nIt allows to read data from a floppy, but not to write to, and to eject the\nfloppy (useful on our Mac without eject button).\n\nSigned-off-by: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "61a091827e273650b39eb87c799a6d260913fa0b",
      "tree": "19f0a4840fc90da6ca3787ee7efacb5bb0c6c7a2",
      "parents": [
        "0c93ea4064a209cdc36de8a9a3003d43d08f46f7",
        "fd8345f8dea93691b0ceba55146088d8c05415f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:39 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (97 commits)\n  USB: qcserial: add device id for HP devices\n  USB: isp1760: Add a delay before reading the SKIPMAP registers in isp1760-hcd.c\n  USB: allow malformed LANGID descriptors\n  USB: pxa27x_udc: typo fixes and code cleanups\n  USB: gadget: gadget zero uses new suspend/resume hooks\n  USB: gadget: composite device-level suspend/resume hooks\n  USB: r8a66597-hcd: suspend/resume support\n  USB: more u32 conversion after transfer_buffer_length and actual_length\n  USB: Fix cp2101 USB serial device driver termios functions for console use\n  USB: CP2101 New Device ID\n  USB: ipaq: handle 4 endpoint devices\n  USB: S3C: Move usb-control.h to platform include\n  USB: ohci-hcd: Add ARCH_S3C24XX to the ohci-s3c2410.c glue\n  USB: pedantic: spelling correction in comment for ch9.h\n  USB: host: fix sparse warning: Using plain integer as NULL pointer\n  USB: ohci-s3c2410: fix name of bus clock\n  USB: ohci-s3c2410: remove \u003cmach/hardware.h\u003e include\n  USB: serial: rename cp2101 driver to cp210x\n  USB: CP2101 Reduce Error Logging\n  USB: CP2101 Support AN205 baud rates\n  ...\n"
    },
    {
      "commit": "f028f3b2f987ebc61cef382ab7a5c449917b728e",
      "tree": "6006b562900361a0af3cc50f564466ffce29c2a2",
      "parents": [
        "68db1961bbf4e16c220ccec4a780e966bc1fece3"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Mar 24 12:33:41 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:19 2009 +0100"
      },
      "message": "loop: fix circular locking in loop_clr_fd()\n\nWith CONFIG_PROVE_LOCKING enabled\n\n$ losetup /dev/loop0 file\n$ losetup -o 32256 /dev/loop1 /dev/loop0\n\n$ losetup -d /dev/loop1\n$ losetup -d /dev/loop0\n\ntriggers a [ INFO: possible circular locking dependency detected ]\n\nI think this warning is a false positive.\n\nOpen/close on a loop device acquires bd_mutex of the device before\nacquiring lo_ctl_mutex of the same device. For ioctl(LOOP_CLR_FD) after\nacquiring lo_ctl_mutex, fput on the backing_file might acquire the bd_mutex of\na device, if backing file is a device and this is the last reference to the\nfile being dropped . But it is guaranteed that it is impossible to have a\ncircular list of backing devices.(say loop2-\u003eloop1-\u003eloop0-\u003eloop2 is not\npossible), which guarantees that this can never deadlock.\n\nSo this warning should be suppressed. It is very difficult to annotate lockdep\nnot to warn here in the correct way. A simple way to silence lockdep could be\nto mark the lo_ctl_mutex in ioctl to be a sub class, but this might mask some\nother real bugs.\n\n@@ -1164,7 +1164,7 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode,\n \tstruct loop_device *lo \u003d bdev-\u003ebd_disk-\u003eprivate_data;\n \tint err;\n\n-\tmutex_lock(\u0026lo-\u003elo_ctl_mutex);\n+\tmutex_lock_nested(\u0026lo-\u003elo_ctl_mutex, 1);\n \tswitch (cmd) {\n \tcase LOOP_SET_FD:\n \t\terr \u003d loop_set_fd(lo, mode, bdev, arg);\n\nOr actually marking the bd_mutex after lo_ctl_mutex as a sub class could be\na better solution.\n\nLuckily it is easy to avoid calling fput on backing file with lo_ctl_mutex\nheld, so no lockdep annotation is required.\n\nIf you do not like the special handling of the lo_ctl_mutex just for the\nLOOP_CLR_FD ioctl in lo_ioctl(), the mutex handling could be moved inside\neach of the individual ioctl handlers and I could send you another patch.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "71b3e0c1ad90f28e34c105069175cbd4edb43dfa",
      "tree": "af7f1dd890d10acc33e36a923d2604ff26dfb071",
      "parents": [
        "49b420a13ff95b449947181190b08367348e3e1b"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Sat Jan 31 22:47:44 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "platform: make better use of to_platform_{device,driver}() macros\n\nThis helps the code look more consistent and cleaner.\n\nSigned-off-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e6e244b6cb1f70e7109381626293cd40a8334ed3",
      "tree": "f3d1d9a23b603f9a4108799fb0a4fe21969dd695",
      "parents": [
        "e4abe6658aa17a5d7e7321dfda807d287255511b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Feb 12 14:47:44 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:20:34 2009 -0700"
      },
      "message": "usb-storage: prepare for subdriver separation\n\nThis patch (as1206) is the first step in converting usb-storage\u0027s\nsubdrivers into separate modules.  It makes the following large-scale\nchanges:\n\n\tRemove a bunch of unnecessary #ifdef\u0027s from usb_usual.h.\n\tNot truly necessary, but it does clean things up.\n\n\tMove the USB device-ID table (which is duplicated between\n\tlibusual and usb-storage) into its own source file,\n\tusual-tables.c, and arrange for this to be linked with\n\teither libusual or usb-storage according to whether\n\tUSB_LIBUSUAL is configured.\n\n\tAdd to usual-tables.c a new usb_usual_ignore_device()\n\tfunction to detect whether a particular device needs to be\n\tmanaged by a subdriver and not by the standard handlers\n\tin usb-storage.\n\n\tExport a whole bunch of functions in usb-storage, renaming\n\tsome of them because their names don\u0027t already begin with\n\t\"usb_stor_\".  These functions will be needed by the new\n\tsubdriver modules.\n\n\tSplit usb-storage\u0027s probe routine into two functions.\n\tThe subdrivers will call the probe1 routine, then fill in\n\ttheir transport and protocol settings, and then call the\n\tprobe2 routine.\n\n\tTake the default cases and error checking out of\n\tget_transport() and get_protocol(), which run during\n\tprobe1, and instead put a check for invalid transport\n\tor protocol values into the probe2 function.\n\n\tAdd a new probe routine to be used for standard devices,\n\ti.e., those that don\u0027t need a subdriver.  This new routine\n\tchecks whether the device should be ignored (because it\n\tshould be handled by ub or by a subdriver), and if not,\n\tcalls the probe1 and probe2 functions.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "db5e6df172309c382982790aafa8cd87dc0b6292",
      "tree": "9f182622af951d2eee77ecc04c992f1c1c71c810",
      "parents": [
        "4d6914b72966862f37de634299a80ca2a4b1829f"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 29 11:19:10 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:20:27 2009 -0700"
      },
      "message": "USB: ub: use USB API functions rather than constants\n\nThis set of patches introduces calls to the following set of functions:\n\nusb_endpoint_dir_in(epd)\nusb_endpoint_dir_out(epd)\nusb_endpoint_is_bulk_in(epd)\nusb_endpoint_is_bulk_out(epd)\nusb_endpoint_is_int_in(epd)\nusb_endpoint_is_int_out(epd)\nusb_endpoint_num(epd)\nusb_endpoint_type(epd)\nusb_endpoint_xfer_bulk(epd)\nusb_endpoint_xfer_control(epd)\nusb_endpoint_xfer_int(epd)\nusb_endpoint_xfer_isoc(epd)\n\nIn some cases, introducing one of these functions is not possible, and it\njust replaces an explicit integer value by one of the following constants:\n\nUSB_ENDPOINT_XFER_BULK\nUSB_ENDPOINT_XFER_CONTROL\nUSB_ENDPOINT_XFER_INT\nUSB_ENDPOINT_XFER_ISOC\n\nAn extract of the semantic patch that makes these changes is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r1@ struct usb_endpoint_descriptor *epd; @@\n\n- ((epd-\u003ebmAttributes \u0026 \\(USB_ENDPOINT_XFERTYPE_MASK\\|3\\)) \u003d\u003d\n- \\(USB_ENDPOINT_XFER_CONTROL\\|0\\))\n+ usb_endpoint_xfer_control(epd)\n\n@r5@ struct usb_endpoint_descriptor *epd; @@\n\n- ((epd-\u003ebEndpointAddress \u0026 \\(USB_ENDPOINT_DIR_MASK\\|0x80\\)) \u003d\u003d\n-  \\(USB_DIR_IN\\|0x80\\))\n+ usb_endpoint_dir_in(epd)\n\n@inc@\n@@\n\n#include \u003clinux/usb.h\u003e\n\n@depends on !inc \u0026\u0026 (r1||r5)@\n@@\n\n+ #include \u003clinux/usb.h\u003e\n  #include \u003clinux/usb/...\u003e\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "68db1961bbf4e16c220ccec4a780e966bc1fece3",
      "tree": "8101ee12fb24abd2e794ecadfedbc0e0c6859891",
      "parents": [
        "05378940caf979a8655c18b18a17213dcfa52412"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Mar 24 12:29:54 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:18 2009 +0100"
      },
      "message": "loop: support barrier writes\n\nHonour barrier requests in the loop back block device driver.\nIn case of barrier bios, flush the backing file once before processing the\nbarrier and once after to guarantee ordering. In case of filesystems that\ndoes not support fsync, barrier bios would be failed with -EOPNOTSUPP.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0061d38642244892e17156f005bd7055fe744644",
      "tree": "73630b32367bde8f13cf6570e42cd6721c28afc6",
      "parents": [
        "d399228646e26db315d6233bed65ec9d08c57f57"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 16 10:06:05 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:17 2009 +0100"
      },
      "message": "cpqarray: enable bus mastering\n\nWe\u0027ve been carrying this patch for the last 3 years in Fedora,\nlong past time we got it upstream...\n\nCall pci_set_master to enable bus-mastering if the BIOS hasn\u0027t\ndone it already.\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10cbda97e73c7d537d7174eadb2d098484f8f1da",
      "tree": "9e67224345a082533d273f4926ce3281d6fe8bf1",
      "parents": [
        "a7fcd37cdcb47806fb8a9070f006ee34061defa6"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 27 20:14:20 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:16 2009 +0100"
      },
      "message": "cciss: add BUILD_BUG_ON() for catching bad CommandList_struct alignment\n\nThe hardware requires 64-bit alignment of commands, so add a build bug\ncheck for that. The recent commit 8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f\ndidn\u0027t change the size of the command, but other additions/changes may and\nthus break badly at runtime.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c71327ad9f925a4ddbf24db80ce66165104c4ed0",
      "tree": "a1560ddfb827d580843d2a32ba19fb0fc85490d8",
      "parents": [
        "f507cd22035fdadd5dbb476dd05e9e7ee21c3b84",
        "a4bd6a93c3f14691c8a29e53eb04dc734b27f0db"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 18 13:16:30 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 18 13:16:30 2009 +1100"
      },
      "message": "Merge commit \u0027gcl/merge\u0027 into merge\n"
    },
    {
      "commit": "bfbd442f69ec9c58590ffc6e93ac8d6809caa48b",
      "tree": "a59b1df605fe80e923d11935a13894cc09ca5e33",
      "parents": [
        "059ea3318c8ede71851a52b4359fbf1ab0cec301"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Mon Mar 09 13:42:24 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:52 2009 +0100"
      },
      "message": "Fix Xilinx SystemACE driver to handle empty CF slot\n\nThe SystemACE driver does not handle an empty CF slot gracefully. An\nempty CF slot ends up hanging the system. This patch adds a check for\nthe CF state and stops trying to process requests if the slot is empty.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f507cd22035fdadd5dbb476dd05e9e7ee21c3b84",
      "tree": "6d152e75c9ae1ba59349c969ae4b96b1e9f61304",
      "parents": [
        "9ead64974b05501bbac0d63a47c99fa786d064ba"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Fri Mar 06 02:54:09 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Mar 13 16:07:19 2009 +1100"
      },
      "message": "ps3/block: Replace mtd/ps3vram by block/ps3vram\n\nConvert the PS3 Video RAM Storage Driver from an MTD driver to a plain block\ndevice driver.\n\nThe ps3vram driver exposes unused video RAM on the PS3 as a block device\nsuitable for storage or swap.  Fast data transfer is achieved using a local\ncache in system RAM and DMA transfers via the GPU.\n\nThe new driver is ca. 50% faster for reading, and ca. 10% for writing.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7546dd97d27306d939c13e03318aae695badaa88",
      "tree": "ced310466fd679ceae4e676ae8c31fd78b7bd72f",
      "parents": [
        "3f612132c7164d5cc9ed677a2fdf8950222d2170"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 09 08:18:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 10 05:22:43 2009 -0700"
      },
      "message": "net: convert usage of packet_type to read_mostly\n\nProtocols that use packet_type can be __read_mostly section for better\nlocality. Elminate any unnecessary initializations of NULL.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df0b4a5080ca668636831b641a6356500fb5c637",
      "tree": "aaab82b392b4e1fdc672ab55efb017c91fdc6616",
      "parents": [
        "39a3478c1c0122640b1a0ead0d7cccd0804b1750",
        "c0350024723b4a69e38655816484d934aca8eb30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:15:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:15:40 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)\n  p54: fix race condition in memory management\n  cfg80211: test before subtraction on unsigned\n  iwlwifi: fix error flow in iwl*_pci_probe\n  rt2x00 : more devices to rt73usb.c\n  rt2x00 : more devices to rt2500usb.c\n  bonding: Fix device passed into -\u003endo_neigh_setup().\n  vlan: Fix vlan-in-vlan crashes.\n  net: Fix missing dev-\u003eneigh_setup in register_netdevice().\n  tmspci: fix request_irq race\n  pkt_sched: act_police: Fix a rate estimator test.\n  tg3: Fix 5906 link problems\n  SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails\n  IPv6: add \"disable\" module parameter support to ipv6.ko\n  sungem: another error printed one too early\n  aoe: error printed 1 too early\n  net pcmcia: worklimit reaches -1\n  net: more timeouts that reach -1\n  net: fix tokenring license\n  dm9601: new vendor/product IDs\n  netlink: invert error code in netlink_set_err()\n  ...\n"
    },
    {
      "commit": "a3941ec101a5ec54c1e929730afeb196441a171e",
      "tree": "f714362623fb68f2e8e462be854f0feff88b63f1",
      "parents": [
        "5e18cfd04feca78cc08a6b8b71a60a610de81eaa"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Mar 05 08:03:53 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "loop: don\u0027t increment p-\u003eoffset with (size_t) -EINVAL\n\nUpon a \u0027transfer error block\u0027 size is set to -EINVAL, but this becomes positive\nsince size is unsigned: p-\u003eoffset still gets incremented.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5e18cfd04feca78cc08a6b8b71a60a610de81eaa",
      "tree": "a63e4cc6cbdd18528e8f15152685b9861d320f16",
      "parents": [
        "a1a15ac5f9aeee521c048a88fc1aec848e623de7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 27 08:10:26 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "cciss: remove 30 second initial timeout on controller reset\n\nCommit 5e4c91c84b194b26cf592779e451f4b5be777cba forgot to remove the\ninitial sleep, get rid of it.\n\nThanks to Randy Dunlap \u003crandy.dunlap@oracle.com\u003e for spotting this error.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a1a15ac5f9aeee521c048a88fc1aec848e623de7",
      "tree": "964c1fe343bbc8edc24003df15dd475f1255e7e5",
      "parents": [
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "Kris Shannon",
        "email": "kris@shannon.id.au",
        "time": "Mon Mar 02 19:47:37 2009 +1100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "Fix kernel NULL pointer dereference in xen-blkfront\n\nWhen booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a\n\"Unable to handle kernel NULL pointer dereference\" in xenwatch.\n\nFrom the backtrace it looks like backend_changed is calling bdget_disk\nwith a NULL pointer.  Checking for NULL and returning ENODEV instead\nallows the kernel to boot.\n"
    },
    {
      "commit": "948731115774c2e5ff7409360f35389459502211",
      "tree": "7a6c8901195861939ac7f9bde508d62f7403bb0d",
      "parents": [
        "b9bdcd9bd78d253dcc8e13c29f0acd67e080e7c1"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Mar 04 00:07:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 00:11:52 2009 -0800"
      },
      "message": "aoe: error printed 1 too early\n\nwith while (i-- \u003e 0); i reaches -1 after the loop, so the test below is printed\none too early: 0 still means success.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e973e64ac6dc504e6447d52193d4fff1a670156",
      "tree": "518cb0f34f9229f7faa81754733ce3926b84625c",
      "parents": [
        "1e42807918d17e8c93bf14fbb74be84b141334c1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 24 08:10:09 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "xen/blkfront: use blk_rq_map_sg to generate ring entries\n\nOn occasion, the request will apparently have more segments than we\nfit into the ring. Jens says:\n\n\u003e The second problem is that the block layer then appears to create one\n\u003e too many segments, but from the dump it has rq-\u003enr_phys_segments \u003d\u003d\n\u003e BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to\n\u003e xen-blkfront not handling the merging on its own. It should check that\n\u003e the new page doesn\u0027t form part of the previous page. The\n\u003e rq_for_each_segment() iterates all single bits in the request, not dma\n\u003e segments. The \"easiest\" way to do this is to call blk_rq_map_sg() and\n\u003e then iterate the mapped sg list. That will give you what you are\n\u003e looking for.\n\n\u003e Here\u0027s a test patch, compiles but otherwise untested. I spent more\n\u003e time figuring out how to enable XEN than to code it up, so YMMV!\n\u003e Probably the sg list wants to be put inside the ring and only\n\u003e initialized on allocation, then you can get rid of the sg on stack and\n\u003e sg_init_table() loop call in the function. I\u0027ll leave that, and the\n\u003e testing, to you.\n\n[Moved sg array into info structure, and initialize once. -J]\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "5e4c91c84b194b26cf592779e451f4b5be777cba",
      "tree": "334b9e2725eba9aebc18fefe7c52eb1523569245",
      "parents": [
        "9e8c0bccdc944bd09361672d47660810c027bcaa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 23 08:53:35 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "cciss: shorten 30s timeout on controller reset\n\nIf reset_devices is set for kexec, then cciss will delay 30 seconds\nsince the old 5i controller _may_ need that long to recover. Replace\nthe long sleep with incremental sleep and tests to reduce the 30 seconds\nto worst case for 5i, so that other controllers will proceed quickly.\n\nReviewed-by: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3d92e8f3ae9ba21cac30370eb254ed9dc20df043",
      "tree": "a0d7ebe8ed8d0aed414b235b7e7055d94f0e7459",
      "parents": [
        "adfafefd104d840ee4461965f22624d77532675b"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Feb 22 09:38:47 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 09:23:02 2009 -0800"
      },
      "message": "m68k: atari - Rename \"mfp\" to \"st_mfp\"\n\nhttp://kisskb.ellerman.id.au/kisskb/buildresult/72115/:\n| net/mac80211/ieee80211_i.h:327: error: syntax error before \u0027volatile\u0027\n| net/mac80211/ieee80211_i.h:350: error: syntax error before \u0027}\u0027 token\n| net/mac80211/ieee80211_i.h:455: error: field \u0027sta\u0027 has incomplete type\n| distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed\n\nThis is caused by\n\n| # define mfp ((*(volatile struct MFP*)MFP_BAS))\n\nin arch/m68k/include/asm/atarihw.h, which conflicts with the new \"mfp\" enum in\nnet/mac80211/ieee80211_i.h.\n\nRename \"mfp\" to \"st_mfp\", as it\u0027s a way too generic name for a global #define.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "5a74db06cc8d36a325913aa4968ae169f997a466",
      "tree": "68eb369ba49b4c764d4900ae41b5115c615a8a83",
      "parents": [
        "ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Wed Feb 18 14:48:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "floppy: request and release only the ports we actually use\n\nThe floppy driver requests an I/O port it doesn\u0027t need, and sometimes this\ncauses a conflict with a motherboard device reported by PNPBIOS.\n\nThis patch makes the floppy driver request and release only the ports it\nactually uses.  It also factors out the request/release stuff and the\nio-ports list so they\u0027re all in one place now.\n\nThe current floppy driver uses only these ports:\n\n    0x3f2 (FD_DOR)\n    0x3f4 (FD_STATUS)\n    0x3f5 (FD_DATA)\n    0x3f7 (FD_DCR/FD_DIR)\n\nbut it requests 0x3f2-0x3f5 and 0x3f7, which includes the unused port\n0x3f3.\n\nSome BIOSes report 0x3f3 as a motherboard resource.  The PNP system driver\nreserves that, which causes a conflict when the floppy driver requests\n0x3f2-0x3f5 later.\n\nPhilippe reported that this conflict broke the floppy driver between\n2.6.11 and 2.6.22.  His PNPBIOS reports these devices:\n\n    $ cat 00:07/id 00:07/resources\t# motherboard device\n    PNP0c02\n    state \u003d active\n    io 0x80-0x80\n    io 0x10-0x1f\n    io 0x22-0x3f\n    io 0x44-0x5f\n    io 0x90-0x9f\n    io 0xa2-0xbf\n    io 0x3f0-0x3f1\n    io 0x3f3-0x3f3\n\n    $ cat 00:03/id 00:03/resources\t# floppy device\n    PNP0700\n    state \u003d active\n    io 0x3f4-0x3f5\n    io 0x3f2-0x3f2\n\nReference:\n    http://lkml.org/lkml/2009/1/31/162\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nReported-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nTested-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Adam M Belay \u003cabelay@mit.edu\u003e\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6d6c5175809934e04a606d9193ef04924a7a7d9",
      "tree": "49c90d21c05c657e51d8da3eff1b10b9c1f3da12",
      "parents": [
        "c296861291669f305deef19b78042330d7135017"
      ],
      "author": {
        "name": "Ed Cashin",
        "email": "ecashin@coraid.com",
        "time": "Wed Feb 18 14:48:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "aoe: ignore vendor extension AoE responses\n\nThe Welland ME-747K-SI AoE target generates unsolicited AoE responses that\nare marked as vendor extensions.  Instead of ignoring these packets, the\naoe driver was generating kernel messages for each unrecognized response\nreceived.  This patch corrects the behavior.\n\nSigned-off-by: Ed Cashin \u003cecashin@coraid.com\u003e\nReported-by: \u003ckaraluh@karaluh.pl\u003e\nTested-by: \u003ckaraluh@karaluh.pl\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Alex Buell \u003calex.buell@munted.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": "82eb03cfd862a65363fa2826de0dbd5474cfe5e2",
      "tree": "e92ab2b93e73d01395cbf88648a8e7ebc841a17b",
      "parents": [
        "c8cbec6bdf6329279fd14696020f6b59d1d3124d"
      ],
      "author": {
        "name": "Chip Coldwell",
        "email": "coldwell@redhat.com",
        "time": "Mon Feb 16 13:11:56 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "cciss: PCI power management reset for kexec\n\nThe kexec kernel resets the CCISS hardware in three steps:\n\n1. Use PCI power management states to reset the controller in the\n   kexec kernel.\n\n2. Clear the MSI/MSI-X bits in PCI configuration space so that MSI\n   initialization in the kexec kernel doesn\u0027t fail.\n\n3. Use the CCISS \"No-op\" message to determine when the controller\n   firmware has recovered from the PCI PM reset.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c8cbec6bdf6329279fd14696020f6b59d1d3124d",
      "tree": "bdaccc9c80eefefe7e6a543f3a9b5b2a6dc7c8a8",
      "parents": [
        "a60e78e57a17d55bbd5a96da16fe9649d364b987"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Feb 16 13:11:55 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "paride/pg.c: xs(): \u0026\u0026/|| confusion\n\n\u0026\u0026/|| confusion\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4d48a542b42747c36a5937447d9c3de7c897ea50",
      "tree": "2548058e60af5a76deb974ddc320d06accef5ff5",
      "parents": [
        "9480c53e9b2aa13a06283ffb96bb8f1873ac4e9a"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Wed Feb 11 13:04:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:37 2009 -0800"
      },
      "message": "nbd: fix I/O hang on disconnected nbds\n\nFix a problem that causes I/O to a disconnected (or partially initialized)\nnbd device to hang indefinitely.  To reproduce:\n\n# ioctl NBD_SET_SIZE_BLOCKS /dev/nbd23 514048\n# dd if\u003d/dev/nbd23 of\u003d/dev/null bs\u003d4096 count\u003d1\n\n...hangs...\n\nThis can also occur when an nbd device loses its nbd-client/server\nconnection.  Although we clear the queue of any outstanding I/Os after the\nclient/server connection fails, any additional I/Os that get queued later\nwill hang.\n\nThis bug may also be the problem reported in this bug report:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12277\n\nTesting would need to be performed to determine if the two issues are the\nsame.\n\nThis problem was introduced by the new request handling thread code (\"NBD:\nallow nbd to be used locally\", 3/2008), which entered into mainline around\n2.6.25.\n\nThe fix, which is fairly simple, is to restore the check for lo-\u003esock\nbeing NULL in do_nbd_request.  This causes I/O to an uninitialized nbd to\nimmediately fail with an I/O error, as it did prior to the introduction of\nthis bug.\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nReported-by: Jon Nelson \u003cjnelson-kernel-bugzilla@jamponi.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e377c6e24d1b465ebd18fe49d0dc06932ced9bb0",
      "tree": "6f6ff2d92c5e088291523c0092c12ce5e8f9f589",
      "parents": [
        "5c949070c7a591d1001a5d8444731dfa4223b094"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Jan 13 20:04:48 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Jan 16 16:15:13 2009 +1100"
      },
      "message": "powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/block\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c91192d66d6cea7878b8542c9d9f1873971aba92",
      "tree": "954adf09a2d6f4028aa8c3a842aa07235e3d4be5",
      "parents": [
        "1bcbf31337391a2f54ef6c1e8871c2de5944a7dc"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Jan 15 13:51:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:38 2009 -0800"
      },
      "message": "nbd: do not allow two clients at the same time\n\nTwo nbd-clients at same time are bad idea, and cause WARN_ON from nbd in\n2.6.28-rc7 from sysfs_add_one.  This simply prevents that from happening.\n\nTo reproduce:\n\n cat /dev/zero | head -c 10000000 \u003e /tmp/delme.fstest.fs\n nbd-server 9100 -l /anyone.can.connect \u003e /tmp/delme.fstest.fs \u0026\n sleep 1\n nbd-client localhost 9100 /dev/nd0 \u0026\n nbd-client localhost 9100 /dev/nd0 \u0026\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd1f7936ab5138d7e5e4f61bb4371e2994b2b2c5",
      "tree": "09e5424736112005c309fcd5cb572111f265197e",
      "parents": [
        "30aae739a9eb6db31ad7b08dac44bd302f41c709",
        "ff82c587a9a4cb8796e7e04377155deba15ae18b"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 13 13:59:11 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jan 13 13:59:11 2009 +1100"
      },
      "message": "Merge commit \u0027gcl/gcl-next\u0027 into next\n"
    },
    {
      "commit": "6d0be946e150ac17da7381b27fd40603ca40b58f",
      "tree": "4795a77c5f43f44441aa7692e25a7ced6e73e0c1",
      "parents": [
        "dc8ee69c760317be0bb4eac2bd2fd81eb663627a"
      ],
      "author": {
        "name": "Andreas Bombe",
        "email": "aeb@debian.org",
        "time": "Wed Dec 10 02:02:19 2008 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Jan 12 20:56:33 2009 +0100"
      },
      "message": "m68k: amiflop - Get rid of sleep_on calls\n\nApart from sleep_on() calls that could be easily converted to\nwait_event() and completion calls amiflop also used a flag in ms_delay()\nand ms_isr() as a custom mutex for ms_delay() without a need for\nexplicit unlocking.  I converted that to a standard mutex.\n\nThe replacement for the unconditional sleep_on() in fd_motor_on() is a\ncomplete_all() together with a INIT_COMPLETION() before the mod_timer()\ncall.  It appears to me that fd_motor_on() might be called concurrently\nand fd_select() does not guarantee mutual exclusivity in the case the\nsame drive gets selected again.\n\nSigned-off-by: Andreas Bombe \u003caeb@debian.org\u003e\nAcked-by: Jörg Dorchain \u003cjoerg@dorchain.net\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "f5020384e4fa8ab9397aa6fa176e61e9bf7947f7",
      "tree": "e8891828139619de979cb79954bed2ca5a8af5ec",
      "parents": [
        "ddd527d56a0e635abdc7ffeb688cdde7593ad2d3"
      ],
      "author": {
        "name": "Yuri Tikhonov",
        "email": "yur@emcraft.com",
        "time": "Fri Jan 09 15:49:06 2009 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jan 09 15:49:06 2009 -0700"
      },
      "message": "powerpc/xsysace: add compatible string for non-ipcore instance\n\nAdd \"xlnx,sysace\" compatible string to the of_platform binding\ntable.  Platforms which have the SysACE chip on board (e.g.\nKatmai) instead of via a Xilinx generated IP core will use\nthis value in their device tree.\n\nSigned-off-by: Yuri Tikhonov \u003cyur@emcraft.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9e42d0cf5020aaf217433cad1a224745241d212a",
      "tree": "8d64537c600024a4220d1309873ac3467726c3b0",
      "parents": [
        "97c440ba41d4e7cddb8e14c7c7ec49dad2560709",
        "18b8e08e290e9df588f51f5a7df50555f5a25664"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:23:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:23:53 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Work around branch tracer warning.\n  sparc64: Fix unsigned long long warnings in drivers.\n  sparc64: Use unsigned long long for u64.\n  sparc: refactor code in fault_32.c\n  sparc64: refactor code in init_64.c\n  sparc64: refactor code in viohs.c\n  sparc: make proces_ver_nack a bit more readable\n"
    },
    {
      "commit": "011b15df465745474e3ec85482633685933ed5a7",
      "tree": "97df5cb516672f0a6fae5b993840beb667c76bd0",
      "parents": [
        "857cc4dfb6420ec0a67b3cda559aaa7c429ddce7"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Nov 04 11:29:27 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 09:59:52 2009 -0800"
      },
      "message": "USB: change interface to usb_lock_device_for_reset()\n\nThis patch (as1161) changes the interface to\nusb_lock_device_for_reset().  The existing interface is apparently not\nvery clear, judging from the fact that several of its callers don\u0027t\nuse it correctly.  The new interface always returns 0 for success and\nit always requires the caller to unlock the device afterward.\n\nThe new routine will not return immediately if it is called while the\ndriver\u0027s probe method is running.  Instead it will wait until the\nprobe is over and the device has been unlocked.  This shouldn\u0027t cause\nany problems; I don\u0027t know of any cases where drivers call\nusb_lock_device_for_reset() during probe.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f4528d6e91cffde49894f5252e6657d420d3d74",
      "tree": "585447e1c2ab4f7fac35471672711734275cdbf4",
      "parents": [
        "9018113649348c689da107166c05d436cd52e7bf"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Jan 06 13:20:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 13:20:38 2009 -0800"
      },
      "message": "sparc64: Fix unsigned long long warnings in drivers.\n\nFix warnings caused by the unsigned long long usage in sparc\nspecific drivers.\n\nThe drivers were considered sparc specific more or less from the\nfilename alone.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab70537c32a3245325b48774664da588904e47f2",
      "tree": "fdb4447e520bd34dd8696fdd3b976075414d8555",
      "parents": [
        "14a3c4ab0e58d143c7928c9eb2f2610205e13bf2",
        "bda53cd510b6777ced652ba279020bb7b414b744"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:37:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:37:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: struct device - replace bus_id with dev_name()\n  lguest: move the initial guest page table creation code to the host\n  kvm-s390: implement config_changed for virtio on s390\n  virtio_console: support console resizing\n  virtio: add PCI device release() function\n  virtio_blk: fix type warning\n  virtio: block: dynamic maximum segments\n  virtio: set max_segment_size and max_sectors to infinite.\n  virtio: avoid implicit use of Linux page size in balloon interface\n  virtio: hand virtio ring alignment as argument to vring_new_virtqueue\n  virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize\n  virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize\n  virtio: Don\u0027t use PAGE_SIZE for vring alignment in virtio_pci.\n  virtio: rename \u0027pagesize\u0027 arg to vring_init/vring_size\n  virtio: Don\u0027t use PAGE_SIZE in virtio_pci.c\n  virtio: struct device - replace bus_id with dev_name(), dev_set_name()\n  virtio-pci queue allocation not page-aligned\n"
    },
    {
      "commit": "b194aee95622f649311f8e53418a17e210ff6827",
      "tree": "3b63716fb40b3839a88ecb17fda61f09d2f6b94a",
      "parents": [
        "0864b79a153342c1dfbebb12b2d099fec76c5e18"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Nov 26 13:15:50 2008 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:06 2008 +1030"
      },
      "message": "virtio_blk: fix type warning\n\nFix parameter type warning:\n\nlinux-next-20081126/drivers/block/virtio_blk.c:307: warning: large integer implicitly truncated to unsigned type\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0864b79a153342c1dfbebb12b2d099fec76c5e18",
      "tree": "8e6fa6ada6701ceeadbee5f96c78cdd59048688d",
      "parents": [
        "4b7f7e2049956f6e946ad56c1ee093e7bab74da9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:05 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:05 2008 +1030"
      },
      "message": "virtio: block: dynamic maximum segments\n\nEnhance the driver to handle whatever maximum segment number the host\ntells us to handle.  Do to this, we need to allocate the scatterlist\ndynamically.\n\nWe set max_phys_segments and max_hw_segments to the same value (1 if\nthe host doesn\u0027t tell us, since that\u0027s safest and all known hosts do\ntell us).\n\nNote that kmalloc\u0027ing the structure for large sg_elems might be\nproblematic: the fix for this is sg_table, but that requires more\nwork.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4b7f7e2049956f6e946ad56c1ee093e7bab74da9",
      "tree": "23e307f720b8fd42465d5ec92da6b4205b6534a0",
      "parents": [
        "1b4aa2faeca1b9922033daf2475b6fc13b0ffea6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:04 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:05 2008 +1030"
      },
      "message": "virtio: set max_segment_size and max_sectors to infinite.\n\nSetting max_segment_size allows more than 64k per sg element, unless\nthe host specified a limit.  Setting max_sectors indicates that our\nmax_hw_segments is the only limit.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a0ea8622918019ed76c0b85f5d0247809ba05a7c",
      "tree": "868710199baf728686d2e20afd77ab7eeac9a664",
      "parents": [
        "62c1fe9d9f0a676fce89185b1513f0e5f473c72c"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Thu Dec 18 14:55:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:52 2008 +0100"
      },
      "message": "cciss: simplify parameters to deregister_disk function\n\nSimplify parameters to deregister_disk function.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8ae30b895805a6e2bb725b1d78b12daabd7eadfe",
      "tree": "3fbf7bd4bf0eb8928c7a2aaa5579c7e1205b1d2e",
      "parents": [
        "14f2793958bd7878db2dc0309ed4525d6b7f1b72"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Dec 12 14:50:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:52 2008 +0100"
      },
      "message": "loop: Do not call loop_unplug for not configured loop device.\n\nIn loop_unplug() function is expected that mapping is set\nand lo-\u003elo_backing_file is not NULL.\n\nUnfortunately loop_set_fd() set the request queue unplug function,\nbut loop_clr_fd() doesn\u0027t clear that.\n\nLoop device allows open of non-configured loop in some situations.\nIf the unplug on request queue is called, loop module oopses because\nof missing lo_backing_file.\n\nSimple reproducer:\n\tlosetup /dev/loop0 /xxx\n\tlosetup -d /dev/loop0\n\tdmsetup create x --table \"0 1 linear /dev/loop0 0\"\n\n EIP is at loop_unplug+0x1d/0x3b\n ...\n  Call Trace:\n   blk_unplug+0x57/0x5e\n   dm_table_unplug_all+0x34/0x77 [dm_mod]\n   destroy_inode+0x27/0x38\n   generic_delete_inode+0xd5/0xd9\n   iput+0x4b/0x4e\n   dm_resume+0xca/0xfe [dm_mod]\n   dev_suspend+0x143/0x165 [dm_mod]\n   dm_ctl_ioctl+0x18e/0x1cf [dm_mod]\n   dev_suspend+0x0/0x165 [dm_mod]\n   dm_ctl_ioctl+0x0/0x1cf [dm_mod]\n   vfs_ioctl+0x22/0x69\n   do_vfs_ioctl+0x39d/0x3c7\n   trace_hardirqs_on+0xb/0xd\n   remove_vma+0x50/0x56\n   do_munmap+0x21c/0x237\n   sys_ioctl+0x2c/0x45\n   sysenter_do_call+0x12/0x31\n\nSeveral reports here\nhttp://www.kerneloops.org/search.php?search\u003dloop_unplug\n\nFix it by simply clear unplug function together with\nremoving of backing file.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "14f2793958bd7878db2dc0309ed4525d6b7f1b72",
      "tree": "6113ae1d21963b96e10a5174d2c3365b1f0570fd",
      "parents": [
        "10e5b64415ae9a0ba81dd1f1036d14dfdae9308c"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Dec 12 14:48:27 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:52 2008 +0100"
      },
      "message": "loop: Flush possible running bios when loop device is released.\n\nWhen there are still queued bios and reference count\ndrops to zero, loop device must flush all queued bios.\n\nOtherwise it can lead to situation that caller\ncloses the device, but some bios are still running\nand endio() function call later OOpses when uses\nunallocated mempool.\n\nThis happens for example when running dm-crypt over loop,\nhere is typical oops backtrace:\n\n Oops: 0000 [#1] PREEMPT SMP\n EIP is at mempool_free+0x12/0x6b\n...\n crypt_dec_pending+0x50/0x54 [dm_crypt]\n crypt_endio+0x9f/0xa7 [dm_crypt]\n crypt_endio+0x0/0xa7 [dm_crypt]\n bio_endio+0x2b/0x2e\n loop_thread+0x37a/0x3b1\n do_lo_send_aops+0x0/0x165\n autoremove_wake_function+0x0/0x33\n loop_thread+0x0/0x3b1\n kthread+0x3b/0x61\n kthread+0x0/0x61\n kernel_thread_helper+0x7/0x10\n\n(But crash is reproducible with different dm targets\nrunning over loop device too.)\n\nPatch fixes it by flushing the bios in release call,\nreusing the flush mechanism for switching backing store.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31dcfab0ae6eb0340d456931df4d478e17efc65d",
      "tree": "e6d7ed8e6f313a3f0240144d83b3951868724886",
      "parents": [
        "b374d18a4bfce705e4a99ae9f501b53e86ecb283"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 31 10:06:37 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "nbd: tell the block layer that it is not a rotational device\n\nThen we can get rid of that manual elevator type fiddling.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b374d18a4bfce705e4a99ae9f501b53e86ecb283",
      "tree": "7e773464725a78e96a2017fa36cf9d4a4e29f73b",
      "parents": [
        "abf137dd7712132ee56d5b3143c2ff61a72a5faa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 31 10:05:07 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "block: get rid of elevator_t typedef\n\nJust use struct elevator_queue everywhere instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f",
      "tree": "e1998a856a09c805c588740c8c83d50dd9663c40",
      "parents": [
        "7c0990c7ee988aa193abbb7da3faeb9279146dbf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 20 09:46:09 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:43 2008 +0100"
      },
      "message": "cciss: switch to using hlist for command list management\n\nThis both cleans up the code and also helps detect the spurious case\nof a command attempted being removed from a queue it doesn\u0027t belong\nto.\n\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "66d352e1e410dcea22fecb9fa9ec09dd23a62e1c",
      "tree": "70e8ba82d30b0e7d60481e8091fecbfb222b3977",
      "parents": [
        "7d116b626b843c66b17630a62d696e044d049bfc"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Mon Oct 27 18:45:54 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:41 2008 +0100"
      },
      "message": "xen-blkfront: set queue paravirt flag\n\nXen\u0027s blkfront sets noop as the default I/O scheduler at initialization\ntime to avoid elevator overheads such as idling, but with the advent of\nbasic disk profiling capabilities this is not necessary anymore. We\nshould just tell the block layer that we are a paravirt front-end driver\nand the elevator will automatically make the necessary adjustments.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7d116b626b843c66b17630a62d696e044d049bfc",
      "tree": "845304296bf9eee1de2586e0da82ddfbc51ce447",
      "parents": [
        "88e740f1654bf28565edd528a060695c1f2b5ad7"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Mon Oct 27 18:45:15 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:41 2008 +0100"
      },
      "message": "virtio_blk: set queue paravirt flag\n\nAs a paravirt front-end driver, virtio_blk is not a rotational device so\nwe want do avoid idling in AS/CFQ. Tell the block layer about this.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "d8a0be6ab7ba1ffa43e7ea0dcdde3e8b68d4f762",
      "tree": "b0e66e1dddaea05d9bc0b85461ffd058229a672f",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Thu Dec 18 14:55:11 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 19 08:14:07 2008 +0100"
      },
      "message": "cciss: fix problem that deleting multiple logical drives could cause a panic\n\nFix problem that deleting multiple logical drives could cause a panic.\n\nIt fixes a panic which can be easily reproduced in the following way: Just\ncreate several \"arrays,\" each with multiple logical drives via hpacucli,\nthen delete the first array, and it will blow up in deregister_disk(), in\nthe call to get_host() when it tries to dig the hba pointer out of a NULL\nqueue pointer.\n\nThe problem has been present since my code to make rebuild_lun_table\nbehave better went in.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eb14f019597cd86c21a6c601d7e900f40030c2e7",
      "tree": "36fb2f36a1747f98988f87215db1eef3a71d45eb",
      "parents": [
        "9a4a84294b0d60b8c287131478f743ba2bc68949",
        "a3dd15444baa9c7522c8457ab564c41219dfb44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/e1000e/ich8lan.c\n"
    },
    {
      "commit": "cba767175becadc5c4016cceb7bfdd2c7fe722f4",
      "tree": "3e7fdc76e7abfa6237517bc0f3a8317cc623a508",
      "parents": [
        "cdcb30b5cca157ff73892900ac309d5ee4151c04"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Dec 06 04:38:11 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 10:03:32 2008 -0800"
      },
      "message": "pktcdvd: remove broken dev_t export of class devices\n\nThe pktcdvd created class devices only export some sysfs files,\nbut have no char dev_t registered in the driver.\n\nAt class device creation time they copy the dev_t value of the\nblock device to the char device, wich will register a new char\ndevice in the driver core and userspace, with a conflicting dev_t\nvalue.\n\nIn many cases the class devices dev_t just points to a random\nUSB device. This fixes the sysfs \"duplicate entry\" errors.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cbed8906fd1f3c6cc17cdf8aac1bfad2da7960c",
      "tree": "47c3761f6341054ea14523743fbbd11a8be9b6eb",
      "parents": [
        "fc9161e54d0dbf799beff9692ea1cc6237162b85"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 30 01:33:57 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:59 2008 -0500"
      },
      "message": "[PATCH] fix bogus argument of blkdev_put() in pktcdvd\n\nfinal close of -\u003ebdev should match the initial open, i.e.\nget FMODE_READ | FMODE_NDELAY; FMODE_READ|FMODE_WRITE has\nbeen a braino.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "03cfdb86ac66677dbe76accae3f22c374a15b814",
      "tree": "86c2f6cf5afbd85fdc183fcadab12bf142e9659c",
      "parents": [
        "4ec8f077e4dd51f713984669781e7b568b8c41e2",
        "ab598b6680f1e74c267d1547ee352f3e1e530f89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:44:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 30 16:44:18 2008 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  powerpc: Fix system calls on Cell entered with XER.SO\u003d1\n  powerpc/cell: Fix GDB watchpoints, again\n  powerpc/mpic: Don\u0027t reset affinity for secondary MPIC on boot\n  powerpc/cell/axon-msi: Retry on missing interrupt\n  powerpc: Fix boot freeze on machine with empty memory node\n  powerpc: Fix IRQ assignment for some PCIe devices\n  powerpc/spufs: Fix spinning in spufs_ps_fault on signal\n  powerpc/mpc832x_rdb: fix swapped ethernet ids\n  powerpc: Use generic PHY driver for Marvell 88E1111 PHY on GE Fanuc SBC610\n  powerpc/85xx: L2 cache size wrong in 8572DS dts\n  powerpc/virtex: Update defconfigs\n  powerpc/52xx: update defconfigs\n  xsysace: Fix driver to use resource_size_t instead of unsigned long\n  powerpc/virtex: fix various format/casting printk mismatches\n  powerpc/mpc5200: fix bestcomm Kconfig dependencies\n  powerpc/44x: Fix 460EX/460GT machine check handling\n  powerpc/40x: Limit allocable DRAM during early mapping\n"
    },
    {
      "commit": "411c41eea58bd3500cf897e2c27dd5330935a3a8",
      "tree": "c6987d1351581def73321b7c8d518ac75db876a2",
      "parents": [
        "9c8f92aed16dbd1924910f3305f5992a4f29fe2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "message": "aoe: remove private mac address format function\n\nAdd %pm to omit the colons when printing a mac address.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11bac8a026dd38380b52a914ec9bf65fb2ad13e2",
      "tree": "16ad0b9cb3e74383062ed664733494633bbd43a7",
      "parents": [
        "e871809cccc11aaa072afaf746f8fd946d2d9cac",
        "c8d698849e135780738c2cb08f07f06eda982a8c"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Nov 24 11:53:44 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Nov 24 11:53:44 2008 +1100"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge\n"
    },
    {
      "commit": "9f92f4719764acf1c9185a5958200887a43e3483",
      "tree": "02a182e243df9a81a65c49ec9fa556a10f82da86",
      "parents": [
        "06b0d4dc14a44dd9b57321c24f7eeb10b345abd8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Nov 19 15:36:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:50:00 2008 -0800"
      },
      "message": "cciss: fix DEBUG printk formats\n\nFix printk format warnings when CCISS_DEBUG is defined.\n\ndrivers/block/cciss.c:2856: warning: format \u0027%d\u0027 expects type \u0027int\u0027, but argument 2 has type \u0027long unsigned int\u0027\ndrivers/block/cciss.c:3205: warning: format \u0027%x\u0027 expects type \u0027unsigned int\u0027, but argument 2 has type \u0027long unsigned int\u0027\ndrivers/block/cciss.c:3236: warning: format \u0027%x\u0027 expects type \u0027unsigned int\u0027, but argument 2 has type \u0027__u64\u0027\ndrivers/block/cciss.c:3246: warning: format \u0027%x\u0027 expects type \u0027unsigned int\u0027, but argument 2 has type \u0027__u64\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68aee07f9bad2c830a898cf6d6bfc11ea24efc40",
      "tree": "b0d2e14a19c16ab3022ec94641828df71b560c06",
      "parents": [
        "561ec68e4de7947167937c49c451728e6b19e63b"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Nov 14 09:44:33 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "Release old elevator on change elevator\n\nWe should release old elevator when change to use a new one.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f3a5c547012a09f38f7c27b17a8e3150b69cd259",
      "tree": "4d1d47382a4a445fc7ef7431bcf5d06b7cca8539",
      "parents": [
        "e50a906e0200084f04f8f3b7c3a14b0442d1347f",
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 18 18:52:37 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 18 18:52:37 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/cifs/misc.c\n\nMerge to resolve above, per the patch below.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n\ndiff --cc fs/cifs/misc.c\nindex ec36410,addd1dc..0000000\n--- a/fs/cifs/misc.c\n+++ b/fs/cifs/misc.c\n@@@ -347,13 -338,13 +338,13 @@@ header_assemble(struct smb_hdr *buffer\n  \t\t/*  BB Add support for establishing new tCon and SMB Session  */\n  \t\t/*      with userid/password pairs found on the smb session   */\n  \t\t/*\tfor other target tcp/ip addresses \t\tBB    */\n -\t\t\t\tif (current-\u003efsuid !\u003d treeCon-\u003eses-\u003elinux_uid) {\n +\t\t\t\tif (current_fsuid() !\u003d treeCon-\u003eses-\u003elinux_uid) {\n  \t\t\t\t\tcFYI(1, (\"Multiuser mode and UID \"\n  \t\t\t\t\t\t \"did not match tcon uid\"));\n- \t\t\t\t\tread_lock(\u0026GlobalSMBSeslock);\n- \t\t\t\t\tlist_for_each(temp_item, \u0026GlobalSMBSessionList) {\n- \t\t\t\t\t\tses \u003d list_entry(temp_item, struct cifsSesInfo, cifsSessionList);\n+ \t\t\t\t\tread_lock(\u0026cifs_tcp_ses_lock);\n+ \t\t\t\t\tlist_for_each(temp_item, \u0026treeCon-\u003eses-\u003eserver-\u003esmb_ses_list) {\n+ \t\t\t\t\t\tses \u003d list_entry(temp_item, struct cifsSesInfo, smb_ses_list);\n -\t\t\t\t\t\tif (ses-\u003elinux_uid \u003d\u003d current-\u003efsuid) {\n +\t\t\t\t\t\tif (ses-\u003elinux_uid \u003d\u003d current_fsuid()) {\n  \t\t\t\t\t\t\tif (ses-\u003eserver \u003d\u003d treeCon-\u003eses-\u003eserver) {\n  \t\t\t\t\t\t\t\tcFYI(1, (\"found matching uid substitute right smb_uid\"));\n  \t\t\t\t\t\t\t\tbuffer-\u003eUid \u003d ses-\u003eSuid;\n"
    },
    {
      "commit": "fab349cceb25f92bac1400601c5ef8345a166958",
      "tree": "aba18d45b3620a210a939777857853c67a61d5c3",
      "parents": [
        "d091c2f58ba32029495a933b721e8e02fbd12caa",
        "31c00fc15ebd35c1647775dbfc167a15d46657fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 11:51:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 15 11:51:03 2008 -0800"
      },
      "message": "Merge branch \u0027doc-subdirs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs\n\n* \u0027doc-subdirs\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs:\n  Create/use more directory structure in the Documentation/ tree.\n"
    },
    {
      "commit": "31c00fc15ebd35c1647775dbfc167a15d46657fd",
      "tree": "6d8ff2a6607c94a791ccc56fd8eb625e4fdcc01a",
      "parents": [
        "3edac25f2e8ac8c2a84904c140e1aeb434e73e75"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Nov 13 21:33:24 2008 +0000"
      },
      "committer": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 14 17:28:53 2008 +0000"
      },
      "message": "Create/use more directory structure in the Documentation/ tree.\n\nCreate Documentation/blockdev/ sub-directory and populate it.\nPopulate the Documentation/serial/ sub-directory.\nMove MSI-HOWTO.txt to Documentation/PCI/.\nMove ioctl-number.txt to Documentation/ioctl/.\nUpdate all relevant 00-INDEX files.\nUpdate all relevant Kconfig files and source files.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "c14464bf796d5ead1e735225ead78c566d3344ae",
      "tree": "205907a4be277b69d50829390ef7eeb11403b540",
      "parents": [
        "a108096878aa6cb744b5280ca59395b6c0152d14"
      ],
      "author": {
        "name": "Yuri Tikhonov",
        "email": "yur@emcraft.com",
        "time": "Fri Nov 14 10:21:57 2008 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Nov 14 10:21:57 2008 -0700"
      },
      "message": "xsysace: Fix driver to use resource_size_t instead of unsigned long\n\nThis patch is a bug fix to the SystemACE driver to use resource_size_t\nfor physical address instead of unsigned long.  This makes the driver\nwork correctly on 32 bit systems with 64-bit resources (e.g. PowerPC 440).\n\nSigned-off-by: Yuri Tikhonov \u003cyur@emcraft.com\u003e\nSigned-off-by: Ilya Yanok \u003cyanok@emcraft.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "a108096878aa6cb744b5280ca59395b6c0152d14",
      "tree": "552083cab7d520088ff7681c4ad36b2ee3757c82",
      "parents": [
        "847cdf42d589882aca683b6fb65b2c7832e92231"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Nov 14 09:59:48 2008 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Nov 14 09:59:48 2008 -0700"
      },
      "message": "powerpc/virtex: fix various format/casting printk mismatches\n\nVarious printk format string in code used by the Xilinx Virtex platform\nare not 32-bit/64-bit safe.  Add correct casting to fix the bugs.\n\nReported-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b0fafa816ece0080771355de6158b4dfa8531a95",
      "tree": "c26b6a2acde2692ab5018752d04c91aca34962c1",
      "parents": [
        "350b4da71f8326b9319ada7b701f2bce2e1285b7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:41 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:41 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the block loopback driver\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: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d73b7aff28bc53c04e1f2e5ccaa5ea43089fb4a4",
      "tree": "05918d1868cff57a9ae2818b75ad39e47f4716d1",
      "parents": [
        "859ff4072027ea7741121b902c59763f090e00c2"
      ],
      "author": {
        "name": "Pete Zaitcev",
        "email": "zaitcev@redhat.com",
        "time": "Mon Nov 10 21:11:11 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 13 14:45:04 2008 -0800"
      },
      "message": "ub: stub pre_reset and post_reset to fix oops\n\nDue to recent changes to usb_reset_device, the following hang occurs:\n\nevents/0      D 0000000000000000     0     6      2\n ffff880037477cc0 0000000000000046 ffff880037477c50 ffffffff80237434\n ffffffff80574c80 00000001000a015c 0000000000000286 ffff8800374757d0\n ffff88002a31c860 ffff880037475a00 0000000036779140 ffff880037475a00\nCall Trace:\n [\u003cffffffff80237434\u003e] try_to_del_timer_sync+0x52/0x5b\n [\u003cffffffff8026f86c\u003e] dma_pool_free+0x1a7/0x1ec\n [\u003cffffffffa02a928a\u003e] ub_disconnect+0x8e/0x1ad [ub]\n [\u003cffffffff802407c9\u003e] autoremove_wake_function+0x0/0x2e\n [\u003cffffffff80378959\u003e] usb_unbind_interface+0x5c/0xb7\n [\u003cffffffff8036ab70\u003e] __device_release_driver+0x95/0xbd\n [\u003cffffffff8036ac70\u003e] device_release_driver+0x21/0x2d\n [\u003cffffffff803789f8\u003e] usb_driver_release_interface+0x44/0x83\n [\u003cffffffff80378ab9\u003e] usb_forced_unbind_intf+0x17/0x1d\n [\u003cffffffff80371ba4\u003e] usb_reset_device+0x7d/0x114\n [\u003cffffffffa02aaffd\u003e] ub_reset_task+0x0/0x293 [ub]\n [\u003cffffffffa02ab1c1\u003e] ub_reset_task+0x1c4/0x293 [ub]\n [\u003cffffffff8033dd1e\u003e] flush_to_ldisc+0x0/0x1cd\n [\u003cffffffffa02aaffd\u003e] ub_reset_task+0x0/0x293 [ub]\n [\u003cffffffff8023d302\u003e] run_workqueue+0x87/0x114\n [\u003cffffffff8023d467\u003e] worker_thread+0xd8/0xe7\n [\u003cffffffff802407c9\u003e] autoremove_wake_function+0x0/0x2e\n [\u003cffffffff8023d38f\u003e] worker_thread+0x0/0xe7\n [\u003cffffffff802404c1\u003e] kthread+0x47/0x73\n [\u003cffffffff8022c8dd\u003e] schedule_tail+0x27/0x60\n [\u003cffffffff8020c249\u003e] child_rip+0xa/0x11\n [\u003cffffffff8024047a\u003e] kthread+0x0/0x73\n [\u003cffffffff8020c23f\u003e] child_rip+0x0/0x11\n\nThis is because usb_reset_device now unbinds, and that calls disconnect,\nwhich in case of ub waits until the reset completes... which deadlocks.\nWorse, this deadlocks keventd and this takes whole box down.\n\nI\u0027m going to fix this properly later, but let\u0027s unbreak the driver\nquickly for non-composite devices at least.\n\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "22bece00dc1f28dd3374c55e464c9f02eb642876",
      "tree": "40d6865b9d7e1f563d6b9cc2318f5c90622ff765",
      "parents": [
        "404443081ce5e6f68b5f7eda16c959835ff200c0"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Nov 06 12:53:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:18 2008 -0800"
      },
      "message": "cciss: fix regression firmware not displayed in procfs\n\nThis regression was introduced by commit\n6ae5ce8e8d4de666f31286808d2285aa6a50fa40 (\"cciss: remove redundant code\").\n\nThis patch fixes a regression where the controller firmware version is not\ndisplayed in procfs.  The previous patch would be called anytime something\nchanged.  This will get called only once for each controller.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "404443081ce5e6f68b5f7eda16c959835ff200c0",
      "tree": "d59d665df58153c0542c7ce283d1cb54dd32f1cf",
      "parents": [
        "96b0317906690997c16c7efffbc4c0fafcd6f7f2"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Nov 06 12:53:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:17 2008 -0800"
      },
      "message": "cciss: fix sysfs broken symlink regression\n\nRegression introduced by commit 6ae5ce8e8d4de666f31286808d2285aa6a50fa40\n(\"cciss: remove redundant code\").\n\nThis patch fixes a broken symlink in sysfs that was introduced by the\nabove commit.  We broke it in 2.6.27-rc on or about 20080804.  Some\ninstallers are broken if this symlink does not exist and they may not\ndetect the logical drives configured on the controller.  It does not\nrequire being backported into 2.6.26.x or earlier kernels.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2197d18ded232ef6eef63cce57b6b21eddf1b7b6",
      "tree": "bebaa0e01ed4c2448d7a2ac5b6dbdddd70429572",
      "parents": [
        "77ca7286d10b798e4907af941f29672bf484db77"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Thu Nov 06 12:53:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:17 2008 -0800"
      },
      "message": "cpqarry: fix return value of cpqarray_init()\n\nAs reported by Dick Gevers on Compaq ProLiant:\n\nOct 13 18:06:51 dvgcpl kernel: Compaq SMART2 Driver (v 2.6.0)\nOct 13 18:06:51 dvgcpl kernel: sys_init_module: \u0027cpqarray\u0027-\u003einit\nsuspiciously returned 1, it should follow 0/-E convention\nOct 13 18:06:51 dvgcpl kernel: sys_init_module: loading module anyway...\nOct 13 18:06:51 dvgcpl kernel: Pid: 315, comm: modprobe Not tainted\n2.6.27-desktop-0.rc8.2mnb #1\nOct 13 18:06:51 dvgcpl kernel:  [\u003cc0380612\u003e] ? printk+0x18/0x1e\nOct 13 18:06:51 dvgcpl kernel:  [\u003cc0158f85\u003e] sys_init_module+0x155/0x1c0\nOct 13 18:06:51 dvgcpl kernel:  [\u003cc0103f06\u003e] syscall_call+0x7/0xb\nOct 13 18:06:51 dvgcpl kernel:  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nMake it return 0 on success and -ENODEV if no array was found.\n\nReported-by: Dick Gevers \u003cdvgevers@xs4all.nl\u003e\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "77ca7286d10b798e4907af941f29672bf484db77"
}
