)]}'
{
  "log": [
    {
      "commit": "9fd097b14918875bd6f125ed699d7bbbba5893ee",
      "tree": "a7d58268cbcfaeeddc7fdf75bf0742dc63434a46",
      "parents": [
        "91e8549bde9e5cc88c5a2e8c8114389279e240b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 21 21:32:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Apr 21 21:33:05 2011 +0200"
      },
      "message": "block: unexport DISK_EVENT_MEDIA_CHANGE for legacy/fringe drivers\n\nIn-kernel disk event polling doesn\u0027t matter for legacy/fringe drivers\nand may lead to infinite event loop if -\u003echeck_events() implementation\ngenerates events on level condition instead of edge.\n\nNow that block layer supports suppressing exporting unlisted events,\nsimply leaving disk-\u003eevents cleared allows these drivers to keep the\ninternal revalidation behavior intact while avoiding weird\ninteractions with userland event handler.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1a8a74f03fcde1725ff26520220f3d21dbd8faa1",
      "tree": "5ac4195f4b34f815261ec243357f81967e4384c0",
      "parents": [
        "5b03a1b140e13a28ff6be1526892a9dc538ddef6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 09 19:54:27 2011 +0100"
      },
      "message": "floppy,{ami|ata}flop: Convert to bdops-\u003echeck_events()\n\nConvert the floppy drivers from -\u003emedia_changed() to -\u003echeck_events().\nBoth floppy and ataflop buffer media changed state bit and clear them\non revalidation and will behave correctly with kernel event polling.\n\nI can\u0027t tell how amiflop clears its event and it\u0027s possible that it\nmay generate spurious events when polled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n"
    },
    {
      "commit": "3e9bb2a071614f1d185740f31ac503ecba11d783",
      "tree": "26266b33e40c522c734227946b03bf5557898f62",
      "parents": [
        "c2f6805d470af369a7337801deeecea800dbfe1c"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Mon Nov 15 19:32:43 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Nov 15 19:32:43 2010 +0100"
      },
      "message": "block: fix amiga and atari floppy driver compile warning\n\nGeert, my crosstool don\u0027t produce warning below. I guess this has to do\nsomething with compiler version.\n\n- Geert noticed following warning during compilation.\n\n  drivers/block/amiflop.c:1344: warning: ‘rq’ may be used uninitialized in\n  this function\n  drivers/block/ataflop.c:1402: warning: ‘rq’ may be used uninitialized in\n  this function\n\n- Initialize rq to NULL to fix the warning. If we can\u0027t find a suitable request\n  to dispatch, this function should return NULL instead of a possibly garbage\n  pointer.\n\n- Cross compile tested only. Don\u0027t have hardware to test it.\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8abfc6e7a45eb74e51904bbae676fae008b11366",
      "tree": "57d0a24558c0693e3a52e8e756616f6c72def1e9",
      "parents": [
        "e9dd2b6837e26fe202708cce5ea4bb4ee3e3482e",
        "6362beea8914cbd4630ccde3617d944aeca2d48f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:03:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:03:12 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37/drivers\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.37/drivers\u0027 of git://git.kernel.dk/linux-2.6-block: (95 commits)\n  cciss: fix PCI IDs for new Smart Array controllers\n  drbd: add race-breaker to drbd_go_diskless\n  drbd: use dynamic_dev_dbg to optionally log uuid changes\n  dynamic_debug.h: Fix dynamic_dev_dbg() macro if CONFIG_DYNAMIC_DEBUG not set\n  drbd: cleanup: change \"\u003c\u003d 0\" to \"\u003d\u003d 0\"\n  drbd: relax the grace period of the md_sync timer again\n  drbd: add some more explicit drbd_md_sync\n  drbd: drop wrong debug asserts, fix recently introduced race\n  drbd: cleanup useless leftover warn/error printk\u0027s\n  drbd: add explicit drbd_md_sync to drbd_resync_finished\n  drbd: Do not log an ASSERT for P_OV_REQUEST packets while C_CONNECTED\n  drbd: fix for possible deadlock on IO error during resync\n  drbd: fix unlikely access after free and list corruption\n  drbd: fix for spurious fullsync (uuids rotated too fast)\n  drbd: allow for explicit resync-finished notifications\n  drbd: preparation commit, using full state in receive_state()\n  drbd: drbd_send_ack_dp must not rely on header information\n  drbd: Fix regression in recv_bm_rle_bits (compressed bitmap)\n  drbd: Fixed a stupid copy and paste error\n  drbd: Allow larger values for c-fill-target.\n  ...\n\nFix up trivial conflict in drivers/block/ataflop.c due to BKL removal\n"
    },
    {
      "commit": "2a48fc0ab24241755dc93bfd4f01d68efab47f5a",
      "tree": "fa9ae10ce89b26b7d8ae9ce24bdfda5e3007b763",
      "parents": [
        "613655fa39ff6957754fa8ceb8559980920eb8ee"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jun 02 14:28:52 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 05 15:01:10 2010 +0200"
      },
      "message": "block: autoconvert trivial BKL users to private mutex\n\nThe block device drivers have all gained new lock_kernel\ncalls from a recent pushdown, and some of the drivers\nwere already using the BKL before.\n\nThis turns the BKL into a set of per-driver mutexes.\nStill need to check whether this is safe to do.\n\nfile\u003d$1\nname\u003d$2\nif grep -q lock_kernel ${file} ; then\n    if grep -q \u0027include.*linux.mutex.h\u0027 ${file} ; then\n            sed -i \u0027/include.*\u003clinux\\/smp_lock.h\u003e/d\u0027 ${file}\n    else\n            sed -i \u0027s/include.*\u003clinux\\/smp_lock.h\u003e.*$/include \u003clinux\\/mutex.h\u003e/g\u0027 ${file}\n    fi\n    sed -i ${file} \\\n        -e \"/^#include.*linux.mutex.h/,$ {\n                1,/^\\(static\\|int\\|long\\)/ {\n                     /^\\(static\\|int\\|long\\)/istatic DEFINE_MUTEX(${name}_mutex);\n\n} }\"  \\\n    -e \"s/\\(un\\)*lock_kernel\\\u003e[ ]*()/mutex_\\1lock(\\\u0026${name}_mutex)/g\" \\\n    -e \u0027/[      ]*cycle_kernel_lock();/d\u0027\nelse\n    sed -i -e \u0027/include.*\\\u003csmp_lock.h\\\u003e/d\u0027 ${file}  \\\n                -e \u0027/cycle_kernel_lock()/d\u0027\nfi\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "639e2f2aa76eefaf22078dccbbf2f3483f587aa7",
      "tree": "7df6fac9e0b45584f79ae75bf7f7d55019ff1fbc",
      "parents": [
        "786029ff810ff4a2fd52c0462713985a415417ab"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Fri Sep 24 20:35:45 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 24 20:35:45 2010 +0200"
      },
      "message": "atari floppy: Stop sharing request queue across multiple gendisks\n\no Use one request queue per gendisk instead of sharing the queue.\n\no Don\u0027t have hardware. No compile testing or run time testing done. Completely\n  untested.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6e9624b8caec290d28b4c6d9ec75749df6372b87",
      "tree": "47225b544e1da82742795553dc4e8aa70c17afdc",
      "parents": [
        "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "message": "block: push down BKL into .open and .release\n\nThe open and release block_device_operations are currently\ncalled with the BKL held. In order to change that, we must\nfirst make sure that all drivers that currently rely\non this have no regressions.\n\nThis blindly pushes the BKL into all .open and .release\noperations for all block drivers to prepare for the\nnext step. The drivers can subsequently replace the BKL\nwith their own locks or remove it completely when it can\nbe shown that it is not needed.\n\nThe functions blkdev_get and blkdev_put are the only\nremaining users of the big kernel lock in the block\nlayer, besides a few uses in the ioctl code, none\nof which need to serialize with blkdev_{get,put}.\n\nMost of these two functions is also under the protection\nof bdev-\u003ebd_mutex, including the actual calls to\n-\u003eopen and -\u003erelease, and the common code does not\naccess any global data structures that need the BKL.\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": "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": "41fb11ca90fe5a115b663340290311c7f5aab0f6",
      "tree": "969096cfe50026f2d4f97d021c99692d599e6b22",
      "parents": [
        "1a0caf41c061868eff05a054ff2b0ffe26baf4e0"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Dec 11 17:12:09 2009 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Feb 27 18:27:15 2010 +0100"
      },
      "message": "ataflop: Killl warning about unused variable flags\n\nAfter commit e0c0978699a83f26f2341f7eedc1463b79e31aff (\"ataflop: remove\nbuggy/commented-out IRQ disable from do_fd_request()\") the `flags\u0027 variable\nbecame unused:\n\ndrivers/block/ataflop.c:1473: warning: unused variable \u0027flags\u0027\n\nHence remove it.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "e0c0978699a83f26f2341f7eedc1463b79e31aff",
      "tree": "20bc35c264eef530f27dbb6529160d41a2f80959",
      "parents": [
        "7a7236e0f3f836439442e9161dd6d25fde7ca259"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Oct 09 11:49:10 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 09 09:40:57 2009 +0100"
      },
      "message": "ataflop: remove buggy/commented-out IRQ disable from do_fd_request()\n\nThere is a nice gem in drivers/block/ataflop.c::do_fd_request()\n\n      void do_fd_request(struct request_queue * q)\n      {\n              unsigned long flags;\n\n              DPRINT((\"do_fd_request for pid %d\\n\",current-\u003epid));\n              while( fdc_busy ) sleep_on( \u0026fdc_wait );\n              fdc_busy \u003d 1;\n              stdma_lock(floppy_irq, NULL);\n\n              atari_disable_irq( IRQ_MFP_FDC );\n              local_save_flags(flags);        /* The request function is called with ints\n              local_irq_disable();             * disabled... so must save the IPL for later */\n              redo_fd_request();\n              local_irq_restore(flags);\n              atari_enable_irq( IRQ_MFP_FDC );\n      }\n\nIf you look at the code long enough, you will notioce that the\nlocal_irq_disable() call is actually commented out. This has been\nintroduced back in 2002 in [1], but as you can see, the same bug has been\nthere even before, with the sti() call being commented out in the very\nsame way :)\n\nI am not familiar with the code myself at all, but I guess that the whole\nstuff can just be removed. Why do we need save_flags/restore_flags at all,\nwithout actually disabling the local IRQs afterwards? The\nredo_fd_request() doesn\u0027t seem to do anything that would mess with flags\ninconsistently.\n\n[1] http://lkml.org/lkml/2002/12/27/58\n\nJens:\nThat does look odd. The comment is correct that the function is entered\nwith interrupts disabled (and the queue lock held). So I\u0027d say your\npatch looks fine, the whole save/restore business looks meaningless.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Michael Schmitz \u003cschmitz@biophys.uni-duesseldorf.de\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": "8f47428704c2fd6f787a6f340071b9c338b65803",
      "tree": "15318bc754cabdda0752ae69193415e5868a5674",
      "parents": [
        "0a09f4319c6d88c732ed46735f8584bbb95cac65"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Jul 13 22:43:41 2009 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 17 15:29:58 2009 +0900"
      },
      "message": "ataflop: adjust NULL test\n\ndtp is derefenced on the lines above the test !dtp, and so it cannot be\nNULL at this point.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r@\nexpression x,E,E1;\nidentifier f,l;\nposition p1,p2;\n@@\n\n*x@p1-\u003ef \u003d E1;\n... when !\u003d x \u003d E\n    when !\u003d goto l;\n(\n*x@p2 \u003d\u003d NULL\n|\n*x@p2 !\u003d NULL\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.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": "a336ca6fe6e0c46b2eef0e520951acb4e6cb2976",
      "tree": "c981d2eab7610e0c35d00a567a21250e137291d6",
      "parents": [
        "8a12c4a456c7ee261a85c2cbec835601e6aae05a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "ataflop: dequeue and track in-flight request\n\nataflop has single request in flight.  Till now, whenever it needs to\naccess the in-flight request it called elv_next_request().  This patch\nmakes ataflop track the in-flight request directly and dequeue it when\nprocessing starts.  The added complexity is minimal and this will help\nfuture block layer changes.\n\n[ Impact: dequeue in-flight request, one elv_next_request() per request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\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": "5b5c5d12b91cb6b2a2967f06aef35d59008dc2e7",
      "tree": "ea8397d10aaedda61fcc849ce9a7fcab17b5438b",
      "parents": [
        "4c94dece1baf320d925cedb231489c4e0358ac5a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:06 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:50 2009 +0200"
      },
      "message": "amiflop,ataflop,xd,mg_disk: clean up unnecessary stuff from block drivers\n\nrq_data_dir() can only be READ or WRITE and rq-\u003esector and nr_sectors\nare always automatically updated after partial request completion.\nDon\u0027t worry about rq_data_dir() not being either READ or WRITE or\nmanually update sector and nr_sectors.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jörg Dorchain \u003cjoerg@dorchain.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f06d9a2b52e246a66b606130cea3f0d7b7be17a7",
      "tree": "020df1f9d54b00c72d8af02ac0827d496597e75a",
      "parents": [
        "40cbbb781d3eba5d6ac0860db078af490e5c7c6b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:19 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:36 2009 +0200"
      },
      "message": "block: replace end_request() with [__]blk_end_request_cur()\n\nend_request() has been kept around for backward compatibility;\nhowever, it\u0027s about time for it to go away.\n\n* There aren\u0027t too many users left.\n\n* Its use of @updtodate is pretty confusing.\n\n* In some cases, newer code ends up using mixture of end_request() and\n  [__]blk_end_request[_all](), which is way too confusing.\n\nSo, add [__]blk_end_request_cur() and replace end_request() with it.\nMost conversions are straightforward.  Noteworthy ones are...\n\n* paride/pcd: next_request() updated to take 0/-errno instead of 1/0.\n\n* paride/pf: pf_end_request() and next_request() updated to take\n  0/-errno instead of 1/0.\n\n* xd: xd_readwrite() updated to return 0/-errno instead of 1/0.\n\n* mtd/mtd_blkdevs: blktrans_discard_request() updated to return\n  0/-errno instead of 1/0.  Unnecessary local variable res\n  initialization removed from mtd_blktrans_thread().\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Joerg Dorchain \u003cjoerg@dorchain.net\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: unsik Kim \u003cdonari75@gmail.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": "60ad23400717f70b8f0ee623b50d343d45f7b135",
      "tree": "92ecf966b3fd71f8fd7ece5457557d2bfa05d6d9",
      "parents": [
        "94562c175113cf91204a77269eabeea32e1f38db"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:23:54 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:42 2008 -0400"
      },
      "message": "[PATCH] switch ataflop\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": "86d434dede14108dd917b25af0f29c0cb28b8d18",
      "tree": "f69305e5213ac9eab854b8c85a918fd71c106e06",
      "parents": [
        "aeb5d727062a0238a2f96c9c380fbd2be4640c6f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 26 19:50:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:08 2008 -0400"
      },
      "message": "[PATCH] eliminate use of -\u003ef_flags in block methods\n\nstore needed information in f_mode\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "29c8a24672e1cdfee99c15b870c57eb30ae69daf",
      "tree": "26f67aaca31d878339a99d89e0036d912bdef449",
      "parents": [
        "7477fb6fbc339469ea945e007f3f7b3bb13b25f7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Oct 13 21:58:59 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 10:23:27 2008 -0700"
      },
      "message": "m68k: Remove the broken Hades support\n\nThis patch removes the Hades support that was marked as BROKEN 5 years ago.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e945b568e28b42de893ef24989372f0219501d32",
      "tree": "b14af0806136067685a96832abcf05b46f99980b",
      "parents": [
        "038eddd9acf34e8202b31af3ee9eb48179114323"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Jul 17 21:16:10 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:24:38 2008 -0700"
      },
      "message": "m68k: Return -ENODEV if no device is found\n\nAccording to the tests in do_initcalls(), the proper error code in case no\ndevice is found is -ENODEV, not -ENXIO or -EIO.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ceadd2a2a9cf2768a9baf808abf1ffeedcc4cc4",
      "tree": "f4cccb9f3a99b3ebdbeb92a63f343835e86f685c",
      "parents": [
        "7129b126cc64f530d793bd56eb1709a06ec65a2d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Feb 06 01:38:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:10 2008 -0800"
      },
      "message": "Atari floppy: Rename disk_type to atari_disk_type\n\nCommit edfaa7c36574f1bf09c65ad602412db9da5f96bf\n\n    Driver core: convert block from raw kobjects to core devices\n\n    This moves the block devices to /sys/class/block. It will create a\n    flat list of all block devices, with the disks and partitions in one\n    directory. For compatibility /sys/block is created and contains symlinks\n    to the disks.\n\nintroduced a global disk_type variable in \u003clinux/genhd.h\u003e, causing the\nfollowing compile error on Atari:\n\n    drivers/block/ataflop.c:93: error: conflicting types for \u0027disk_type\u0027\n    include/linux/genhd.h:21: error: previous declaration of \u0027disk_type\u0027 was here\n\nRename the local disk_type variable in drivers/block/ataflop.c to\natari_disk_type, to avoid the conflict.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: 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"
    },
    {
      "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": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "8d3b33f67fdc0fb364a1ef6d8fbbea7c2e4e6c98",
      "tree": "7fc48e7544ea6a6c6a7cc7685612a38f5edc25ae",
      "parents": [
        "c721bccece2b3abca4f7b0b95108e68b78445cec"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Mar 25 03:07:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] Remove MODULE_PARM\n\nMODULE_PARM was actually breaking: recent gcc version optimize them out as\nunused.  It\u0027s time to replace the last users, which are generally in the\nmost unloved drivers anyway.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "639074354bb371feb2dde409b2ce05d56afef02b",
      "tree": "2524111d2bc4531e3cbd280f1b02d656b41c41d4",
      "parents": [
        "0c79358b874af31430cf8d26540ae7b8713505f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jan 12 01:06:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:09:05 2006 -0800"
      },
      "message": "[PATCH] m68k: kill mach_floppy_setup, convert to proper __setup() in drivers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c7af51129161a7a3dc4169c984964912f1f4822",
      "tree": "4d13ffe5b34dcb9f3c65d99661bf464cefe58df7",
      "parents": [
        "8a423e542b4a9af45ac0106ab8275760af770793"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jan 12 01:06:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:09:03 2006 -0800"
      },
      "message": "[PATCH] m68k: ataflop __user annotations, NULL noise removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "945f390f02ce44a13aefc6d9449c99f33c9286a5",
      "tree": "be5685ed17677b4c076b69e7d4d77eae4cbe718c",
      "parents": [
        "ef9ceab28203690a42d7d3915ccf6e208f0762bc"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Sun Jan 08 01:05:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:08 2006 -0800"
      },
      "message": "[PATCH] drivers/block: Use ARRAY_SIZE macro\n\nUse ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a\nduplicate of ARRAY_SIZE. Some trailing whitespaces are also removed.\n\ndrivers/block/acsi* has been left out as it\u0027s marked BROKEN.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d06afab73a75f40ae2864e6c296356bab1ab473",
      "tree": "1d9c8c24a1024a12a4e8df841fba5809fa914356",
      "parents": [
        "7c352bdf048811b8128019ffc1e886161e09c11c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 09 13:10:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] timer initialization cleanup: DEFINE_TIMER\n\nClean up timer initialization by introducing DEFINE_TIMER a\u0027la\nDEFINE_SPINLOCK.  Build and boot-tested on x86.  A similar patch has been\nbeen in the -RT tree for some time.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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"
    }
  ]
}
