)]}'
{
  "log": [
    {
      "commit": "4c94dece1baf320d925cedb231489c4e0358ac5a",
      "tree": "fd0738e2f82c806e921e6c872b704cfbef3c0a1d",
      "parents": [
        "9fd8d0e1bcb848257968d9a7d73ca4d890ea8bd1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:05 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:50 2009 +0200"
      },
      "message": "block: don\u0027t init rq fields unnecessarily\n\nblk_get_request() always returns properly zeroed requests.  Don\u0027t set\nfields to zero/NULL unnecessarily.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9fd8d0e1bcb848257968d9a7d73ca4d890ea8bd1",
      "tree": "6ecdb8af44feda12713c1bee34a1ad5e9e978ee8",
      "parents": [
        "9eb55b030c4b3227334ee4482402096cd1d1a6fe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:04 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:49 2009 +0200"
      },
      "message": "block: make blk_end_request_cur() return bool\n\nIn the process of mindlessly copying [__]blk_end_request_all(),\n[__]blk_end_request_cur() ended up returning void even though they\u0027re\npartial completion functions.  Fix it.\n\n[ Impact: fix braindead API ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9eb55b030c4b3227334ee4482402096cd1d1a6fe",
      "tree": "e6c5c6e31692c715b911b18474ef6e4c627723bd",
      "parents": [
        "c69d48540c201394d08cb4d48b905e001313d9b8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Mon Apr 27 14:53:54 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:37 2009 +0200"
      },
      "message": "block: catch trying to use more bits than request-\u003ecmd_flags has\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c69d48540c201394d08cb4d48b905e001313d9b8",
      "tree": "6ad78b44cd7fc5d65a0c3bded49f8cb14f4790a9",
      "parents": [
        "c2553b5844b06910435e40cfab9e6f384840cb97"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:12:19 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:37 2009 +0200"
      },
      "message": "block: include discard requests in IO accounting\n\nWe currently don\u0027t do merging on discard requests, but we potentially\ncould. If we do, then we need to include discard requests in the IO\naccounting, or merging would end up decrementing in_flight IO counters\nfor an IO which never incremented them.\n\nSo enable accounting for discard requests.\n\nProblem found by Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c2553b5844b06910435e40cfab9e6f384840cb97",
      "tree": "00a6a1f0c056f19050a8b7c7a1db7b7e0e502062",
      "parents": [
        "731ec497e5888c6792ad62613ae9be97eebcd7ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:10:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:37 2009 +0200"
      },
      "message": "block: make blk_do_io_stat() do the full \"is this rq accountable\" checks\n\nWe currently check for file system requests outside of blk_do_io_stat(rq),\nbut we may as well just include it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "731ec497e5888c6792ad62613ae9be97eebcd7ca",
      "tree": "689a8442d8bdfd50ee6ab05b0c6acd0d229fe391",
      "parents": [
        "ec24751a6b57e1373a12361e581b2458bc9bb791"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:20 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:36 2009 +0200"
      },
      "message": "block: kill rq-\u003edata\n\nNow that all block request data transfer is done via bio, rq-\u003edata\nisn\u0027t used.  Kill it.\n\nWhile at it, make the roles of rq-\u003especial and buffer clear.\n\n[ Impact: drop now unncessary field from struct request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "ec24751a6b57e1373a12361e581b2458bc9bb791",
      "tree": "098ce79b89e10437d7660f3d65935a48f31a611c",
      "parents": [
        "f06d9a2b52e246a66b606130cea3f0d7b7be17a7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:20 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:36 2009 +0200"
      },
      "message": "arm-omap: don\u0027t abuse rq-\u003edata\n\nomap mailbox uses rq-\u003edata as the second opaque pointer to carry\nmbox_msg_t and rq-\u003especial message argument which is needed only for\ntx.  Add and use omap_msg_tx_data struct for tx and use rq-\u003especial\nfor mbox_msg_t for rx such that only rq-\u003especial is used as opaque\npointer.\n\n[ Impact: cleanup rq-\u003edata usage, extra kmalloc in msg_send ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\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": "40cbbb781d3eba5d6ac0860db078af490e5c7c6b",
      "tree": "dec374543cf045fc630bccddbb7646c695094b0d",
      "parents": [
        "b243ddcbe9be146172baa544dadecebf156eda0e"
      ],
      "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:35 2009 +0200"
      },
      "message": "block: implement and use [__]blk_end_request_all()\n\nThere are many [__]blk_end_request() call sites which call it with\nfull request length and expect full completion.  Many of them ensure\nthat the request actually completes by doing BUG_ON() the return\nvalue, which is awkward and error-prone.\n\nThis patch adds [__]blk_end_request_all() which takes @rq and @error\nand fully completes the request.  BUG_ON() is added to to ensure that\nthis actually happens.\n\nMost conversions are simple but there are a few noteworthy ones.\n\n* cdrom/viocd: viocd_end_request() replaced with direct calls to\n  __blk_end_request_all().\n\n* s390/block/dasd: dasd_end_request() replaced with direct calls to\n  __blk_end_request_all().\n\n* s390/char/tape_block: tapeblock_end_request() replaced with direct\n  calls to blk_end_request_all().\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b243ddcbe9be146172baa544dadecebf156eda0e",
      "tree": "20ae5d9460498ae6c53e9e82f1b9d9ed6daffbb3",
      "parents": [
        "2e60e02297cf54e367567f2d85b2ca56b1c4a906"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:35 2009 +0200"
      },
      "message": "block: move rq-\u003estart_time initialization to blk_rq_init()\n\nrq-\u003estart_time was initialized in init_request_from_bio() so special\nrequests didn\u0027t have start_time set.  This has been okay as start_time\nhas been used only for fs requests; however, there is no indication of\nthis actually is the case or not.  Set rq-\u003estart_time in blk_rq_init()\nand guarantee that all initialized rq\u0027s have its start_time set.  This\nimproves consistency at virtually no cost and future changes will make\nuse of the timestamp for !bio requests.\n\n[ Impact: rq-\u003estart_time is valid for all requests ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "2e60e02297cf54e367567f2d85b2ca56b1c4a906",
      "tree": "ea824afcaff58be894799a011f74d80c3560f372",
      "parents": [
        "0b302d5aa7975006fa2ec3d66386610b9b36c669"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:35 2009 +0200"
      },
      "message": "block: clean up request completion API\n\nRequest completion has gone through several changes and became a bit\nmessy over the time.  Clean it up.\n\n1. end_that_request_data() is a thin wrapper around\n   end_that_request_data_first() which checks whether bio is NULL\n   before doing anything and handles bidi completion.\n   blk_update_request() is a thin wrapper around\n   end_that_request_data() which clears nr_sectors on the last\n   iteration but doesn\u0027t use the bidi completion.\n\n   Clean it up by moving the initial bio NULL check and nr_sectors\n   clearing on the last iteration into end_that_request_data() and\n   renaming it to blk_update_request(), which makes blk_end_io() the\n   only user of end_that_request_data().  Collapse\n   end_that_request_data() into blk_end_io().\n\n2. There are four visible completion variants - blk_end_request(),\n   __blk_end_request(), blk_end_bidi_request() and end_request().\n   blk_end_request() and blk_end_bidi_request() uses blk_end_request()\n   as the backend but __blk_end_request() and end_request() use\n   separate implementation in __blk_end_request() due to different\n   locking rules.\n\n   blk_end_bidi_request() is identical to blk_end_io().  Collapse\n   blk_end_io() into blk_end_bidi_request(), separate out request\n   update into internal helper blk_update_bidi_request() and add\n   __blk_end_bidi_request().  Redefine [__]blk_end_request() as thin\n   inline wrappers around [__]blk_end_bidi_request().\n\n3. As the whole request issue/completion usages are about to be\n   modified and audited, it\u0027s a good chance to convert completion\n   functions return bool which better indicates the intended meaning\n   of return values.\n\n4. The function name end_that_request_last() is from the days when it\n   was a public interface and slighly confusing.  Give it a proper\n   internal name - blk_finish_request().\n\n5. Add description explaning that blk_end_bidi_request() can be safely\n   used for uni requests as suggested by Boaz Harrosh.\n\nThe only visible behavior change is from #1.  nr_sectors counts are\ncleared after the final iteration no matter which function is used to\ncomplete the request.  I couldn\u0027t find any place where the code\nassumes those nr_sectors counters contain the values for the last\nsegment and this change is good as it makes the API much more\nconsistent as the end result is now same whether a request is\ncompleted using [__]blk_end_request() alone or in combination with\nblk_update_request().\n\nAPI further cleaned up per Christoph\u0027s suggestion.\n\n[ Impact: cleanup, rq-\u003e*nr_sectors always updated after req completion ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "0b302d5aa7975006fa2ec3d66386610b9b36c669",
      "tree": "bba5de7b377ad167c4291cbdfd203ca7616d696d",
      "parents": [
        "158dbda0068e63c7cce7bd47c123bd1dfa5a902c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: kill blk_end_request_callback()\n\nWith recent IDE updates, blk_end_request_callback() doesn\u0027t have any\nuser now.  Kill it.\n\n[ Impact: removal of unused convoluted interface ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "158dbda0068e63c7cce7bd47c123bd1dfa5a902c",
      "tree": "2665f31350ba4f0875c7611c980b0831c22d8c98",
      "parents": [
        "5efccd17ceb0fc43837a331297c2c407969d7201"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: reorganize request fetching functions\n\nImpact: code reorganization\n\nelv_next_request() and elv_dequeue_request() are public block layer\ninterface than actual elevator implementation.  They mostly deal with\nhow requests interact with block layer and low level drivers at the\nbeginning of rqeuest processing whereas __elv_next_request() is the\nactual eleveator request fetching interface.\n\nMove the two functions to blk-core.c.  This prepares for further\ninterface cleanup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5efccd17ceb0fc43837a331297c2c407969d7201",
      "tree": "6678ebea73ffc9f2ad35029eaaf49e68073e4e88",
      "parents": [
        "2eef33e439ba9ae387cdc3f1abcef2f3f6c4e7a8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: reorder request completion functions\n\nReorder request completion functions such that\n\n* All request completion functions are located together.\n\n* Functions which are used by only one caller is put right above the\n  caller.\n\n* end_request() is put after other completion functions but before\n  blk_update_request().\n\nThis change is for completion function cleanup which will follow.\n\n[ Impact: cleanup, code reorganization ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "2eef33e439ba9ae387cdc3f1abcef2f3f6c4e7a8",
      "tree": "a25b4d1f59aaf23295a853beeb3922f58ee04b2b",
      "parents": [
        "10732f5661fb7adf62e20733b0030fc0fc93b0c4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: clean up misc stuff after block layer timeout conversion\n\n* In blk_rq_timed_out_timer(), else { if } to else if\n\n* In blk_add_timer(), simplify if/else block\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "10732f5661fb7adf62e20733b0030fc0fc93b0c4",
      "tree": "4d3792fd76624671503513e727bd5de6bcaa2450",
      "parents": [
        "e4025f6c21f1389696c069be2dc647f364925c45"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: cleanup REQ_SOFTBARRIER usages\n\nblk_insert_request() doesn\u0027t need to worry about REQ_SOFTBARRIER.\nDon\u0027t set it.  Combined with recent ide updates, REQ_SOFTBARRIER is\nnow only used in elevator proper and for discard requests.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e4025f6c21f1389696c069be2dc647f364925c45",
      "tree": "4d7ee21062293c9a9d398063c22339b47f581283",
      "parents": [
        "a7f557923441186a3cdbabc54f1bcacf42b63bf5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: don\u0027t set REQ_NOMERGE unnecessarily\n\nRQ_NOMERGE_FLAGS already clears defines which REQ flags aren\u0027t\nmergeable.  There is no reason to specify it superflously.  It only\nadds to confusion.  Don\u0027t set REQ_NOMERGE for barriers and requests\nwith specific queueing directive.  REQ_NOMERGE is now exclusively used\nby the merging code.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a7f557923441186a3cdbabc54f1bcacf42b63bf5",
      "tree": "48e37802174cb98be43d89eb8bc4e466f4d79a02",
      "parents": [
        "a538cd03be6f363d039daa94199c28cfbd508455"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: kill blk_start_queueing()\n\nblk_start_queueing() is identical to __blk_run_queue() except that it\ndoesn\u0027t check for recursion.  None of the current users depends on\nblk_start_queueing() running request_fn directly.  Replace usages of\nblk_start_queueing() with [__]blk_run_queue() and kill it.\n\n[ Impact: removal of mostly duplicate interface function ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "a538cd03be6f363d039daa94199c28cfbd508455",
      "tree": "47d327e3339f5f07c4f4386537fab526310344a7",
      "parents": [
        "db2dbb12dc47a50c7a4c5678f526014063e486f6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: merge blk_invoke_request_fn() into __blk_run_queue()\n\n__blk_run_queue wraps blk_invoke_request_fn() such that it\nadditionally removes plug and bails out early if the queue is empty.\nBoth extra operations have their own pending mechanisms and don\u0027t\ncause any harm correctness-wise when they are done superflously.\n\nThe only user of blk_invoke_request_fn() being blk_start_queue(),\nthere isn\u0027t much reason to keep both functions around.  Merge\nblk_invoke_request_fn() into __blk_run_queue() and make\nblk_start_queue() use __blk_run_queue() instead.\n\n[ Impact: merge two subtly different internal functions ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "db2dbb12dc47a50c7a4c5678f526014063e486f6",
      "tree": "8bfa3fe41e674f584eb37a7767c008d609b41d75",
      "parents": [
        "db29a6b49674085f136331014ba0eee249c16a2c"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Apr 22 14:08:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: implement blkdev_readpages\n\nDoing a proper block dev -\u003ereadpages() speeds up the crazy dump(8)\napproach of using interleaved process IO.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "db29a6b49674085f136331014ba0eee249c16a2c",
      "tree": "423676abaf2067b2d359a2439e00616812ee55f7",
      "parents": [
        "586cf2681f527ce8b85b9bd57c8b9f7945fbe051"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 21 09:27:03 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: enable by default support for large devices and files on 32-bit archs\n\nEnable by default support for large devices and files (CONFIG_LBD):\n\n- With 1TB disks being a commodity hardware it is quite easy to hit 2TB\n  limitation while building RAIDs etc. and many distros have been using\n  CONFIG_LBD\u003dy by default already (at least Fedora 10 and openSUSE 11.1).\n\n- This should also prevent a subtle ext4 filesystem compatibility issue:\n  mke2fs.ext4 defaults to creating filesystems with huge_files feature\n  enabled and such filesystems cannot be later mounted read-write on\n  machines with CONFIG_LBD\u003dn (it should be quite easy to hit this issue\n  when trying to use filesystem created using distro kernel on system\n  running the self-build kernel, think about USB disk enclosures \u0026 co.).\n\nWhile at it:\n\n- Clarify config option help text w.r.t. mounting ext4 filesystems\n  (they can be mounted with CONFIG_LBD\u003dn but in the read-only mode).\n\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "586cf2681f527ce8b85b9bd57c8b9f7945fbe051",
      "tree": "cbd2efbd93677d81929417fcb3faf94460737dd0",
      "parents": [
        "5ad960fe8d0e4f99fe2b8dded45e8251137293c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 21 12:16:56 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "ide-dma: don\u0027t reset request fields on dma_timeout_retry()\n\nImpact: drop unnecessary code\n\nNow that everything uses bio and block operations, there is no need to\nreset request fields manually when retrying a request.  Every field is\nguaranteed to be always valid.  Drop unnecessary request field\nresetting from ide_dma_timeout_retry().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5ad960fe8d0e4f99fe2b8dded45e8251137293c9",
      "tree": "b781a857b5bc7ed2ca13b852bda1da316d3f1f7a",
      "parents": [
        "29d1a4371035e01b0d079bc5aa88b50f5af7a566"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:32 2009 +0200"
      },
      "message": "ide: drop rq-\u003edata handling from ide_map_sg()\n\nImpact: remove code path which is no longer necessary\n\nAll IDE data transfers now use rq-\u003ebio.  Simplify ide_map_sg()\naccordingly.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "29d1a4371035e01b0d079bc5aa88b50f5af7a566",
      "tree": "4aad5a0868e1929f0ced33ffde34b334760c0522",
      "parents": [
        "4344d07fb8dbf0cbfec1f7d7c1afeccaceaaa120"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:32 2009 +0200"
      },
      "message": "ide-atapi: kill unused fields and callbacks\n\nImpact: remove fields and code paths which are no longer necessary\n\nNow that ide-tape uses standard mechanisms to transfer data, special\ncase handling for bh handling can be dropped from ide-atapi.  Drop the\nfollowings.\n\n* pc-\u003ecur_pos, b_count, bh and b_data\n* drive-\u003epc_update_buffers() and pc_io_buffers().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "4344d07fb8dbf0cbfec1f7d7c1afeccaceaaa120",
      "tree": "40a0dccbf1b9100efa71971b930f15e1b2daef1e",
      "parents": [
        "71294cf93d22ceaa75448cc6ebee2c65897be8c2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:32 2009 +0200"
      },
      "message": "ide-tape: simplify read/write functions\n\nImpact: cleanup\n\nidetape_chrdev_read/write() functions are unnecessarily complex when\neverything can be handled in a single loop.  Collapse\nidetape_add_chrdev_read/write_request() into the rw functions and\nsimplify the implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "71294cf93d22ceaa75448cc6ebee2c65897be8c2",
      "tree": "a57f2b7ceea1fc490234aa8474b89ade9e262da3",
      "parents": [
        "3596b66452491a3cff26256a5e6e6061a66c4142"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:32 2009 +0200"
      },
      "message": "ide-tape: use byte size instead of sectors on rw issue functions\n\nImpact: cleanup\n\nByte size is what most issue functions deal with, make\nidetape_queue_rw_tail() and its wrappers take byte size instead of\nsector counts.  idetape_chrdev_read() and write() functions are\nconverted to use tape-\u003ebuffer_size instead of ctl from tape-\u003ecap.\n\nThis cleans up code a little bit and will ease the next r/w\nreimplementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3596b66452491a3cff26256a5e6e6061a66c4142",
      "tree": "059bc3ca0760b1f71eead91a70e1081e7f7be9b8",
      "parents": [
        "6cf3d545f7d71b183e5b89960d4cc850a42c410d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:32 2009 +0200"
      },
      "message": "ide-tape: unify r/w init paths\n\nImpact: cleanup\n\nRead and write init paths are almost identical.  Unify them into\nidetape_init_rw().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6cf3d545f7d71b183e5b89960d4cc850a42c410d",
      "tree": "6c1f861ccf5c8cdd858cacf8800c84a4337c9f13",
      "parents": [
        "e998f30b45efb99a3c3ce7b5483f76317a17abed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:31 2009 +0200"
      },
      "message": "ide-tape: kill idetape_bh\n\nImpact: kill now unnecessary idetape_bh\n\nWith everything using standard mechanisms, there is no need for\nidetape_bh anymore.  Kill it and use tape-\u003ebuf, cur and valid to\ndescribe data buffer instead.\n\nChanges worth mentioning are...\n\n* idetape_queue_rq_tail() now always queue tape-\u003ebuf and and adjusts\n  buffer state properly before completion.\n\n* idetape_pad_zeros() clears the buffer only once.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e998f30b45efb99a3c3ce7b5483f76317a17abed",
      "tree": "a471752f5190dd77d78b2df5cd0c503e60d2f20f",
      "parents": [
        "7b13354eeaabaf6283b8c669a7d67d104ce7c638"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:31 2009 +0200"
      },
      "message": "ide-tape: use standard data transfer mechanism\n\nImpact: use standard way to transfer data\n\nide-tape uses rq in an interesting way.  For r/w requests, rq-\u003especial\nis used to carry a private buffer management structure idetape_bh and\nrq-\u003enr_sectors and current_nr_sectors are initialized to the number of\nidetape blocks which isn\u0027t necessary 512 bytes.  Also,\nrq-\u003ecurrent_nr_sectors is used to report back the residual count in\nunits of idetape blocks.\n\nThis peculiarity taxes both block layer and ide.  ide-atapi has\ndifferent paths and hooks to accomodate it and what a rq means becomes\nquite confusing and making changes at the block layer becomes quite\ndifficult and error-prone.\n\nThis patch makes ide-tape use bio instead.  With the previous patch,\nide-tape currently is using single contiguos buffer so replacing it\nisn\u0027t difficult.  Data buffer is mapped into bio using\nblk_rq_map_kern() in idetape_queue_rw_tail().  idetape_io_buffers()\nand idetape_update_buffers() are dropped and pc-\u003ebh is set to null to\ntell ide-atapi to use standard data transfer mechanism and idetape_bh\nbyte counts are updated by the issuer on completion using the residual\ncount.\n\nThis change also nicely removes the FIXME in ide_pc_intr() where\nide-tape rqs need to be completed using ide_rq_bytes() instead of\nblk_rq_bytes() (although this didn\u0027t really matter as the request\ndidn\u0027t have bio).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7b13354eeaabaf6283b8c669a7d67d104ce7c638",
      "tree": "d8d9bde1f102f5dd8d8c5a504948549e90595a25",
      "parents": [
        "eb6a61bb9543aa54d62595e27206b3d3c0293bcc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:31 2009 +0200"
      },
      "message": "ide-tape: use single continuous buffer\n\nImpact: simpler buffer allocation and handling, kills OOM, fix DMA transfers\n\nide-tape has its own multiple buffer mechanism using struct\nidetape_bh.  It allocates buffer with decreasing order-of-two\nallocations so that it results in minimum number of segments.\nHowever, the implementation is quite complex and works in a way that\nno other block or ide driver works necessitating a lot of special case\nhandling.\n\nThe benefit this complex allocation scheme brings is questionable as\nPIO or DMA the number of segments (16 maximum) doesn\u0027t make any\nnoticeable difference and it also doesn\u0027t negate the need for multiple\norder allocation which can fail under memory pressure or high\nfragmentation although it does lower the highest order necessary by\none when the buffer size isn\u0027t power of two.\n\nAs the first step to remove the custom buffer management, this patch\nmakes ide-tape allocate single continous buffer.  The maximum order is\nfour.  I doubt the change would cause any trouble but if it ever\nmatters, it should be converted to regular sg mechanism like everyone\nelse and even in that case dropping custom buffer handling and moving\nto standard mechanism first make sense as an intermediate step.\n\nThis patch makes the first bh to contain the whole buffer and drops\nmulti bh handling code.  Following patches will make further changes.\n\nThis patch has the side effect of killing OOM triggered by allocation\npath and fixing DMA transfers.  Previously, bug in alloc path\ntriggered OOM on command issue and commands were passed to DMA engine\nwithout DMA-mapping all the segments.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "eb6a61bb9543aa54d62595e27206b3d3c0293bcc",
      "tree": "97d165ad28f62ff4754caff4ebde30e0506259d7",
      "parents": [
        "08f370f0a2fb223bf48d0bfa2a173be0393c19dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:31 2009 +0200"
      },
      "message": "ide-atapi,tape,floppy: allow -\u003epc_callback() to change rq-\u003edata_len\n\nImpact: allow residual count implementation in -\u003epc_callback()\n\nrq-\u003edata_len has two duties - carrying the number of input bytes on\nissue and carrying residual count back to the issuer on completion.\nide-atapi completion callback -\u003epc_callback() is the right place to do\nthis but currently ide-atapi depends on rq-\u003edata_len carrying the\noriginal request size after calling -\u003epc_callback() to complete the pc\nrequest.\n\nThis patch makes ide_pc_intr(), ide_tape_issue_pc() and\nide_floppy_issue_pc() cache length to complete before calling\n-\u003epc_callback() so that it can modify rq-\u003edata_len as necessary.\n\nNote: As using rq-\u003edata_len for two purposes can make cases like this\n      incorrect in subtle ways, future changes will introduce separate\n      field for residual count.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "08f370f0a2fb223bf48d0bfa2a173be0393c19dc",
      "tree": "1e9af2e0941f1c8bd590f32c342676763f451046",
      "parents": [
        "765139ef5f1a4b1d5cb1f1a7a12de7ee61f6500f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 08:46:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:31 2009 +0200"
      },
      "message": "ide-tape,floppy: fix failed command completion after request sense\n\nImpact: fix infinite retry loop\n\nAfter a command failed, ide-tape and floppy inserts REQUEST_SENSE in\nfront of the failed command and according to the result, sets\npc-\u003eretries, flags and errors.  After REQUEST_SENSE is complete, the\nfailed command is again at the front of the queue and if the verdict\nwas to terminate the request, the issue functions tries to complete it\ndirectly by calling drive-\u003epc_callback() and returning ide_stopped.\n\nHowever, drive-\u003epc_callback() doesn\u0027t complete a request.  It only\nprepares for completion of the request.  As a result, this creates an\ninfinite loop where the failed request is retried perpetually.\n\nFix it by actually ending the request by calling ide_complete_rq().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "765139ef5f1a4b1d5cb1f1a7a12de7ee61f6500f",
      "tree": "cced409300ad193c7a3d9203441834c629cfcb7e",
      "parents": [
        "02e7cf8f848841ca21864ccd019e480b73c323b7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:43 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:30 2009 +0200"
      },
      "message": "ide-pm: don\u0027t abuse rq-\u003edata\n\nImpact: cleanup rq-\u003edata usage\n\nide-pm uses rq-\u003edata to carry pointer to struct request_pm_state\nthrough request queue and rq-\u003especial is used to carray pointer to\nlocal struct ide_cmd, which isn\u0027t necessary.  Use rq-\u003especial for\nrequest_pm_state instead and use local ide_cmd in\nide_start_power_step().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "02e7cf8f848841ca21864ccd019e480b73c323b7",
      "tree": "eb8b88b0b253f7063bfbee063df817fbac6eb60f",
      "parents": [
        "068753203e6cd085664a62e0fc0636e19b148a12"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:30 2009 +0200"
      },
      "message": "ide-cd,atapi: use bio for internal commands\n\nImpact: unify request data buffer handling\n\nrq-\u003edata is used mostly to pass kernel buffer through request queue\nwithout using bio.  There are only a couple of places which still do\nthis in kernel and converting to bio isn\u0027t difficult.\n\nThis patch converts ide-cd and atapi to use bio instead of rq-\u003edata\nfor request sense and internal pc commands.  With previous change to\nunify sense request handling, this is relatively easily achieved by\nadding blk_rq_map_kern() during sense_rq prep and PC issue.\n\nIf blk_rq_map_kern() fails for sense, the error is deferred till sense\nissue and aborts the failed command which triggered the sense.  Note\nthat this is a slim possibility as sense prep is done on each command\nissue, so for the above condition to actually trigger, all preps since\nthe last sense issue till the issue of the request which would require\na sense should fail.\n\n* do_request functions might sleep now.  This should be okay as ide\n  request_fn - do_ide_request() - is invoked only from make_request\n  and plug work.  Make sure this is the case by adding might_sleep()\n  to do_ide_request().\n\n* Functions which access the read sense data before the sense request\n  is complete now should access bio_data(sense_rq-\u003ebio) as the sense\n  buffer might have been copied during blk_rq_map_kern().\n\n* ide-tape updated to map sg.\n\n* cdrom_do_block_pc() now doesn\u0027t have to deal with REQ_TYPE_ATA_PC\n  special case.  Simplified.\n\n* tp_ops-\u003eoutput/input_data path dropped from ide_pc_intr().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "068753203e6cd085664a62e0fc0636e19b148a12",
      "tree": "d3eec62f2ecd5524c89bb7c8d4f482e93a4cc196",
      "parents": [
        "c457ce874a0f3dfa3d5e9f2309789f6f34e24325"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:30 2009 +0200"
      },
      "message": "ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer\n\nSince we\u0027re issuing REQ_TYPE_SENSE now we need to allow those types of\nrqs in the -\u003edo_request callbacks. As a future improvement, sense_len\nassignment might be unified across all ATAPI devices. Borislav to\ncheck with specs and test.\n\nAs a result, get rid of ide_queue_pc_head() and\ndrive-\u003erequest_sense_rq.\n\ntj: * Init request sense ide_atapi_pc from sense request.  In the\n      longer timer, it would probably better to fold\n      ide_create_request_sense_cmd() into its only current user -\n      ide_floppy_get_format_progress().\n\n    * ide_retry_pc() no longer takes @disk.\n\nCC: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCC: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "c457ce874a0f3dfa3d5e9f2309789f6f34e24325",
      "tree": "bd6a66e463d2360c9a6fbbfbad085935c91c4ddc",
      "parents": [
        "e69d800f7e8797a8e3423380ee9d8ca1cb90c388"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:30 2009 +0200"
      },
      "message": "ide-cd: convert to using generic sense request\n\nPreallocate a sense request in the -\u003edo_request method and reinitialize\nit only on demand, in case it\u0027s been consumed in the IRQ handler path.\nThe reason for this is that we don\u0027t want to be mapping rq to bio in\nthe IRQ path and introduce all kinds of unnecessary hacks to the block\nlayer.\n\ntj: * Both user and kernel PC requests expect sense data to be stored\n      in separate storage other than drive-\u003esense_data.  Copy sense\n      data to rq-\u003esense on completion if rq-\u003esense is not NULL.  This\n      fixes bogus sense data on PC requests.\n\nAs a result, remove cdrom_queue_request_sense.\n\nCC: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCC: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "e69d800f7e8797a8e3423380ee9d8ca1cb90c388",
      "tree": "4f2241b44bf56db7e8f977b742a5e56f53424596",
      "parents": [
        "1f181d2b1569dfb88a584a6e1847e9e1c7645951"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:30 2009 +0200"
      },
      "message": "ide: add helpers for preparing sense requests\n\nThis is in preparation of removing the queueing of a sense request out\nof the IRQ handler path.\n\nUse struct request_sense as a general sense buffer for all ATAPI\ndevices ide-{floppy,tape,cd}.\n\ntj: * blk_get_request(__GFP_WAIT) can\u0027t be called from do_request() as\n      it can cause deadlock.  Converted to use inline struct request\n      and blk_rq_init().\n\n    * Added xfer / cdb len selection depending on device type.\n\n    * All sense prep logics folded into ide_prep_sense() which never\n      fails.\n\n    * hwif-\u003erq clearing and sense_rq used handling moved into\n      ide_queue_sense_rq().\n\n    * blk_rq_map_kern() conversion is moved to later patch.\n\nCC: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCC: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "1f181d2b1569dfb88a584a6e1847e9e1c7645951",
      "tree": "7a72aa199dddc8ea39cc424bb2c21f34e58089df",
      "parents": [
        "ac0b0113ddbab3ed2388132d368c97292f9f3c84"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide-cd: don\u0027t abuse rq-\u003ebuffer\n\nImpact: rq-\u003ebuffer usage cleanup\n\nide-cd uses rq-\u003ebuffer to carry pointer to the original request when\nissuing REQUEST_SENSE.  Use rq-\u003especial instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ac0b0113ddbab3ed2388132d368c97292f9f3c84",
      "tree": "78a955c9169a03ec364e4021c0ca929c7424ff7a",
      "parents": [
        "d868ca24302e99a0e8a86071ca2c66273edf97d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide-atapi: don\u0027t abuse rq-\u003ebuffer\n\nImpact: rq-\u003ebuffer usage cleanup\n\nide-atapi uses rq-\u003ebuffer as private opaque value for internal special\nrequests.  rq-\u003especial isn\u0027t used for these cases (the only case where\nrq-\u003especial is used is for ide-tape rw requests).  Use rq-\u003especial\ninstead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "d868ca24302e99a0e8a86071ca2c66273edf97d9",
      "tree": "447a39c6e1880f16ff329b9014471945a9db0e22",
      "parents": [
        "8968932e54db35cf9d69cfbbd50c26dfaaa586c7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide-taskfile: don\u0027t abuse rq-\u003ebuffer\n\nImpact: rq-\u003ebuffer usage cleanup\n\nide_raw_taskfile() directly uses rq-\u003ebuffer to carry pointer to the\ndata buffer.  This complicates both block interface and ide backend\nrequest handling.  Use blk_rq_map_kern() instead and drop special\nhandling for REQ_TYPE_ATA_TASKFILE from ide_map_sg().\n\nNote that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it\nto initialize bio rw flag.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8968932e54db35cf9d69cfbbd50c26dfaaa586c7",
      "tree": "3ed9e5441de92603ad60755b7f0a6129eef17c7d",
      "parents": [
        "59a4f6f355fc718581ddcf1bb45a469d4756c035"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide-floppy: block pc always uses bio\n\nImpact: remove unnecessary code path\n\nBlock pc requests always use bio and rq-\u003edata is always NULL.  No need\nto worry about !rq-\u003ebio cases in idefloppy_block_pc_cmd().  Note that\nide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg\nfine.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "59a4f6f355fc718581ddcf1bb45a469d4756c035",
      "tree": "4593ab2fdf3a8521a63c07b47c717c1e6d84e6ff",
      "parents": [
        "214ae19104141404f18ad6651752eb38e3dd584e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide-cd: clear sense buffer before issuing request sense\n\nImpact: code simplification\n\nide_cd_request_sense_fixup() clears the tail of the sense buffer if\nthe device didn\u0027t completely fill it.  This patch makes\ncdrom_queue_request_sense() clear the sense buffer before issuing the\ncommand instead of clearing it afterwards.  This simplifies code and\neases future changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "214ae19104141404f18ad6651752eb38e3dd584e",
      "tree": "90e7df7b0cac3fb374206eb6ee2bfe236bd8d1f8",
      "parents": [
        "b2963ac1738542d30305d7e12c8c078a383a425c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:29 2009 +0200"
      },
      "message": "ide kill unused ide_cmd-\u003especial\n\nImpact: removal of unused field\n\nNo one uses ide_cmd-\u003especial anymore.  Kill it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b2963ac1738542d30305d7e12c8c078a383a425c",
      "tree": "7f180c249b6aef5acce84eb11cea41a0e237e5eb",
      "parents": [
        "220d06b5531e7b8a6226b2fdfb21198c3ccc4f76"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "ide: don\u0027t set REQ_SOFTBARRIER\n\nide doesn\u0027t have to worry about REQ_SOFTBARRIER.  Don\u0027t set it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "220d06b5531e7b8a6226b2fdfb21198c3ccc4f76",
      "tree": "9babf9bbe555dc77570bfafc5e8c86c835056c2f",
      "parents": [
        "0de57fb93b1daaeaecb658a98b3299ae460c02e9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "ide: use blk_run_queue() instead of blk_start_queueing()\n\nblk_start_queueing() is being phased out in favor of\n[__]blk_run_queue().  Switch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0de57fb93b1daaeaecb658a98b3299ae460c02e9",
      "tree": "619690c0244902c9d7879a309298b5ae20cfe2af",
      "parents": [
        "924cec7789f65ab7f022256f6533ecba0747b5f3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "ide-tape: remove back-to-back REQUEST_SENSE detection\n\nImpact: fix an oops which always triggers\n\nide_tape_issue_pc() assumed drive-\u003epc isn\u0027t NULL on invocation when\nchecking for back-to-back request sense issues but drive-\u003epc can be\nNULL and even when it\u0027s not NULL, it\u0027s not safe to dereference it once\nthe previous command is complete because pc could have been freed or\nwas on stack.  Kill back-to-back REQUEST_SENSE detection.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "924cec7789f65ab7f022256f6533ecba0747b5f3",
      "tree": "aeb53f094712161d61990d22fecb0874e4ff3f2a",
      "parents": [
        "e686307fdc84f249490e6c9da92fcb2424491f14"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Apr 19 07:00:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "block: clear req-\u003eerrors on bio completion only for fs requests\n\nImpact: subtle behavior change\n\nFor fs requests, rq is only carrier of bios and rq error status as a\nwhole doesn\u0027t mean much.  This is the reason why rq-\u003eerrors is being\ncleared on each partial completion of a request as on each partial\ncompletion the error status is transferred to the respective bios.\n\nFor pc requests, rq-\u003eerrors is used to carry error status to the\nissuer and thus __end_that_request_first() doesn\u0027t clear it on such\ncases.\n\nThe condition was fine till now as only fs and pc requests have used\nbio and thus the bio completion path.  However, future changes will\nunify data accesses to bio and all non fs users care about rq error\nstatus.  Clear rq-\u003eerrors on bio completion only for fs requests.\n\nIn general, the implicit clearing is a bit too subtle especially as\nthe meaning of rq-\u003eerrors is completely dependent on low level\ndrivers.  Unifying / cleaning up rq-\u003eerrors usage and letting llds\nmanage it would be better.  TODO comment added.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "e686307fdc84f249490e6c9da92fcb2424491f14",
      "tree": "d0174abe1f71a4435bf4b7a5822bfdc7dcf650aa",
      "parents": [
        "e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Apr 17 08:41:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "loop: use BIO list management functions\n\nNow that the bio list management stuff is generic, convert loop to use\nbio lists instead of its own private bio list implementation.\n\nCc:  Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf",
      "tree": "72671e9cad1d1fa6acadd7e389515f3579f3ff26",
      "parents": [
        "7090a0a97f55cbf47547a140fcc5a349f32c598c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "hd: fix locking\n\nhd dance around local irq and HD_IRQ enable without achieving much.\nIt ends up transferring data from irq handler with both local irq and\nHD_IRQ disabled.  The only place it actually does something is while\ntransferring the first block of a request which it does with HD_IRQ\ndisabled but local irq enabled.\n\nUnfortunately, the dancing is horribly broken from locking POV.  IRQ\nand timeout handlers access block queue without grabbing the queue\nlock and running the driver in SMP configuration crashes the whole\nmachine pretty quickly.\n\nRemove meaningless irq enable/disable dancing and add proper locking\nin issue, irq and timeout paths.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "7090a0a97f55cbf47547a140fcc5a349f32c598c",
      "tree": "d82b1b376559f94aa9106621c410a2bb58be3ea1",
      "parents": [
        "ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "mg_disk: fix CONFIG_LBD\u003dy warning\n\ndrivers/block/mg_disk.c: In function ‘mg_dump_status’:\ndrivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but\nargument 2 has type ‘sector_t’\n\n[ Impact: kill build warning ]\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5",
      "tree": "ab50d2e1bcf5c76bb9e018839d77ff531e7e4c83",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:32 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "mg_disk: fix locking\n\nIRQ and timeout handlers call functions which expect locked queue lock\nwithout locking it.  Fix it.\n\nWhile at it, convert 0s used as null pointer constant to NULLs.\n\n[ Impact: fix locking, cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\n"
    },
    {
      "commit": "ce8a7424d23a36f043d0de8484f888971c831119",
      "tree": "63e2a42e118c787e8d79638816552a1d7c03a553",
      "parents": [
        "bbe215c231ac809e42b037345c1fa8e8eb09b00a"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:08 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:39 2009 -0700"
      },
      "message": "sparc: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbe215c231ac809e42b037345c1fa8e8eb09b00a",
      "tree": "d58f315a1a580a1e1104cbe7fd3c3958254757e4",
      "parents": [
        "2133bb8d8c691c08d47f16d5971ba98f0ac241bf"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:07 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:39 2009 -0700"
      },
      "message": "sh: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2133bb8d8c691c08d47f16d5971ba98f0ac241bf",
      "tree": "252b1376f679da116d45688fb427e0b64322d45a",
      "parents": [
        "e70398458738fd26f96adc95eea8efe908809f08"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:06 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:39 2009 -0700"
      },
      "message": "s390: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e70398458738fd26f96adc95eea8efe908809f08",
      "tree": "b2e7da5ad3a0dce29d9066c2a87d3a66e15d3d34",
      "parents": [
        "9760f8fc60766f8fde0ef5cf7df714c2ce864ab6"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:05 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "powerpc: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9760f8fc60766f8fde0ef5cf7df714c2ce864ab6",
      "tree": "7b1177a47336fd2f68f9331ee47f4444c585dded",
      "parents": [
        "6f335cab0431d5df4995bcd4fd952d4c746d5a86"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:04 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "mn10300: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f335cab0431d5df4995bcd4fd952d4c746d5a86",
      "tree": "fa4bd2c2a79d54b53995c6586cd4c67fb18afbef",
      "parents": [
        "34963696629b6d1e0066a5f2e67993e409c9434b"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:03 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "m68k: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34963696629b6d1e0066a5f2e67993e409c9434b",
      "tree": "e5d0e2fbb74798b28a222d5d424e1b75987e8464",
      "parents": [
        "b6a8d95c95814079ded93c14c4b394015d8b65cd"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:11:02 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "m32r: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6a8d95c95814079ded93c14c4b394015d8b65cd",
      "tree": "d7f1b8ea9df0827047c0a56ed940066cbd0e3259",
      "parents": [
        "92ca52343ca503c1f957bd649df4ef914d5fc1e8"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:10:59 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "frv: convert frv to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ca52343ca503c1f957bd649df4ef914d5fc1e8",
      "tree": "7be3eb7914ca79b65fc68a14c9e885b56d462f18",
      "parents": [
        "0ebdcb4d0480d1b8219cf5f9eab0fb5d889af0ad"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:10:58 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "alpha: convert to use __HEAD and HEAD_TEXT macros.\n\nThis has the consequence of changing the section name use for head\ncode from \".text.head\" to \".head.text\".  Since this commit changes all\nusers in the architecture, this change should be harmless.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ebdcb4d0480d1b8219cf5f9eab0fb5d889af0ad",
      "tree": "0208d6eb248077260467eec3bd8746ab0e8bfd2b",
      "parents": [
        "c80d471a476b6d6fe0bc1fd25293c24c66b7aaaf"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:10:57 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "xtensa: convert to use __HEAD and HEAD_TEXT macros.\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c80d471a476b6d6fe0bc1fd25293c24c66b7aaaf",
      "tree": "e7e6cf35915186c614728dadbd95c5197bff0075",
      "parents": [
        "0c8454f56623505a99463405fd7d5664adfbb094"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@MIT.EDU",
        "time": "Sat Apr 25 22:10:56 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 09:20:38 2009 -0700"
      },
      "message": "Add new HEAD_TEXT_SECTION macro.\n\nThis patch is preparation for replacing all uses of \".head.text\" or\n\".text.head\" in the kernel with macros, so that the section name can\nlater be changed without having to touch a lot of the kernel.\n\nSince some linker scripts do more complex things than referencing\nHEAD_TEXT, we add a HEAD_TEXT_SECTION macro that just contains the\nactual name.\n\nI\u0027ve defined HEAD_TEXT_SECTION in a new header,\ninclude/linux/section-names.h, so that this section name only needs to\nappear in one place.  I anticipate creating similar macro structures\nfor a number of other section names.\n\nThe long-term goal here is to be able to change the kernel\u0027s magic\nsection names to those that are compatible with -ffunction-sections\n-fdata-sections.  This requires renaming all magic sections with names\nof the form \".text.foo\".\n\nSigned-off-by: Tim Abbott \u003ctabbott@mit.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c8454f56623505a99463405fd7d5664adfbb094",
      "tree": "64e594f2846d997213890b59168307d12e676ff0",
      "parents": [
        "4b2b0b9753194cad44d7295c32044b89710efd70"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 25 00:16:06 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 15:31:30 2009 -0700"
      },
      "message": "PM/Hibernate: Fix waiting for image device to appear on resume\n\nCommit c751085943362143f84346d274e0011419c84202 (\"PM/Hibernate: Wait for\nSCSI devices scan to complete during resume\") added a call to\nscsi_complete_async_scans() to software_resume(), so that it waited for\nthe SCSI scanning to complete, but the call was added at a wrong place.\n\nNamely, it should have been added after wait_for_device_probe(), which\nis called only if the image partition hasn\u0027t been specified yet.  Also,\nit\u0027s reasonable to check if the image partition is present and only wait\nfor the device probing and SCSI scanning to complete if it is not the\ncase.\n\nAdditionally, since noresume is checked right at the beginning of\nsoftware_resume() and the function returns immediately if it\u0027s set, it\ndoesn\u0027t make sense to check it once again later.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b2b0b9753194cad44d7295c32044b89710efd70",
      "tree": "7ff42b7aa3f05bcf61cfdb7abb2c23418b218291",
      "parents": [
        "84baf74bf23bbe9f3deafb5d2f27e2b5dc0bc052"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 23 16:41:18 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "ROMFS: Advance destination buffer pointer when reading from a blockdev\n\nRomFS should advance the destination buffer pointer when reading data from a\nblockdev source (the data may be split over multiple blocks, each requiring its\nown sb_read() call).  Without this, all the data is copied to the beginning of\nthe output buffer.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84baf74bf23bbe9f3deafb5d2f27e2b5dc0bc052",
      "tree": "45af84d051ca760a9f9f24aa3775e5505ccd3627",
      "parents": [
        "a5422a5111811401f7756345e4c237ff06cf6d1e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 23 16:41:13 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "ROMFS: romfs_lookup() shouldn\u0027t be doing a partial name comparison\n\nromfs_lookup() should be using a routine akin to strcmp() on the backing store,\nrather than one akin to strncmp().  If it uses the latter, it\u0027s liable to match\n/bin/shutdown when looking up /bin/sh.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5422a5111811401f7756345e4c237ff06cf6d1e",
      "tree": "4744be4aba038150cd36f8ddcd2cf1e9ae9d8ab5",
      "parents": [
        "91ac033d8377552d3654501a105ab55bf546940e"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Thu Apr 23 16:40:32 2009 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "lib: find_last_bit.o needed by a module only, move it from lib to obj\n\nCurrently, although find_last_bit is EXPORTed, it is statically linked\nwith the kernel and is referenced only under CONFIG_SMP.\n\nWhen CONFIG_SMP is undefined and find_last_bit is referenced only by\nmodules, linking fails with:\n\n  ERROR: \"find_last_bit\" [fs/nfs/nfs.ko] undefined!\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91ac033d8377552d3654501a105ab55bf546940e",
      "tree": "b3757b6b5f2180edb94049971850f76355abaa19",
      "parents": [
        "e5b89542ea18020961882228c26db3ba87f6e608"
      ],
      "author": {
        "name": "Marc Dionne",
        "email": "marc.c.dionne@gmail.com",
        "time": "Thu Apr 23 11:21:55 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:30 2009 -0700"
      },
      "message": "CacheFiles: Fix the documentation to use the correct credential pointer names\n\nAdjust the CacheFiles documentation to use the correct names of the credential\npointers in task_struct.\n\nThe documentation was using names from the old versions of the credentials\npatches.\n\nSigned-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5b89542ea18020961882228c26db3ba87f6e608",
      "tree": "d304de3e207ab02d9e02f944f54cebcf31ea2e73",
      "parents": [
        "9f5a691253924fd033a58c6b1fed57bb0a4eccf4"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Apr 23 16:42:59 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:30 2009 -0700"
      },
      "message": "virtio-rng: Remove false BUG for spurious callbacks\n\nThe virtio-rng drivers checks for spurious callbacks. Since\ncallbacks can be implemented via shared interrupts (e.g. PCI) this\ncould lead to guest kernel oopses with lots of virtio devices.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f5a691253924fd033a58c6b1fed57bb0a4eccf4",
      "tree": "a30083700699ddfd89b72fa3e42e635e5e6f38c3",
      "parents": [
        "ef54b1bb2e4de212a89a2692a7b2efd70b5fb559",
        "f57f2fe2a39338c47b67fbd564a9d3b7587bcbee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:54:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:54:30 2009 -0700"
      },
      "message": "Merge branch \u0027fixes-for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027fixes-for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  microblaze: add parameter to microblaze_read()\n  microblaze: Use CFLAGS_KERNEL instead of CFLAGS\n  microblaze: Add STATE_SAVE_ARG_SPACE for noMMU kernel too\n  microblaze: Do not check use_dcache\n  microblaze: Do not use PVR configuration for broken MB version\n  microblaze: Fix USR1/2 pvr printing message\n  microblaze: iowrite upon timeout\n  microblaze: Correspond CONFIG...PCMP in Makefile/Kconfig\n  microblaze: Remove redundant variable\n  microblaze: Move start_thread to process.c\n  microblaze: Add missing preadv and pwritev syscalls\n  microblaze: Add missing declaration for die and _exception func\n  microblaze: Remove sparse error in traps.c\n  microblaze: Move task_pt_regs up\n  microblaze: Rename kernel_mode to pt_mode in pt_regs\n  microblaze: Remove uncache shadow condition\n  microblaze: Remove while(1) loop from show_regs function\n  microblaze: Remove unneded per cpu SYSCALL_SAVE variable\n"
    },
    {
      "commit": "ef54b1bb2e4de212a89a2692a7b2efd70b5fb559",
      "tree": "41f8a3f0b6bc234efb5151d7b6852babe7fe75a6",
      "parents": [
        "9fe9293d14e8418f29136216f0180f47270a916a",
        "1162cf6bc6c4650943735438e2be0785ea40a3c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:48:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:48:17 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)\n  ACPI, i915: Register ACPI video even when not modesetting\n  Revert \"ACPICA: delete check for AML access to port 0x81-83\"\n  I/O port protection: update for windows compatibility.\n  sony-laptop: always try to unblock rfkill on load\n  sony-laptop: fix bogus error message display on resume\n  ACPI: EC: Fix ACPI EC resume non-query interrupt message\n  sony-laptop: SNC input event 38 fix\n  sony-laptop: SNC 127 Initialization Fix\n  sony-laptop: Duplicate SNC 127 Event Fix\n  ACPI: prevent processor.max_cstate\u003d0 boot crash\n  ACPI/hpet: prevent boot hang when hpet\u003dforce used on ICH-4M\n  ACPI: delete obsolete \"bus master activity\" proc field\n  ACPI: idle: mark_tsc_unstable() at init-time, not run-time\n  ACPI: add /sys/firmware/acpi/interrupts/sci_not counter\n  ACPI video: fix an error when the brightness levels on AC and on Battery are same\n  acpi-cpufreq: Do not let get_measured perf depend on internal variable\n  acpi-cpufreq: style-only: add parens to math expression\n  acpi-cpufreq: Cleanup: Use printk_once\n  x86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf\n  thinkpad-acpi: bump up version to 0.23\n  ...\n"
    },
    {
      "commit": "9fe9293d14e8418f29136216f0180f47270a916a",
      "tree": "62e4efbb4833940a6eafd98d950275c5b3f08c66",
      "parents": [
        "a4277bf122e907e4fec509fc0bd9bf5fde30b14e",
        "64f68416e794d59a42ddffdf1c5b7f026a4f23d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:45:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:45:53 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: update the default config for the ColdFire 5407C3 board\n  m68knommu: update the default config for the ColdFire 5307C3 board\n  m68knommu: update the default config for the ColdFire 5257EVB board\n  m68knommu: update the default config for the ColdFire 5249EVB.\n  m68knommu: add a defconfig for the ColdFire M5272C3 board\n  m68knommu: update the defconfig for the ColdFire 5208evb board\n  m68knommu: fix DMA support for ColdFire\n  m68knommu: remove unused kernel stats offsets\n  m68knommu: fix missing .data.cacheline_aligned section\n  m68knommu: Fixed GPIO pin initialization for CONFIG_M5271 FEC.\n"
    },
    {
      "commit": "a4277bf122e907e4fec509fc0bd9bf5fde30b14e",
      "tree": "b359e8b0f7895acda1d6331332e69ea5b14d5f0d",
      "parents": [
        "6ae85d6db4871d8dbcb5cc0e9056f97f1ca07061",
        "b5451f7b2694b04d9f912f6cf09db1729f291996"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix potential inode allocation soft lockup in Orlov allocator\n  ext4: Make the extent validity check more paranoid\n  jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  ext4: really print the find_group_flex fallback warning only once\n"
    },
    {
      "commit": "6ae85d6db4871d8dbcb5cc0e9056f97f1ca07061",
      "tree": "d0a6fa2e4fcef36a4c80990a361c0d5fbe091c35",
      "parents": [
        "d72cd3a90e4d6725b62919139e2ab7bd926fa16d",
        "fdd8b079e33d4711527ace19798e9db99a056469"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:36:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:36:41 2009 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 5460/1: Orion: reduce namespace pollution\n  [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config\n  [ARM] 5457/1: mach-imx gpio buildfix\n  [ARM] 5456/1: add sys_preadv and sys_pwritev\n  [ARM] pxa/pcm990: start external GPIOs immediately after built-in ones\n  [ARM] pxa/palm27x: General fix for Palm27x aSoC driver\n  [ARM] pxa/mioa701: use GPIO95 as AC97 reset line\n  [ARM] pxa: merge AC97 platform data structures\n  [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h\n"
    },
    {
      "commit": "d72cd3a90e4d6725b62919139e2ab7bd926fa16d",
      "tree": "771731ecee0ebdd60dcda2173945cff28edc8e71",
      "parents": [
        "ff91fad2db543325d7221c26ff42d7df3c574064",
        "6b35ca0d3d586b8ecb8396821af21186e20afaf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:36:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:36:06 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  USB: pwc : do not pass stack allocated buffers to USB core.\n  USB: otg: Fix bug on remove path without transceiver\n  USB: correct error handling in cdc-wdm\n  USB: removal of tty-\u003elow_latency hack dating back to the old serial code\n  USB: serial: sierra driver bug fix for composite interface\n  USB: gadget: omap_udc uses platform_driver_probe()\n  USB: ci13xxx_udc: fix build error\n  USB: musb: Prevent multiple includes of musb.h\n  USB: pass mem_flags to dma_alloc_coherent\n  USB: g_file_storage: fix use-after-free bug when closing files\n  USB: ehci-sched.c: EHCI SITD scheduling bugfix\n  USB: fix mos7840 problem with minor numbers\n  USB: mos7840: add new device id\n  USB: musb: fix build when !CONFIG_PM\n  USB: musb: Remove my email address from few musb related drivers\n  USB: Gadget: MIPS CI13xxx UDC bugfixes\n  USB: Unusual Device support for Gold MP3 Player Energy\n  USB: serial: fix lifetime and locking problems\n"
    },
    {
      "commit": "ff91fad2db543325d7221c26ff42d7df3c574064",
      "tree": "81a61647a9c3f98acdae1e93e22d6628f76a4042",
      "parents": [
        "198aa045601d20f39658c892dc626e16993bae78",
        "3a6b42cadc112b01daf0525e5fcd90bb333a5bb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Larger buffer for encrypted symlink targets\n  eCryptfs: Lock lower directory inode mutex during lookup\n  eCryptfs: Remove ecryptfs_unlink_sigs warnings\n  eCryptfs: Fix data corruption when using ecryptfs_passthrough\n  eCryptfs: Print FNEK sig properly in /proc/mounts\n  eCryptfs: NULL pointer dereference in ecryptfs_send_miscdev()\n  eCryptfs: Copy lower inode attrs before dentry instantiation\n"
    },
    {
      "commit": "198aa045601d20f39658c892dc626e16993bae78",
      "tree": "ef000627fabe4fa3ff1818dc2e591b6417ca1eb6",
      "parents": [
        "58be18c4de37b9277b045c0b5bb123a664dac9ed",
        "adfe7c69891128f5e238a5e6823709b4bb85b340"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:23 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:\n  m68k: Update defconfigs for 2.6.30-rc3\n  m68k,m68knommu: Wire up preadv and pwritev\n  scsi: a4000 - Correct driver unregistration in case of failure\n"
    },
    {
      "commit": "58be18c4de37b9277b045c0b5bb123a664dac9ed",
      "tree": "370d55da6958b7b31aeaffc278512fea1111134d",
      "parents": [
        "12bac708e6242b0ccd969519582b2938d78289bb",
        "e655dc8873b2390d92888095af6adad822a8b386"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:28:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:28:27 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] update default configuration.\n  [S390] omit frame pointers on s390 when possible\n  [S390] Use tape_generic_offline directly.\n  [S390] /proc/stat idle field for idle cpus\n  [S390] appldata: avoid deadlock with appldata_mem\n  [S390] ipl: fix compile breakage\n"
    },
    {
      "commit": "12bac708e6242b0ccd969519582b2938d78289bb",
      "tree": "4cf804bcf1a3afb90044f8b33405ea6713c8731e",
      "parents": [
        "60911731fe7fd4ec4d088fc1a48a56c9fb14103f",
        "d9ba7615bfd8bb06f79c853f9dfff9e93a837941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:27:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:27:02 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Ensure that the inode goal block settings are updated\n  GFS2: Fix bug in block allocation\n  bitops: Add __ffs64 bitop\n"
    },
    {
      "commit": "60911731fe7fd4ec4d088fc1a48a56c9fb14103f",
      "tree": "a4343a10d8cb6195dbda3bc2bc2688e42de70fb4",
      "parents": [
        "d1f53fb90ee631a2cf8f7bdd0e921a338106e4f9",
        "888d256e9c565cb61505bd218eb37c81fe77a325"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:26:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:26:01 2009 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.30\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.30\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Unregister cpufreq notifier on unload\n  KVM: x86: release time_page on vcpu destruction\n  KVM: Fix overlapping check for memory slots\n  KVM: MMU: disable global page optimization\n  KVM: ia64: fix locking order entering guest\n  KVM: MMU: Fix off-by-one calculating large page count\n"
    },
    {
      "commit": "d1f53fb90ee631a2cf8f7bdd0e921a338106e4f9",
      "tree": "94b0177d06d5c648808b0dec0241b33a51d3d27e",
      "parents": [
        "90c8fce53a48dd22cf09c67c861e3aaad17026ed",
        "b930f964cfe65941c6b1ba61efedfe49da3f6353"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:16:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:16:05 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  MAINTAINERS: update IDE entry\n  palm_bk3710: palm_bk3710_udmatimings[] CodingStyle fixup\n  palm_bk3710: those registers/bitfields don\u0027t exist\n  mediabay: fix build for CONFIG_BLOCK\u003dn\n  ide: Stop disks on reboot for laptop which cuts power\n  ide-cd: fix kernel crash on hppa regression\n  palm_bk3710: UDMA performance fix\n"
    },
    {
      "commit": "90c8fce53a48dd22cf09c67c861e3aaad17026ed",
      "tree": "f01c25071ac92a1554338ddfa6e6c1bcf000fb27",
      "parents": [
        "ec5f5bf80501abfe2da2897cfcde8452b545aacb",
        "248e88247a0e03125a663be69f2656d2e158371e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:15:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:15:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Add quirk for Packard Bell RS65\n  [ALSA] intel8x0: another attempt to fix ac97_clock measure routine\n  [ALSA] ac97_codec: increase timeout for analog subsections\n  ALSA: hda - Add quirks for Realtek codecs\n  ALSA: hda - Fix alc662_init_verbs\n  ALSA: keywest: Convert to new-style i2c driver\n  ALSA: AOA: Convert onyx and tas codecs to new-style i2c drivers\n  ALSA: Atiixp: Add SSID for mute_led quirk (unknown HP model)\n  ALSA: us122l: add snd_us122l_free()\n  ASoC: Fix warning in wm9705\n  ASoC: OMAP: Update contact addresses\n  ASoC: pxa-ssp: Don\u0027t use SSCR0_SerClkDiv and SSCR0_SCR\n  ALSA: us122l: Fix signedness in comparisions\n"
    },
    {
      "commit": "ec5f5bf80501abfe2da2897cfcde8452b545aacb",
      "tree": "a2426e9f1b0d288105b6be6fb992a00489f2b204",
      "parents": [
        "79e95eba026944ec3353754f24e316d3aaa209fe"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 22 15:03:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:52:08 2009 -0700"
      },
      "message": "radio_si470x: Fix free memory corruption\n\nThe release path for a disconnected device frees the object then unlocks\nthe mutex in the freed object...\n\nFound by Dan Carpenter using Smatch\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79e95eba026944ec3353754f24e316d3aaa209fe",
      "tree": "d3fe6002a77de0999387ad11a790f5488fae2d65",
      "parents": [
        "67cd724f6d0919072a284f150a5761a160ac5cfa"
      ],
      "author": {
        "name": "Niels de Vos",
        "email": "niels.devos@wincor-nixdorf.com",
        "time": "Wed Apr 22 15:02:44 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:52:08 2009 -0700"
      },
      "message": "serial: remove contact data\n\nRemove my name and emailaddress from note in the source. Wincor Nixdorf\nonly has some ITE-chips on their mainboards, other chips are not\navailable for me for testing.\n\nSigned-off-by: Niels de Vos \u003cniels.devos@wincor-nixdorf.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67cd724f6d0919072a284f150a5761a160ac5cfa",
      "tree": "c4db9a6c25a20d2db0020d8aa71eaff4f276f001",
      "parents": [
        "97c68d00dbb2decda4b3dce79ce55df04246a834"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 22 15:02:23 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:52:08 2009 -0700"
      },
      "message": "cafe_nand: Fix warning\n\nWrong types on IRQ handler\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97c68d00dbb2decda4b3dce79ce55df04246a834",
      "tree": "f7c2f3185e4dfb073f6d268b4aa0a4d9a0015ece",
      "parents": [
        "596a5c4e43b08e90c0cd788861f859bf7ed6eddc",
        "f2d1f0ae7851be5ebd9613a80dac139270938809"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:48:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:48:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: cache prio_tree root in cfqq-\u003ep_root\n  cfq-iosched: fix bug with aliased request and cooperation detection\n  cfq-iosched: clear -\u003eprio_trees[] on cfqd alloc\n  block: fix intermittent dm timeout based oops\n  umem: fix request_queue lock warning\n  block: simplify I/O stat accounting\n  pktcdvd.h should include mempool.h\n  cfq-iosched: use the default seek distance when there aren\u0027t enough seek samples\n  cfq-iosched: make seek_mean converge more quickly\n  block: make blk_abort_queue() ignore non-request based devices\n  block: include empty disks in /proc/diskstats\n  bio: use bio_kmalloc() in copy/map functions\n  bio: fix bio_kmalloc()\n  block: fix queue bounce limit setting\n  block: fix SG_IO vector request data length handling\n  scatterlist: make sure sg_miter_next() doesn\u0027t return 0 sized mappings\n"
    },
    {
      "commit": "596a5c4e43b08e90c0cd788861f859bf7ed6eddc",
      "tree": "923c5e6e642880f7a8a9f7973bf24a1a661f58b0",
      "parents": [
        "418df63c2d94f238ac7e1d1d53be35dd6b7a7252"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 22 12:10:07 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:47:59 2009 -0700"
      },
      "message": "MN10300: Update the ASB2303 defconfig\n\nUpdate the defconfig for the ASB2303 evaluation board.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "418df63c2d94f238ac7e1d1d53be35dd6b7a7252",
      "tree": "d9ab346ae46a45a4bff12fe7dbc615b7469d17a5",
      "parents": [
        "3e241ff0c57cb610301009fe8c3b9da4c6877800"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Apr 22 12:01:49 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:47:59 2009 -0700"
      },
      "message": "Delete slow-work timers properly\n\nSlow-work appears to delete its timer as soon as the first user\nunregisters, even though other users could be active.  At the same time, it\nnever seems to delete slow_work_oom_timer.  Arrange for both to happen in\nthe shutdown path.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e241ff0c57cb610301009fe8c3b9da4c6877800",
      "tree": "9663c4ebd8e431a052675b19585e1cc9471b2ef3",
      "parents": [
        "dc0046c7586da5db7561dd8b8e09b40d29ade5fa",
        "29fe1b481283a1bada994a69f65736db4ae6f35f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:46:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:46:51 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (94 commits)\n  netfilter: ctnetlink: fix gcc warning during compilation\n  net/netrom: Fix socket locking\n  netlabel: Always remove the correct address selector\n  ucc_geth.c: Fix upsmr setting in RMII mode\n  8139too: fix HW initial flow\n  af_iucv: Fix race when queuing incoming iucv messages\n  af_iucv: Test additional sk states in iucv_sock_shutdown\n  af_iucv: Reject incoming msgs if RECV_SHUTDOWN is set\n  af_iucv: fix oops in iucv_sock_recvmsg() for MSG_PEEK flag\n  af_iucv: consider state IUCV_CLOSING when closing a socket\n  iwlwifi: DMA fixes\n  iwlwifi: add debugging for TX path\n  mwl8: fix build warning.\n  mac80211: fix alignment calculation bug\n  mac80211: do not print WARN if config interface\n  iwl3945: use cancel_delayed_work_sync to cancel rfkill_poll\n  iwlwifi: fix EEPROM validation mask to include OTP only devices\n  atmel: fix netdev ops conversion\n  pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM\n  mlx4_en: Fix cleanup if workqueue create in mlx4_en_add() fails\n  ...\n"
    },
    {
      "commit": "dc0046c7586da5db7561dd8b8e09b40d29ade5fa",
      "tree": "05ab773b89fec9b2f3fcab67875894d2ea98aee2",
      "parents": [
        "f8c3301e8336334be62527c5314018f75f58ad4b",
        "956d039a2537cf79ca608450d36cc70e0e515482"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:45:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:45:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc: Fix bus type probing for ESP and LE devices.\n  sparc32: Update defconfig.\n  sparc64: Update defconfig.\n"
    },
    {
      "commit": "f8c3301e8336334be62527c5314018f75f58ad4b",
      "tree": "1eb819381e0858a03fe544dc40cf4661adf683bf",
      "parents": [
        "437f7fdb607f32b737e4da9f14bebcfdac2c90c3",
        "6329db8bd60fbc0832f30c350b0181b8d865573e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:44:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:44:58 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  powerpc: Fix modular build of ide-pmac when mediabay is built in\n  powerpc/pasemi: Fix build error on UP\n  powerpc: Make macintosh/mediabay driver depend on CONFIG_BLOCK\n  maintainers: Fix PS3 patterns\n  powerpc/ps3: Fix CONFIG_PS3_FLASH\u003dn build warning\n  powerpc/32: Don\u0027t clobber personality flags on exec\n  powerpc: Fix crash on CPU hotplug\n  powerpc/85xx: Remove defconfigs that mpc85xx_{smp_}defconfig cover\n  powerpc/85xx: Added SMP defconfig\n  powerpc/85xx: Enabled a bunch of FSL specific drivers/options\n  powerpc/85xx: Updated generic mpc85xx_defconfig\n  powerpc: don\u0027t disable SATA interrupts on Freescale MPC8610 HPCD\n  fsl_rio: Pass the proper device to dma mapping routines\n  powerpc: Fix of_node_put() exit path in of_irq_map_one()\n  powerpc/5200: defconfig updates\n  powerpc/5200: Add FLASH nodes to lite5200 device tree\n  powerpc/device-tree: Document MTD nodes with multiple \"reg\" tuples\n  powerpc/of-device-tree: Factor MTD physmap bindings out of booting-without-of\n  powerpc/5200: Bring the legacy fsl_spi_platform_data hooks back\n"
    },
    {
      "commit": "1162cf6bc6c4650943735438e2be0785ea40a3c6",
      "tree": "c7a6cce9366df8426996bf508b701a833894f7b3",
      "parents": [
        "5f855a8f0ca8f8a81a7752d6bfdc65bfca426b5a",
        "d68b597c883cf863c7216564cae08a4730d56cc1"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:29 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:29 2009 -0400"
      },
      "message": "Merge branch \u0027bjorn.button\u0027 into release\n"
    },
    {
      "commit": "5f855a8f0ca8f8a81a7752d6bfdc65bfca426b5a",
      "tree": "f14c218d4f66e766136a58f217cf317eca568833",
      "parents": [
        "1fe94d37f9296e8884c2f4ca4e22ca3d1398f15c",
        "a38d75fa2e48d4960b656eac39bc8a6b584a83c0"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:21 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:21 2009 -0400"
      },
      "message": "Merge branch \u0027bugzilla-13036\u0027 into release\n"
    },
    {
      "commit": "1fe94d37f9296e8884c2f4ca4e22ca3d1398f15c",
      "tree": "a25f17ea64b5d0209d187b952f88fbd27bc2ecf1",
      "parents": [
        "9c18f0b7095c7981c48f41aae8abdaa06a76d9b3",
        "b7f0ab460f772b09a9c664d746236a280fec714c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:11 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:11 2009 -0400"
      },
      "message": "Merge branch \u0027bugzilla-13048\u0027 into release\n"
    },
    {
      "commit": "9c18f0b7095c7981c48f41aae8abdaa06a76d9b3",
      "tree": "6b7dc4c79f232133636e444514e52fabd380ed2e",
      "parents": [
        "3869e929bb38499b37f8cd76ec96ab6e5a169efb",
        "615dfd93e2346b604232b559e7ea0835d24abe26"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:03 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:42:03 2009 -0400"
      },
      "message": "Merge branch \u0027bugzilla-13142\u0027 into release\n"
    },
    {
      "commit": "3869e929bb38499b37f8cd76ec96ab6e5a169efb",
      "tree": "7c76cc0159d4fa87367463eb97970474eab84da4",
      "parents": [
        "2d40570786c7c208539c65893818119557327ba0",
        "f461ddea0af8b98e2b7940eba9c693b0ee44d64a"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:41:31 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 24 10:41:31 2009 -0400"
      },
      "message": "Merge branch \u0027hpet\u0027 into release\n"
    },
    {
      "commit": "437f7fdb607f32b737e4da9f14bebcfdac2c90c3",
      "tree": "2064149ad4406774bd3b1ade60782980206f2e82",
      "parents": [
        "8c652f96d3852b97a49c331cd0bb02d22f3cb31b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Apr 24 01:02:45 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:39:45 2009 -0700"
      },
      "message": "check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/\n\nwrite_lock(\u0026current-\u003efs-\u003elock) guarantees we can\u0027t wrongly miss\nLSM_UNSAFE_SHARE, this is what we care about. Use rcu_read_lock()\ninstead of -\u003esiglock to iterate over the sub-threads. We must see\nall CLONE_THREAD|CLONE_FS threads which didn\u0027t pass exit_fs(), it\ntakes fs-\u003elock too.\n\nWith or without this patch we can miss the freshly cloned thread\nand set LSM_UNSAFE_SHARE, we don\u0027t care.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\n[ Fixed lock/unlock typo  - Hugh ]\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c652f96d3852b97a49c331cd0bb02d22f3cb31b",
      "tree": "9752969f2ae7312026bb4037ecd950dafd403d9b",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Apr 24 01:01:56 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:39:45 2009 -0700"
      },
      "message": "do_execve() must not clear fs-\u003ein_exec if it was set by another thread\n\nIf do_execve() fails after check_unsafe_exec(), it clears fs-\u003ein_exec\nunconditionally. This is wrong if we race with our sub-thread which\nalso does do_execve:\n\n\tTwo threads T1 and T2 and another process P, all share the same\n\t-\u003efs.\n\n\tT1 starts do_execve(BAD_FILE). It calls check_unsafe_exec(), since\n\t-\u003efs is shared, we set LSM_UNSAFE but not -\u003ein_exec.\n\n\tP exits and decrements fs-\u003eusers.\n\n\tT2 starts do_execve(), calls check_unsafe_exec(), now -\u003efs is not\n\tshared, we set fs-\u003ein_exec.\n\n\tT1 continues, open_exec(BAD_FILE) fails, we clear -\u003ein_exec and\n\treturn to the user-space.\n\n\tT1 does clone(CLONE_FS /* without CLONE_THREAD */).\n\n\tT2 continues without LSM_UNSAFE_SHARE while -\u003efs is shared with\n\tanother process.\n\nChange check_unsafe_exec() to return res \u003d 1 if we set -\u003ein_exec, and change\ndo_execve() to clear -\u003ein_exec depending on res.\n\nWhen do_execve() suceeds, it is safe to clear -\u003ein_exec unconditionally.\nIt can be set only if we don\u0027t share -\u003efs with another process, and since\nwe already killed all sub-threads either -\u003ein_exec \u003d\u003d 0 or we are the\nonly user of this -\u003efs.\n\nAlso, we do not need fs-\u003elock to clear fs-\u003ein_exec.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2d1f0ae7851be5ebd9613a80dac139270938809",
      "tree": "91efc4740f854b94ea84583a2cd6c34d14eafc8e",
      "parents": [
        "3ac6c9f8a66726745136e46f63600550c3eb6cec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 23 12:19:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:22 2009 +0200"
      },
      "message": "cfq-iosched: cache prio_tree root in cfqq-\u003ep_root\n\nCurrently we look it up from -\u003eioprio, but -\u003eioprio can change if\neither the process gets its IO priority changed explicitly, or if\ncfq decides to temporarily boost it. So if we are unlucky, we can\nend up attempting to remove a node from a different rbtree root than\nwhere it was added.\n\nFix this by using -\u003eorg_ioprio as the prio_tree index, since that\nwill only change for explicit IO priority settings (not for a boost).\nAdditionally cache the rbtree root inside the cfqq, then we don\u0027t have\nto add code to reinsert the cfqq in the prio_tree if IO priority changes.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3ac6c9f8a66726745136e46f63600550c3eb6cec",
      "tree": "93d3217dc15a8183c8e6b29b36862caef01546d7",
      "parents": [
        "26a2ac009c2b07e1959c8864ca23486c1c485587"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 23 12:14:56 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:22 2009 +0200"
      },
      "message": "cfq-iosched: fix bug with aliased request and cooperation detection\n\ncfq_prio_tree_lookup() should return the direct match, yet it always\nreturns zero. Fix that.\n\ncfq_prio_tree_add() assumes that we don\u0027t get a direct match, while\nit is very possible that we do. Using O_DIRECT, you can have different\ncfqq with matching requests, since you don\u0027t have the page cache\nto serialize things for you. Fix this bug by only adding the cfqq if\nthere isn\u0027t an existing match.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "26a2ac009c2b07e1959c8864ca23486c1c485587",
      "tree": "f3c0ae95578cd454f04dc48226b3b6f1ebd1d345",
      "parents": [
        "17d5c8ca7572124c9623045f24b0c21d4aa2b47f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 23 12:13:27 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:22 2009 +0200"
      },
      "message": "cfq-iosched: clear -\u003eprio_trees[] on cfqd alloc\n\nNot strictly needed, but we should make it clear that we init the\nrbtree roots here.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "17d5c8ca7572124c9623045f24b0c21d4aa2b47f"
}
