)]}'
{
  "log": [
    {
      "commit": "2f9e825d3e0e2b407ae8f082de5c00afcf7378fb",
      "tree": "f8b3ee40674ce4acd5508a0a0bf52a30904caf6c",
      "parents": [
        "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
        "de75d60d5ea235e6e09f4962ab22541ce0fe176a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block: (149 commits)\n  block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n  xen-blkfront: fix missing out label\n  blkdev: fix blkdev_issue_zeroout return value\n  block: update request stacking methods to support discards\n  block: fix missing export of blk_types.h\n  writeback: fix bad _bh spinlock nesting\n  drbd: revert \"delay probes\", feature is being re-implemented differently\n  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n  drbd: Disable delay probes for the upcomming release\n  writeback: cleanup bdi_register\n  writeback: add new tracepoints\n  writeback: remove unnecessary init_timer call\n  writeback: optimize periodic bdi thread wakeups\n  writeback: prevent unnecessary bdi threads wakeups\n  writeback: move bdi threads exiting logic to the forker thread\n  writeback: restructure bdi forker loop a little\n  writeback: move last_active to bdi\n  writeback: do not remove bdi from bdi_list\n  writeback: simplify bdi code a little\n  writeback: do not lose wake-ups in bdi threads\n  ...\n\nFixed up pretty trivial conflicts in drivers/block/virtio_blk.c and\ndrivers/scsi/scsi_error.c as per Jens.\n"
    },
    {
      "commit": "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368",
      "tree": "9a633ad48c3b1ada0519ee7bade0602f940037f6",
      "parents": [
        "34484062445fe905bf02c72f87ddda21881acda3"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 08 10:18:46 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:00 2010 +0200"
      },
      "message": "block: push down BKL into .locked_ioctl\n\nAs a preparation for the removal of the big kernel\nlock in the block layer, this removes the BKL\nfrom the common ioctl handling code, moving it\ninto every single driver still using it.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a2531293dbb7608fa672ff28efe3ab4027917a2f",
      "tree": "017d5a38fa33838ebdca1a332db6887096885d2d",
      "parents": [
        "7a53cd16d4d9968d1962e378b14eec2d99aa43e0"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sun Jul 18 14:27:13 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 19 10:56:54 2010 +0200"
      },
      "message": "update email address\n\npavel@suse.cz no longer works, replace it with working address.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e",
      "tree": "f8ba5e263717d35cd444fcc65898d2ed352af1ae",
      "parents": [
        "7b021967c5e1463936042c8da72b550d3cabe9ac"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make block_device_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "9934c8c04561413609d2bc38c6b9f268cba774a4",
      "tree": "30dd8f7be54f9b2e03094de9cd03b6a9ee2909cd",
      "parents": [
        "2343046826a8ca426b07601d9593ee046c298b68"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:18 2009 +0200"
      },
      "message": "block: implement and enforce request peek/start/fetch\n\nTill now block layer allowed two separate modes of request execution.\nA request is always acquired from the request queue via\nelv_next_request().  After that, drivers are free to either dequeue it\nor process it without dequeueing.  Dequeue allows elv_next_request()\nto return the next request so that multiple requests can be in flight.\n\nExecuting requests without dequeueing has its merits mostly in\nallowing drivers for simpler devices which can\u0027t do sg to deal with\nsegments only without considering request boundary.  However, the\nbenefit this brings is dubious and declining while the cost of the API\nambiguity is increasing.  Segment based drivers are usually for very\nold or limited devices and as converting to dequeueing model isn\u0027t\ndifficult, it doesn\u0027t justify the API overhead it puts on block layer\nand its more modern users.\n\nPrevious patches converted all block low level drivers to dequeueing\nmodel.  This patch completes the API transition by...\n\n* renaming elv_next_request() to blk_peek_request()\n\n* renaming blkdev_dequeue_request() to blk_start_request()\n\n* adding blk_fetch_request() which is combination of peek and start\n\n* disallowing completion of queued (not started) requests\n\n* applying new API to all LLDs\n\nRenamings are for consistency and to break out of tree code so that\nit\u0027s apparent that out of tree drivers need updating.\n\n[ Impact: block request issue API cleanup, no functional change ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1011c1b9f2e45ce7c6e38888d2b83936aec38771",
      "tree": "63f1f8f604631f37df9917a941531de0148f8379",
      "parents": [
        "a2dec7b36364a5cc564c4d76cf16d2e7d33f5c05"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:45 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:55 2009 +0200"
      },
      "message": "block: blk_rq_[cur_]_{sectors|bytes}() usage cleanup\n\nWith the previous changes, the followings are now guaranteed for all\nrequests in any valid state.\n\n* blk_rq_sectors() \u003d\u003d blk_rq_bytes() \u003e\u003e 9\n* blk_rq_cur_sectors() \u003d\u003d blk_rq_cur_bytes() \u003e\u003e 9\n\nClean up accessor usages.  Notable changes are\n\n* nbd,i2o_block: end_all used instead of explicit byte count\n* scsi_lib: unnecessary conditional on request type removed\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "83096ebf1263b2c1ee5e653ba37d993d02e3eb7b",
      "tree": "2226b71a616ec1cb2d37511c6a09ba9507a1cd69",
      "parents": [
        "5b93629b4509c03ffa87a9316412fedf6f58cb37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:39 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: convert to pos and nr_sectors accessors\n\nWith recent cleanups, there is no place where low level driver\ndirectly manipulates request fields.  This means that the \u0027hard\u0027\nrequest fields always equal the !hard fields.  Convert all\nrq-\u003esectors, nr_sectors and current_nr_sectors references to\naccessors.\n\nWhile at it, drop superflous blk_rq_pos() \u003c 0 test in swim.c.\n\n[ Impact: use pos and nr_sectors accessors ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Dario Ballabio \u003cballabio_dario@emc.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "53d6979ab6747e758207e8ac861b96d0da0d3332",
      "tree": "f95147fe83e984a1311db3da47d8d12b9ecbbf01",
      "parents": [
        "f68adec3c7155a8bbf32a90cb4c4d0737df045d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:35 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "nbd: don\u0027t clear rq-\u003esector and nr_sectors unnecessarily\n\nThere\u0027s no reason to clear rq-\u003esector and nr_sectors after calling\nblk_rq_init().  They\u0027re guaranteed to be clear.  Drop unnecessary\nclearing.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\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": "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": "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": "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": "a8cdc308c0ca3809e37e2be62174906a45b92670",
      "tree": "e3c70ebf74d885c059cb32f4217216f44a4202d3",
      "parents": [
        "bb21488482bd36eae6b30b014d93619063773fd4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:33:33 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:53 2008 -0400"
      },
      "message": "[PATCH] switch nbd\n\nNB: nbd_ioctl() appears to be racy; BKL is held, but doesn\u0027t really\nhelp, AFAICS.  Left as-is for now, but it\u0027ll need fixing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d4430d62fa77208824a37fe6f85ab2831d274769",
      "tree": "5d4d0bca31e63eb208fbebe4f39c912b964c1e4d",
      "parents": [
        "badf8082c33d18b118d3a6f1b32d5ea6b97d3839"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:09:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:32 2008 -0400"
      },
      "message": "[PATCH] beginning of methods conversion\n\nTo keep the size of changesets sane we split the switch by drivers;\nto keep the damn thing bisectable we do the following:\n\t1) rename the affected methods, add ones with correct\nprototypes, make (few) callers handle both.  That\u0027s this changeset.\n\t2) for each driver convert to new methods.  *ALL* drivers\nare converted in this series.\n\t3) kill the old (renamed) methods.\n\nNote that it _is_ a flagday; all in-tree drivers are converted and by the\nend of this series no trace of old methods remain.  The only reason why\nwe do that this way is to keep the damn thing bisectable and allow per-driver\ndebugging if anything goes wrong.\n\nNew methods:\n\topen(bdev, mode)\n\trelease(disk, mode)\n\tioctl(bdev, mode, cmd, arg)\t\t/* Called without BKL */\n\tcompat_ioctl(bdev, mode, cmd, arg)\n\tlocked_ioctl(bdev, mode, cmd, arg)\t/* Called with BKL, legacy */\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "01e8ef11bc1a74e65678ed55795f59266d4add01",
      "tree": "293cbe5df96191ac10afb050bd4cce54ff2c01f9",
      "parents": [
        "bb26b963d8343bb1bde842fba0b6e00cad841f31"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.lkml@gmail.com",
        "time": "Sat Oct 18 20:28:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:42 2008 -0700"
      },
      "message": "x86: sysfs: kill owner field from attribute\n\nTejun\u0027s commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 made sysfs\nattribute-\u003eowner unnecessary.  But the field was left in the structure to\nease the merge.  It\u0027s been over a year since that change and it is now\ntime to start killing attribute-\u003eowner along with its users - one arch at\na time!\n\nThis patch is attempt #1 to get rid of attribute-\u003eowner only for\nCONFIG_X86_64 or CONFIG_X86_32 .  We will deal with other arches later on\nas and when possible - avr32 will be the next since that is something I\ncan test.  Compile (make allyesconfig / make allmodconfig / custom config)\nand boot tested.\n\nakpm: the idea is that we put the declaration of sttribute.owner inside\n`#ifndef CONFIG_X86\u0027.  But that proved to be too ambitious for now because\nnew usages kept on turning up in subsystem trees.\n\n[akpm: remove the ifdef for now]\nSigned-off-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd",
      "tree": "79d834094d655ec97cfc0a382a9207ebc8e711a5",
      "parents": [
        "870d6656126add8e383645732b03df2b7ccd4f94"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: implement and use {disk|part}_to_dev()\n\nImplement {disk|part}_to_dev() and use them to access generic device\ninstead of directly dereferencing {disk|part}-\u003edev.  To make sure no\nuser is left behind, rename generic devices fields to __dev.\n\nThis is in preparation of unifying partition 0 handling with other\npartitions.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f3944d61ddc65722539ffd7b6f5b7c7217c136cc",
      "tree": "dd48fb10e38df546535b1b3aa576aec79937e4ac",
      "parents": [
        "759f9a2df78d2156a2675edc7999fb4c919a3159"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Aug 20 14:09:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:30 2008 -0700"
      },
      "message": "nbd: fix memory leak of nbd_dev array\n\nWe leak the memory allocated for the nbd_dev array at multiple places.\nFix them by either adding a kfree() or by rearranging code to return\nbefore we allocate the memory.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: 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": "bd5d435a96837c3495e62eef37cbe4cb728b79ae",
      "tree": "82aacaf5a1d220910c4b0a1088d7d2482c0d9ee0",
      "parents": [
        "fee4b19fb3f28d17c0b9f9ea0668db5275697178",
        "ac9fafa1243640349aa481adf473db283a695766"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:18:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:18:03 2008 -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  block: Skip I/O merges when disabled\n  block: add large command support\n  block: replace sizeof(rq-\u003ecmd) with BLK_MAX_CDB\n  ide: use blk_rq_init() to initialize the request\n  block: use blk_rq_init() to initialize the request\n  block: rename and export rq_init()\n  block: no need to initialize rq-\u003ecmd with blk_get_request\n  block: no need to initialize rq-\u003ecmd in prepare_flush_fn hook\n  block/blk-barrier.c:blk_ordered_cur_seq() mustn\u0027t be inline\n  block/elevator.c:elv_rq_merge_ok() mustn\u0027t be inline\n  block: make queue flags non-atomic\n  block: add dma alignment and padding support to blk_rq_map_kern\n  unexport blk_max_pfn\n  ps3disk: Remove superfluous cast\n  block: make rq_init() do a full memset()\n  relay: fix splice problem\n"
    },
    {
      "commit": "801678c5a3b4c79236970bcca27c733f5559e0d1",
      "tree": "5ad4761f539525077895f261b64fccda4d1303c4",
      "parents": [
        "9a6f70bbed4e8b72dd340812d7c606bfd5e00b47"
      ],
      "author": {
        "name": "Hirofumi Nakagawa",
        "email": "hnakagawa@miraclelinux.com",
        "time": "Tue Apr 29 01:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "Remove duplicated unlikely() in IS_ERR()\n\nSome drivers have duplicated unlikely() macros.  IS_ERR() already has\nunlikely() in itself.\n\nThis patch cleans up such pointless code.\n\nSigned-off-by: Hirofumi Nakagawa \u003chnakagawa@miraclelinux.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d71a6d7332e5881a65249f4fb97b0db3c61dd5ec",
      "tree": "ff38d51dc1de5651e87ad33ec3a02648297237da",
      "parents": [
        "48cf6061b30205b29b306bf9bc22dd6f0b091461"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Tue Apr 29 01:02:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "NBD: add partition support\n\nPermit the use of partitions with network block devices (NBD).\n\nA new parameter is introduced to define how many partition we want to be able\nto manage per network block device.  This parameter is \"max_part\".\n\nFor instance, to manage 63 partitions / loop device, we will do:\n\n   [on the server side]\n# nbd-server 1234 /dev/sdb\n   [on the client side]\n# modprobe nbd max_part\u003d63\n# ls -l /dev/nbd*\nbrw-rw---- 1 root disk 43,   0 2008-03-25 11:14 /dev/nbd0\nbrw-rw---- 1 root disk 43,  64 2008-03-25 11:11 /dev/nbd1\nbrw-rw---- 1 root disk 43, 640 2008-03-25 11:11 /dev/nbd10\nbrw-rw---- 1 root disk 43, 704 2008-03-25 11:11 /dev/nbd11\nbrw-rw---- 1 root disk 43, 768 2008-03-25 11:11 /dev/nbd12\nbrw-rw---- 1 root disk 43, 832 2008-03-25 11:11 /dev/nbd13\nbrw-rw---- 1 root disk 43, 896 2008-03-25 11:11 /dev/nbd14\nbrw-rw---- 1 root disk 43, 960 2008-03-25 11:11 /dev/nbd15\nbrw-rw---- 1 root disk 43, 128 2008-03-25 11:11 /dev/nbd2\nbrw-rw---- 1 root disk 43, 192 2008-03-25 11:11 /dev/nbd3\nbrw-rw---- 1 root disk 43, 256 2008-03-25 11:11 /dev/nbd4\nbrw-rw---- 1 root disk 43, 320 2008-03-25 11:11 /dev/nbd5\nbrw-rw---- 1 root disk 43, 384 2008-03-25 11:11 /dev/nbd6\nbrw-rw---- 1 root disk 43, 448 2008-03-25 11:11 /dev/nbd7\nbrw-rw---- 1 root disk 43, 512 2008-03-25 11:11 /dev/nbd8\nbrw-rw---- 1 root disk 43, 576 2008-03-25 11:11 /dev/nbd9\n# nbd-client localhost 1234 /dev/nbd0\nNegotiation: ..size \u003d 80418240KB\nbs\u003d1024, sz\u003d80418240\n\n-------NOTE, RFC: partition table is not automatically read.\nThe driver sets bdev-\u003ebd_invalidated to 1 to force the read of the partition\ntable of the device, but this is done only on an open of the device.\nSo we have to do a \"touch /dev/nbdX\" or something like that.\nIt can\u0027t be done from the nbd-client or nbd driver because at this\nlevel we can\u0027t ask to read the partition table and to serve the request\nat the same time (-\u003e deadlock)\n\nIf someone has a better idea, I\u0027m open to any suggestion.\n-------NOTE, RFC\n\n# fdisk -l /dev/nbd0\n\nDisk /dev/nbd0: 82.3 GB, 82348277760 bytes\n255 heads, 63 sectors/track, 10011 cylinders\nUnits \u003d cylinders of 16065 * 512 \u003d 8225280 bytes\n\n     Device Boot      Start         End      Blocks   Id  System\n/dev/nbd0p1   *           1        9965    80043831   83  Linux\n/dev/nbd0p2            9966       10011      369495    5  Extended\n/dev/nbd0p5            9966       10011      369463+  82  Linux swap / Solaris\n\n# ls -l /dev/nbd0*\nbrw-rw---- 1 root disk 43,   0 2008-03-25 11:16 /dev/nbd0\nbrw-rw---- 1 root disk 43,   1 2008-03-25 11:16 /dev/nbd0p1\nbrw-rw---- 1 root disk 43,   2 2008-03-25 11:16 /dev/nbd0p2\nbrw-rw---- 1 root disk 43,   5 2008-03-25 11:16 /dev/nbd0p5\n# mount /dev/nbd0p1 /mnt\n# ls /mnt\nbin    dev   initrd      lost+found  opt   sbin     sys  var\nboot   etc   initrd.img  media       proc  selinux  tmp  vmlinuz\ncdrom  home  lib         mnt         root  srv      usr\n# umount /mnt\n# nbd-client -d /dev/nbd0\n# ls -l /dev/nbd0*\nbrw-rw---- 1 root disk 43, 0 2008-03-25 11:16 /dev/nbd0\n-------NOTE\nOn \"nbd-client -d\", we can do an iocl(BLKRRPART) to update partition table:\nas the size of the device is 0, we don\u0027t have to serve the partition manager\nrequest (-\u003e no deadlock).\n-------NOTE\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48cf6061b30205b29b306bf9bc22dd6f0b091461",
      "tree": "bba7827177587a17160c29392651aa27aa7f98fd",
      "parents": [
        "8c4dd6068221cd1d0d90490ace80eb4344914a8c"
      ],
      "author": {
        "name": "Laurent Vivier",
        "email": "Laurent.Vivier@bull.net",
        "time": "Tue Apr 29 01:02:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "NBD: allow nbd to be used locally\n\nThis patch allows Network Block Device to be mounted locally (nbd-client to\nnbd-server over 127.0.0.1).\n\nIt creates a kthread to avoid the deadlock described in NBD tools\ndocumentation.  So, if nbd-client hangs waiting for pages, the kblockd thread\ncan continue its work and free pages.\n\nI have tested the patch to verify that it avoids the hang that always occurs\nwhen writing to a localhost nbd connection.  I have also tested to verify that\nno performance degradation results from the additional thread and queue.\n\nPatch originally from Laurent Vivier.\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f54eec8311c3325888c29ce8e4496daf4dbe624",
      "tree": "e1bdf703cc0a5f91651216f6ae37cb34bd54cc6c",
      "parents": [
        "2a4aa30c5f967eb6ae874c67fa6fceeee84815f9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:37 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: use blk_rq_init() to initialize the request\n\nAny path needs to call it to initialize the request.\n\nThis is a preparation for large command support, which needs to\ninitialize the request in a proper way (that is, just doing a memset()\nwill not work).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ffc41cf8dbb1b895a87daf47d0e5bf6dfbfcab4c",
      "tree": "465f41f6c4e0e63c58a94c893d0b4ec5c5e7a10d",
      "parents": [
        "f2b2ea692ec01768c77a4f532dcd060316460122"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@gmail.com",
        "time": "Wed Apr 02 13:04:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "nbd: prevent sock_xmit from attempting to use a NULL socket\n\nNBD does not protect the nbd_device\u0027s socket from becoming NULL during\nreceives.\n\nThis closes a race with the NBD_CLEAR_SOCK ioctl (nbd-client -d) setting\nthe nbd_device\u0027s socket to NULL right before NBD calls sock_xmit.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nCc: 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": "48f15b93b2c9f4ec9b8af08ab78f7a27db7c8378",
      "tree": "8fc5a20c743fe7e223502a08b9b15d31912ef7de",
      "parents": [
        "2f56debd77a8f52f1ac1d3c3d89cc7ce5e083230"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Sat Feb 23 15:23:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "NBD: make nbd default to deadline I/O scheduler\n\nNBD doesn\u0027t work well with CFQ (or AS) schedulers, so let\u0027s default to\nsomething else.\n\nThe two problems I have experienced with nbd and cfq are:\n\n1) nbd hangs with cfq on RHEL 5 (2.6.18) -- this may well have been\n   fixed\n\n   There\u0027s a similar debian bug that has been filed as well:\n\n   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d447638\n\n   There have been posts to nbd-general mailing list about problems with\n   cfq and nbd also.\n\n2) nbd performs about 10% better (the last time I tested) with deadline\n   vs.  cfq (the overhead of cfq doesn\u0027t provide much advantage to nbd [not\n   being a real disk], and you end up going through the I/O scheduler on\n   the nbd server anyway, so it makes sense that deadline is better with\n   nbd)\n\nSigned-off-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": "20a8143eaa3300a58326156eaf43e03db0fd2cb6",
      "tree": "ee12300f417f0ecbaa4879b62a19a09423de76b3",
      "parents": [
        "53a7a1bb438245cd2ef9674b9af3a5201d7d7657"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Fri Feb 08 04:21:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:41 2008 -0800"
      },
      "message": "NBD: remove limit on max number of nbd devices\n\nRemove the arbitrary 128 device limit for NBD.  nbds_max can now be set to\nany number.  In certain scenarios where devices are used sparsely we have\nrun into the 128 device limit.\n\nSigned-off-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": "097c94a4e8bde978c8d12683d9a34048e9139e4b",
      "tree": "1a90401134c5543dd78135f372842c9f5b232b58",
      "parents": [
        "1c5093ba036b5e1a4befdcd6036d241178a720a8"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:44:06 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:36:37 2008 +0100"
      },
      "message": "blk_end_request: changing nbd (take 4)\n\nThis patch converts nbd to use blk_end_request interfaces.\nRelated \u0027uptodate\u0027 arguments are converted to \u0027error\u0027.\n\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "91cf45f02af5c871251165d000c3f42a2a0b0552",
      "tree": "0e4c0a9f624732d47a46301a394e799dab48afe0",
      "parents": [
        "62768e28d606c10ba54217f908123de34dad9374"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 12 18:10:39 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 18:10:39 2007 -0800"
      },
      "message": "[NET]: Add the helper kernel_sock_shutdown()\n\n...and fix a couple of bugs in the NBD, CIFS and OCFS2 socket handlers.\n\nLooking at the sock-\u003eop-\u003eshutdown() handlers, it looks as if all of them\ntake a SHUT_RD/SHUT_WR/SHUT_RDWR argument instead of the\nRCV_SHUTDOWN/SEND_SHUTDOWN arguments.\nAdd a helper, and then define the SHUT_* enum to ensure that kernel users\nof shutdown() don\u0027t get confused.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d489202ea2d5460a0fe638854eb3d3e63aa902fb",
      "tree": "8f12d378a17e91fce9a6e59c5e0e169d972e60ec",
      "parents": [
        "e9534b3fd7843d1bd5a7a1fe2474a09f72d41ab8"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Oct 20 02:18:21 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 02:18:21 2007 +0200"
      },
      "message": "remove unused return within void return function\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fdfd4065c264bddd2d9277470a6a99d34e01bef",
      "tree": "e2423a0338bf5d48f24bca1091e3069508f45f01",
      "parents": [
        "4b86a872561ad052bdc6f092a06807822d26beb1"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Tue Oct 16 23:27:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "NBD: allow hung network I/O to be cancelled\n\nAllow NBD I/O to be cancelled when a network outage occurs.  Previously, I/O\nwould just hang, and if enough I/O was hung in nbd, the system (at least\nuser-level) would completely hang until a TCP timeout (default, 15 minutes)\noccurred.\n\nThe patch introduces a new ioctl NBD_SET_TIMEOUT that allows a transmit\ntimeout value (in seconds) to be specified.  Any network send that exceeds the\ntimeout will be cancelled and the nbd connection will be shut down.  I\u0027ve\ntested with various timeout values and 6 seconds seems to be a good choice for\nthe timeout.  If the NBD_SET_TIMEOUT ioctl is not called, you get the old (I/O\nhang) behavior.\n\nSigned-off-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": "4b86a872561ad052bdc6f092a06807822d26beb1",
      "tree": "4a7af69e0a6d8b74f17c0034b173bc45896d8f08",
      "parents": [
        "dff4982f5cd4e30e2a140a3bca95d8814115bf5b"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Tue Oct 16 23:27:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "NBD: set uninitialized devices to size 0\n\nThis fixes errors with utilities (such as LVM\u0027s vgscan) that try to scan all\ndevices.  Previously this would generate read errors when uninitialized nbd\ndevices were scanned:\n\n# vgscan\n   Reading all physical volumes.  This may take a while...\n   /dev/nbd0: read failed after 0 of 1024 at 0: Input/output error\n   /dev/nbd0: read failed after 0 of 1024 at 509804544: Input/output error\n   /dev/nbd0: read failed after 0 of 2048 at 0: Input/output error\n   /dev/nbd1: read failed after 0 of 1024 at 509804544: Input/output error\n   /dev/nbd1: read failed after 0 of 2048 at 0: Input/output error\n\n From now on, uninitialized nbd devices will have size zero, which\nprevents these errors.\n\nSigned-off-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": "0cbc591bf884a5662b2fbb21b5c09fa1c1c7b579",
      "tree": "23b5e92aaa2d8c74a4501d39275431b272341cac",
      "parents": [
        "d2c9740b499f959ed513375b6e35c2ab161921cb"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Oct 16 23:26:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "nbd: change a parameter\u0027s type to remove a memcpy call\n\nThis memcpy looks so strange, in fact it\u0027s merely a pointer dereference, so I\nchange the parameter\u0027s type to refer it more directly, this could make the\nmemcpy not needed anymore.\n\nIn the function nbd_read_stat where nbd_find_request is only once called, the\nparameter served should be transformed accordingly.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nCc: 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": "d2c9740b499f959ed513375b6e35c2ab161921cb",
      "tree": "a7add684a7cf1dcfd5ff8d3ce60e071fca55cf80",
      "parents": [
        "04fc8bbcf5eb25fa2aec290b302a9878dde20168"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Oct 16 23:26:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "nbd: use list_for_each_entry_safe to make it more consolidated and readable\n\nThus the traverse of the loop may delete nodes, use the safe version.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nCc: 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": "6c92e699b56287da582ccb12a64b959b6d6109ba",
      "tree": "ac8c9f26640ff8b35cd96f8222f8ce84ba2c53e5",
      "parents": [
        "bc1c56fde6dd1c85e2047c276456c07bd4508b5c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 16 13:43:12 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "Fixup rq_for_each_segment() indentation\n\nRemove one level of nesting where appropriate.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5705f7021748a69d84d6567e68e8851dab551464",
      "tree": "5a6dbc8fc6055c0334f4a97540e36a7844b9c482",
      "parents": [
        "9dfa52831e96194b8649613e3131baa2c109f7dc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 25 12:35:59 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "Introduce rq_for_each_segment replacing rq_for_each_bio\n\nEvery usage of rq_for_each_bio wraps a usage of\nbio_for_each_segment, so these can be combined into\nrq_for_each_segment.\n\nWe define \"struct req_iterator\" to hold the \u0027bio\u0027 and \u0027index\u0027 that\nare needed for the double iteration.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\nVarious compile fixes by me...\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "be0ef957c9eed4ebae873ee3fbcfb9dfde486dec",
      "tree": "db0f0f9b029c2fbaddf74de0417658ae35bf6c5c",
      "parents": [
        "3e1ac130d08b0c7066615fe60fe1e7212c8eaf6a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jul 15 23:41:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "nbd.c: sock_xmit: cleanup signal related code\n\nsock_xmit() re-implements sigprocmask() and dequeue_signal_lock().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "e654bc4393e85e326993256d80b9710a4d6411ff",
      "tree": "bf30413fd62f778e4c9abd8bc92e7a399ac37e53",
      "parents": [
        "9cff3b383dad193b0762c27278a16237e10b53dc"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Jun 20 13:53:23 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:03:34 2007 +0200"
      },
      "message": "[PATCH] fix request-\u003ecmd \u003d\u003d INT cases\n\n - I have unearthed very old bugs in stale drivers that still\n   used request-\u003ecmd as a READ|WRITE int\n - This patch is maybe a proof that these drivers have not been\n   used for a long time. Should they be removed completely?\n\nDrivers that currently do not work for sure:\n drivers/acorn/block/fd1772.c |    2 +-\n drivers/acorn/block/mfmhd.c  |    8 ++++----\n drivers/cdrom/aztcd.c        |    2 +-\n drivers/cdrom/cm206.c        |    2 +-\n drivers/cdrom/gscd.c         |    2 +-\n drivers/cdrom/mcdx.c         |    2 +-\n drivers/cdrom/optcd.c        |    2 +-\n drivers/cdrom/sjcd.c         |    2 +-\n\nDrivers with cosmetic fixes only:\n  b/drivers/block/amiflop.c\n  b/drivers/block/nbd.c\n  b/drivers/ide/legacy/hd.c\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "84963048ca8093e0aa71ac90c2a5fe7af5f617c3",
      "tree": "336e616e2e51bcf74010d33dc331484f30676fca",
      "parents": [
        "b8cb34481edfee6692c83d3b283e29820e840280"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed May 09 02:33:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "nbd: check the return value of sysfs_create_file\n\n[akpm@linux-foundation.org: fix it]\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: 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": "17506041de973bdc718b9a255d822e571b12b421",
      "tree": "ae01f1c22b7c43c57426bf40ed6ef3ba2d5e5d48",
      "parents": [
        "e9536ae7205d255bc94616b72910fc6e16c861fe"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:47 2006 -0800"
      },
      "message": "[PATCH] struct path: convert nbd\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b39bb6548d60b9a18826134b5ccd5c3cef85fe2",
      "tree": "8521d13c8518d4baa0ecfe2f1031524edb47d4d9",
      "parents": [
        "792908225064b1d841a8990b9d1d1cfc4e0e5bb2"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Wed Dec 06 20:40:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:47 2006 -0800"
      },
      "message": "[PATCH] nbd: show nbd client pid in sysfs\n\nAllow nbd to expose the nbd-client daemon\u0027s PID in /sys/block/nbd\u003cx\u003e/pid.\n\nThis is helpful for tracking connection status of a device and for\ndetermining which nbd devices are currently in use.\n\nSigned-off-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4aff5e2333c9a1609662f2091f55c3f6fffdad36",
      "tree": "b73d8c2b7c1bdc03d3313c108da7dfc95ee95525",
      "parents": [
        "77ed74da26f50fa28471571ee7a2251b77526d84"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 08:44:47 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:23:37 2006 +0200"
      },
      "message": "[PATCH] Split struct request -\u003eflags into two parts\n\nRight now -\u003eflags is a bit of a mess: some are request types, and\nothers are just modifiers. Clean this up by splitting it into\n-\u003ecmd_type and -\u003ecmd_flags. This allows introduction of generic\nLinux block message types, useful for sending generic Linux commands\nto block devices.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "f0df33bcab4b687f0f18b9ebd69d374642e46a0e",
      "tree": "808ecf0e290eb67063fd1d42af53ed611b486590",
      "parents": [
        "e4b57e0842621f597d744b193ea325d62724596b"
      ],
      "author": {
        "name": "Michal Feix",
        "email": "michal.feix@firma.seznam.cz",
        "time": "Sun Jul 30 03:03:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:39 2006 -0700"
      },
      "message": "[PATCH] nbd: Abort request on data reception failure\n\nWhen reading from nbd device, we need to receive all the data after\nreceiving reply packet from the server - otherwise such request will never\nbe ended.\n\nIf socket is closed right after accepting reply control packet and in the\nmiddle of waiting for read data, nbd_read_stat() returns NULL and\nnbd_end_request() is not called.\n\nThis patch fixes it.\n\nSigned-off-by: Michal Feix \u003cmichal@feix.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e4b57e0842621f597d744b193ea325d62724596b",
      "tree": "0cb75aac6d4452d95dfe8ab1931bed45b1246bb9",
      "parents": [
        "8e185d83398b2708f50207bc12d0e0a70bd70767"
      ],
      "author": {
        "name": "Michal Feix",
        "email": "michal@feix.cz",
        "time": "Sun Jul 30 03:03:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:39 2006 -0700"
      },
      "message": "[PATCH] nbd: Check magic before doing anything else\n\nWe should check magic sequence in reply packet before trying to find\nrequest with it\u0027s request handle.  This also solves the problem with\n\"Unexpected reply\" message beeing logged, when packet with invalid magic is\nreceived.\n\nSigned-off-by: Michal Feix \u003cmichal@feix.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c7a41691f37a1538a88e5eb9b0b73df1f834542",
      "tree": "b18c4358c56ec2d3866206660ce0be966489a1c8",
      "parents": [
        "f47634b276db6956998350e5fc26a0673fdb125c"
      ],
      "author": {
        "name": "Ingo van Lil",
        "email": "inguin@gmx.de",
        "time": "Sat Jul 01 04:36:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:04 2006 -0700"
      },
      "message": "[PATCH] drivers/block/nbd.c compile fix\n\nThe Network Block Device driver doesn\u0027t compile if NDEBUG is defined.\n\nSigned-off-by: Ingo van Lil \u003cinguin@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce7b0f46bbf4bff8daab2dd3d878b9e72a623d09",
      "tree": "7a860cf52fbf1ff768197702af60a8329d296dff",
      "parents": [
        "96192ff1a9d0c6ef365d21667080259d83ea2f5b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the gendisk devfs_name field as it\u0027s no longer needed\n\nAnd remove the now unneeded number field.\nAlso fixes all drivers that set these fields.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ff23eca3e8f613034e0d20ff86f6a89b62f5a14e",
      "tree": "826285f5daa660001d38cac6baaf34411fd40131",
      "parents": [
        "8ab5e4c15b53e147c08031a959d9f776823dbe73"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree\n\nAlso fixes up all files that #include it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ab5e4c15b53e147c08031a959d9f776823dbe73",
      "tree": "b851d4c1fdbd396379279e4475f7f778a667a208",
      "parents": [
        "7c69ef79741910883d5543caafa06aca3ebadbd1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:07 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_remove() function from the kernel tree\n\nRemoves the devfs_remove() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "95dc112a5770dc670a1b45a3d9ee346fdd2b2697",
      "tree": "899cd99bdc928ade94ddc7b003b0de7d275cac48",
      "parents": [
        "0e6c62da7cd929b0389fc4a7e41464bb738647dc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:06 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree\n\nRemoves the devfs_mk_dir() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dbf492d6c1a1bf5a8bda40274f479119f4c42ca4",
      "tree": "21f63aa351d91c6991f41a9b9d04c7d543837c51",
      "parents": [
        "83cc5ed3c4c65fc4c3729a5cec2111ede1ebf85e"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sun Jun 25 05:47:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:06 2006 -0700"
      },
      "message": "[PATCH] nbd: kill obsolete changelog, add GPL\n\nnbd abuses file header as a changelog (and obsolete one, too), and fails to\nmention GPL.  This fixes it.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b7b18ccdeb17dcc4a2ddbf4ce87094c7365f4b9",
      "tree": "cf60c476ba42f3e8aad609d0248b61074f5d65be",
      "parents": [
        "1aef821a6b3aeca8c19d06aee012ed9db617d1e3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Mar 25 03:07:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] drivers/block/nbd.c: don\u0027t defer compile error to runtime\n\nIf we can detect a problem at compile time, the compilation should fail.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82d4dc5adb0055393248ad4ab8de392fac708a12",
      "tree": "9827f519dc04c76138fac0ee90d1cc34ac9af24b",
      "parents": [
        "f85221dd74f2708b78a2aa54de59944e44206d0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:13 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/block/nbd.c\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9fa37fd1627ec804e57ae0388555719b03b39f20",
      "tree": "869e4b4d8feb2e3ce240fa32cfa549ab61115153",
      "parents": [
        "a885c8c4316e1c1d2d2c8755da3f3d14f852528d"
      ],
      "author": {
        "name": "taneli.vahakangas@netsonic.fi",
        "email": "taneli.vahakangas@netsonic.fi",
        "time": "Sun Jan 08 01:03:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:54 2006 -0800"
      },
      "message": "[PATCH] nbd: remove duplicate assignment\n\n      \u003cstuartm@connecttech.com\u003e\n\nSent by Paul Clements \u003cpaul.clements@steeleye.com\u003e, who needs to read\nDocumentation/SubmittingPatches..\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b2f0260c74324abca76ccaa42d426af163125e7",
      "tree": "881f76200dc3489b11497528feb72d6eae93bddb",
      "parents": [
        "bd6a59b22fd3bd044bb14978b885bcd042a10e8e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 06 00:09:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:20 2006 -0800"
      },
      "message": "[PATCH] nbd: fix TX/RX race condition\n\nJanos Haar of First NetCenter Bt.  reported numerous crashes involving the\nNBD driver.  With his help, this was tracked down to bogus bio vectors\nwhich in turn was the result of a race condition between the\nreceive/transmit routines in the NBD driver.\n\nThe bug manifests itself like this:\n\nCPU0\t\t\t\tCPU1\ndo_nbd_request\n\tadd req to queuelist\n\tnbd_send_request\n\t\tsend req head\n\t\tfor each bio\n\t\t\tkmap\n\t\t\tsend\n\t\t\t\tnbd_read_stat\n\t\t\t\t\tnbd_find_request\n\t\t\t\t\tnbd_end_request\n\t\t\tkunmap\n\nWhen CPU1 finishes nbd_end_request, the request and all its associated\nbio\u0027s are freed.  So when CPU0 calls kunmap whose argument is derived from\nthe last bio, it may crash.\n\nUnder normal circumstances, the race occurs only on the last bio.  However,\nif an error is encountered on the remote NBD server (such as an incorrect\nmagic number in the request), or if there were a bug in the server, it is\npossible for the nbd_end_request to occur any time after the request\u0027s\naddition to the queuelist.\n\nThe following patch fixes this problem by making sure that requests are not\nadded to the queuelist until after they have been completed transmission.\n\nIn order for the receiving side to be ready for responses involving\nrequests still being transmitted, the patch introduces the concept of the\nactive request.\n\nWhen a response matches the current active request, its processing is\ndelayed until after the tranmission has come to a stop.\n\nThis has been tested by Janos and it has been successful in curing this\nrace condition.\n\nFrom: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n\n  Here is an updated patch which removes the active_req wait in\n  nbd_clear_queue and the associated memory barrier.\n\n  I\u0027ve also clarified this in the comment.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: \u003cdjani22@dynamicweb.hu\u003e\nCc: Paul Clements \u003cPaul.Clements@SteelEye.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ffdc6550c47f75ca4e6c9f30a2a89063e035cf2",
      "tree": "a478b9acef5c66242a964154f7ad3a0ea750ef0f",
      "parents": [
        "64100099ed22f71cce656c5c2caecf5c9cf255dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "message": "[BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn()\n\nadd @uptodate argument to end_that_request_last() and @error\nto rq_end_io_fn().  there\u0027s no generic way to pass error code\nto request completion function, making generic error handling\nof non-fs request difficult (rq-\u003eerrors is driver-specific and\neach driver uses it differently).  this patch adds @uptodate\nto end_that_request_last() and @error to rq_end_io_fn().\n\nfor fs requests, this doesn\u0027t really matter, so just using the\nsame uptodate argument used in the last call to\nend_that_request_first() should suffice.  imho, this can also\nhelp the generic command-carrying request jens is working on.\n\nSigned-off-by: tejun heo \u003chtejun@gmail.com\u003e\nSigned-Off-By: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "40be0c28b33ff0821594a3fa7126354dfe6eccd1",
      "tree": "a62e93e866a2c7fdbe732adb634a6bba294beded",
      "parents": [
        "4750e2c0c59e0c84c6c036b3d96ebd88365ae7ee"
      ],
      "author": {
        "name": "Lars Marowsky-Bree",
        "email": "lmb@suse.de",
        "time": "Sun May 01 08:59:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:07 2005 -0700"
      },
      "message": "[PATCH] nbd: Don\u0027t create all MAX_NBD devices by default all the time\n\nThis patches adds the \"nbds_max\" parameter to the nbd kernel module, which\nlimits the number of nbds allocated.  Previously, always all 128 entries\nwere allocated unconditionally, which used to waste resources and\nneedlessly flood the hotplug system with events.  (Defaults to 16 now.)\n\nSigned-off-by: Lars Marowsky-Bree \u003clmb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
