)]}'
{
  "log": [
    {
      "commit": "7878cba9f0037f5599004b03a1260b32d9050360",
      "tree": "bff5e1a47b6e64e45df0428925cc6db8542cad62",
      "parents": [
        "6118b70b3a0b4c583439bb77600194c82f220ce3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jun 26 15:37:49 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:25 2009 +0200"
      },
      "message": "block: Create bip slabs with embedded integrity vectors\n\nThis patch restores stacking ability to the block layer integrity\ninfrastructure by creating a set of dedicated bip slabs.  Each bip slab\nhas an embedded bio_vec array at the end.  This cuts down on memory\nallocations and also simplifies the code compared to the original bvec\nversion.  Only the largest bip slab is backed by a mempool.  The pool is\ncontained in the bio_set so stacking drivers can ensure forward\nprogress.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.(none)\u003e\n"
    },
    {
      "commit": "13685a1654b65357fb34066a98ef40445f7820fc",
      "tree": "89a18aa144873b1224618fa399dd6654751ed2b6",
      "parents": [
        "c2e95c6d7a9b9d8f023c3639edbb1da65ccd15ac"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:40 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:21 2009 +1000"
      },
      "message": "block: Add bio_list_peek()\n\nIntroduce bio_list_peek(), to obtain a pointer to the first bio on the bio_list\nwithout actually removing it from the list. This is needed when you want to\nserialize based on the list being empty or not.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ae03bf639a5027d27270123f5f6e3ee6a412781d",
      "tree": "d705f41a188ad656b1f47f7952626a9f992e3b8f",
      "parents": [
        "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:50 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Use accessor functions for queue limits\n\nConvert all external users of queue limits to using wrapper functions\ninstead of poking the request queue variables directly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab",
      "tree": "134f560f66c2af277f0f25e5b85f6c1acaddfc06",
      "parents": [
        "9780e2dd8254351f6cbe11304849126b51dbd561"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: drop request-\u003ehard_* and *nr_sectors\n\nstruct request has had a few different ways to represent some\nproperties of a request.  -\u003ehard_* represent block layer\u0027s view of the\nrequest progress (completion cursor) and the ones without the prefix\nare supposed to represent the issue cursor and allowed to be updated\nas necessary by the low level drivers.  The thing is that as block\nlayer supports partial completion, the two cursors really aren\u0027t\nnecessary and only cause confusion.  In addition, manual management of\nrequest detail from low level drivers is cumbersome and error-prone at\nthe very least.\n\nAnother interesting duplicate fields are rq-\u003e[hard_]nr_sectors and\nrq-\u003e{hard_cur|current}_nr_sectors against rq-\u003edata_len and\nrq-\u003ebio-\u003ebi_size.  This is more convoluted than the hard_ case.\n\nrq-\u003e[hard_]nr_sectors are initialized for requests with bio but\nblk_rq_bytes() uses it only for !pc requests.  rq-\u003edata_len is\ninitialized for all request but blk_rq_bytes() uses it only for pc\nrequests.  This causes good amount of confusion throughout block layer\nand its drivers and determining the request length has been a bit of\nblack magic which may or may not work depending on circumstances and\nwhat the specific LLD is actually doing.\n\nrq-\u003e{hard_cur|current}_nr_sectors represent the number of sectors in\nthe contiguous data area at the front.  This is mainly used by drivers\nwhich transfers data by walking request segment-by-segment.  This\nvalue always equals rq-\u003ebio-\u003ebi_size \u003e\u003e 9.  However, data length for\npc requests may not be multiple of 512 bytes and using this field\nbecomes a bit confusing.\n\nIn general, having multiple fields to represent the same property\nleads only to confusion and subtle bugs.  With recent block low level\ndriver cleanups, no driver is accessing or manipulating these\nduplicate fields directly.  Drop all the duplicates.  Now rq-\u003esector\nmeans the current sector, rq-\u003edata_len the current total length and\nrq-\u003ebio-\u003ebi_size the current segment length.  Everything else is\ndefined in terms of these three and available only through accessors.\n\n* blk_recalc_rq_sectors() is collapsed into blk_update_request() and\n  now handles pc and fs requests equally other than rq-\u003esector update.\n  This means that now pc requests can use partial completion too (no\n  in-kernel user yet tho).\n\n* bio_cur_sectors() is replaced with bio_cur_bytes() as block layer\n  now uses byte count as the primary data length.\n\n* blk_rq_pos() is now guranteed to be always correct.  In-block users\n  converted.\n\n* blk_rq_bytes() is now guaranteed to be always valid as is\n  blk_rq_sectors().  In-block users converted.\n\n* blk_rq_sectors() is now guaranteed to equal blk_rq_bytes() \u003e\u003e 9.\n  More convenient one is used.\n\n* blk_rq_bytes() and blk_rq_cur_bytes() are now inlined and take const\n  pointer to request.\n\n[ Impact: API cleanup, single way to represent one property of a request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\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": "451a9ebf653d28337ba53ed5b4b70b0b9543cca1",
      "tree": "ab203dfb628623483a1aeb7ead564ea35ad21d29",
      "parents": [
        "cd0aca2d550f238d80ba58e7dcade4ea3d0a3aa7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 15 19:50:51 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 22 08:35:10 2009 +0200"
      },
      "message": "bio: fix bio_kmalloc()\n\nImpact: fix bio_kmalloc() and its destruction path\n\nbio_kmalloc() was broken in two ways.\n\n* bvec_alloc_bs() first allocates bvec using kmalloc() and then\n  ignores it and allocates again like non-kmalloc bvecs.\n\n* bio_kmalloc_destructor() didn\u0027t check for and free bio integrity\n  data.\n\nThis patch fixes the above problems.  kmalloc patch is separated out\nfrom bio_alloc_bioset() and allocates the requested number of bvecs as\ninline bvecs.\n\n* bio_alloc_bioset() no longer takes NULL @bs.  None other than\n  bio_kmalloc() used it and outside users can\u0027t know how it was\n  allocated anyway.\n\n* Define and use BIO_POOL_NONE so that pool index check in\n  bvec_free_bs() triggers if inline or kmalloc allocated bvec gets\n  there.\n\n* Relocate destructors on top of each allocation function so that how\n  they\u0027re used is more clear.\n\nJens Axboe suggested allocating bvecs inline.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8f3d8ba20e67991b531e9c0227dcd1f99271a32c",
      "tree": "337efd46f067ce3b7eeab0c3627b02a7edef4afd",
      "parents": [
        "0882e8dd3aad33eca41696d463bb896e6c8817eb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 07 19:55:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 08:28:09 2009 +0200"
      },
      "message": "block: move bio list helpers into bio.h\n\nIt\u0027s used by DM and MD and generally useful, so move the bio list\nhelpers into bio.h.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "aeb6fafb8fa53266d70ca7474fcda2bdaf96524a",
      "tree": "ebe8e0c616a9dbfdfe5184b64d0150ea02d3d1b2",
      "parents": [
        "644b2d99b7a8677a56909a7b1fde31677eba4471"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:07 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:54 2009 -0700"
      },
      "message": "block: Add flag for telling the IO schedulers NOT to anticipate more IO\n\nBy default, CFQ will anticipate more IO from a given io context if the\npreviously completed IO was sync. This used to be fine, since the only\nsync IO was reads and O_DIRECT writes. But with more \"normal\" sync writes\nbeing used now, we don\u0027t want to anticipate for those.\n\nAdd a bio/request flag that informs the IO scheduler that this is a sync\nrequest that we should not idle for. Introduce WRITE_ODIRECT specifically\nfor O_DIRECT writes, and make sure that the other sync writes set this\nflag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d2a78e783416ba99e36beb1d4395b785b34e867",
      "tree": "5e1b772cfbfb8b5d089a9808a0232749f7ddf8be",
      "parents": [
        "32ca163c9cdb33151d79e95a7cf244f62b5d4418"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 10 08:27:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:17 2009 +0100"
      },
      "message": "block: add private bio_set for bio integrity allocations\n\nThe integrity bio allocation needs its own bio_set to avoid violating\nthe mempool allocation rules and risking deadlocks.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "87092698c665e0a358caf9825ae13114343027e8",
      "tree": "4003d12a76e1cd5b50d275a0aef536d4a86d0092",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "un\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Mon Mar 09 10:40:52 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:51 2009 +0100"
      },
      "message": "block: Add gfp_mask parameter to bio_integrity_clone()\n\nStricter gfp_mask might be required for clone allocation.\nFor example, request-based dm may clone bio in interrupt context\nso it has to use GFP_ATOMIC.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nAcked-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c52440a69df22dca69794936a91e2fb529a707fb",
      "tree": "efcf06527de98e9704ca4149cfd8dcf1b592032c",
      "parents": [
        "20b636bf7c946da260391cd4570b16506f140a2c"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Feb 02 12:41:07 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 12:41:07 2009 +0100"
      },
      "message": "bio.h: If they MUST be inlined, then use __always_inline\n\nbvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined,\nso mark them as __always_inline.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "20b636bf7c946da260391cd4570b16506f140a2c",
      "tree": "457d7229ff04ad7b6d60bcea4645c45f7dd38c53",
      "parents": [
        "0648e10d71c8e510d80772c4cb4220c97e9c34c7"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Feb 02 12:41:07 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 12:41:07 2009 +0100"
      },
      "message": "Fix misleading comment in bio.h\n\nThe comment says \"remember to add offset!\", but the function already adds\nit.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1dfa17f4ab8543d82caf4d36636b93916a18f456",
      "tree": "bce24202f9f4d9b0d82cd5303dcfa5ccf4dc6886",
      "parents": [
        "213d9417fec62ef4c3675621b9364a667954d4dd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 06 09:21:49 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: add bio_rw_flagged() for testing bio-\u003ebi_rw\n\nThe existing functions for checking bio-\u003ebi_rw are badly named. So lets\nmirror what we do for bio-\u003ebi_flags testing, use a properly named\nfunction so that it\u0027s immediately obvious what is being tested.\n\nMaintain compatability names for the old macros, eventually we\u0027ll get\nrid of these.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "213d9417fec62ef4c3675621b9364a667954d4dd",
      "tree": "d115a92085288d2d9c2ba0e8cbc573cccdcd8e46",
      "parents": [
        "1308835ffffe6d61ad1f48c5c381c9cc47f683ec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 06 09:16:05 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: seperate bio/request unplug and sync bits\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "16642eb68216d8e0e136a99e514e9166e7125838",
      "tree": "994d92d7de4436e64292d28e0f1affde43bb71ef",
      "parents": [
        "f48fc4d32e24c0b6a18aad30305d819bcc68c049"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Mon Jan 05 10:18:53 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "Fix small typo in bio.h\u0027s documentation\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7b24fc4d7eb611da367dea3aad45473050aacd6c",
      "tree": "42c42a317c2236c45edf523ea0fc527189a5203d",
      "parents": [
        "f2257b70b0f9b2fe8f2afd83fc6798dca75930b8"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sun Jan 04 02:43:38 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:36 2009 +0100"
      },
      "message": "block: Don\u0027t verify integrity metadata on read error\n\nIf we get an I/O error on a read request there is no point in doing a\nverify pass on the integrity buffer.  Adjust the completion path\naccordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "392ddc32982a5c661dd90dd49a3cb37f1c68b782",
      "tree": "614b8e857a70ce479bcbbf24af66a56b7723efc8",
      "parents": [
        "bb799ca0202a360fa74d5f17039b9100caebdde7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 23 12:42:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "bio: add support for inlining a number of bio_vecs inside the bio\n\nWhen we go and allocate a bio for IO, we actually do two allocations.\nOne for the bio itself, and one for the bi_io_vec that holds the\nactual pages we are interested in.\n\nThis feature inlines a definable amount of io vecs inside the bio\nitself, so we eliminate the bio_vec array allocation for IO\u0027s up\nto a certain size. It defaults to 4 vecs, which is typically 16k\nof IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bb799ca0202a360fa74d5f17039b9100caebdde7",
      "tree": "048b6cedfd2644edd82a606db6d9e8b19d31328b",
      "parents": [
        "1b4344986926da324b5cd10b683e5a1a5e1b7db3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 10 15:35:05 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:23 2008 +0100"
      },
      "message": "bio: allow individual slabs in the bio_set\n\nInstead of having a global bio slab cache, add a reference to one\nin each bio_set that is created. This allows for personalized slabs\nin each bio_set, so that they can have bios of different sizes.\n\nThis means we can personalize the bios we return. File systems may\nwant to embed the bio inside another structure, to avoid allocation\nmore items (and stuffing them in -\u003ebi_private) after the get a bio.\nOr we may want to embed a number of bio_vecs directly at the end\nof a bio, to avoid doing two allocations to return a bio. This is now\npossible.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b4344986926da324b5cd10b683e5a1a5e1b7db3",
      "tree": "f196fad09555f32e4464df2ea4c8fea17ad99e76",
      "parents": [
        "7ff9345ffac56743b5001561bc2dc1e041b79149"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 22 20:32:58 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:46 2008 +0100"
      },
      "message": "bio: move the slab pointer inside the bio_set\n\nIn preparation for adding differently sized bios.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7ff9345ffac56743b5001561bc2dc1e041b79149",
      "tree": "aede8c4b4b52c7808cdea7ec039655accffd2298",
      "parents": [
        "a31a97381cdf7dceb03b797a8faf9bc8a01c65d1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 11 11:53:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:46 2008 +0100"
      },
      "message": "bio: only mempool back the largest bio_vec slab cache\n\nWe only very rarely need the mempool backing, so it makes sense to\nget rid of all but one of the mempool in a bio_set. So keep the\nlargest bio_vec count mempool so we can always honor the largest\nallocation, and \"upgrade\" callers that fail.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ba744d5e290055d171c68067259fcc1e2721f542",
      "tree": "0a242e1ceae3b4ddcac77592819c455c61ff5a24",
      "parents": [
        "64d01dc9e1927e6535627d73f2336c75d1dd3fe2"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Wed Dec 03 12:41:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: reorder struct bio to remove padding on 64bit\n\nRemove 8 bytes of padding from struct bio which also removes 16 bytes from\nstruct bio_pair to make it 248 bytes.  bio_pair then fits into one fewer\ncache lines \u0026 into a smaller slab.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "08bafc0341f2f7920e9045bc32c40299cac8c21b",
      "tree": "ab4ad0f73f457409239a98c050bf7edd47c03cf1",
      "parents": [
        "7c239517d9f18427fc2e7ed259fb3b866595f5af"
      ],
      "author": {
        "name": "Keith Mannthey",
        "email": "kmannth@us.ibm.com",
        "time": "Tue Nov 25 10:24:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set\n\nAllow the scsi request REQ_QUIET flag to be propagated to the buffer\nfile system layer. The basic ideas is to pass the flag from the scsi\nrequest to the bio (block IO) and then to the buffer layer.  The buffer\nlayer can then suppress needless printks.\n\nThis patch declutters the kernel log by removed the 40-50 (per lun)\nbuffer io error messages seen during a boot in my multipath setup . It\nis a good chance any real errors will be missed in the \"noise\" it the\nlogs without this patch.\n\nDuring boot I see blocks of messages like\n\"\n__ratelimit: 211 callbacks suppressed\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242847\nBuffer I/O error on device sdm, logical block 1\nBuffer I/O error on device sdm, logical block 5242878\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242872\n\"\nin my logs.\n\nMy disk environment is multipath fiber channel using the SCSI_DH_RDAC\ncode and multipathd.  This topology includes an \"active\" and \"ghost\"\npath for each lun. IO\u0027s to the \"ghost\" path will never complete and the\nSCSI layer, via the scsi device handler rdac code, quick returns the IOs\nto theses paths and sets the REQ_QUIET scsi flag to suppress the scsi\nlayer messages.\n\n I am wanting to extend the QUIET behavior to include the buffer file\nsystem layer to deal with these errors as well. I have been running this\npatch for a while now on several boxes without issue.  A few runs of\nbonnie++ show no noticeable difference in performance in my setup.\n\nThanks for John Stultz for the quiet_error finalization.\n\nSubmitted-by:  Keith Mannthey \u003ckmannth@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f92131c3dd567fc6df18ce3f46fcf57ecbdefbe0",
      "tree": "b53b15be43bf7631d0577dac11d27f9899a3cada",
      "parents": [
        "43381785a5ba1cb424b36812373a6a04054b5c3c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Oct 29 14:10:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 06 08:41:55 2008 +0100"
      },
      "message": "bio: define __BIOVEC_PHYS_MERGEABLE\n\nDefine __BIOVEC_PHYS_MERGEABLE as the default implementation of\nBIOVEC_PHYS_MERGEABLE, so that its available for reuse within an\narch-specific definition of BIOVEC_PHYS_MERGEABLE.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c53dbf54863e7f3b0b8810dda2bdd0290006bdac",
      "tree": "f783074f1bec1112bf1148a077e0114a38403ad4",
      "parents": [
        "b73b636e8987f8728c6c700377615757691b9a55",
        "f73e2d13a16cc88c4faa4729967f92bfeec8a142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:29:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:29:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: remove __generic_unplug_device() from exports\n  block: move q-\u003eunplug_work initialization\n  blktrace: pass zfcp driver data\n  blktrace: add support for driver data\n  block: fix current kernel-doc warnings\n  block: only call -\u003erequest_fn when the queue is not stopped\n  block: simplify string handling in elv_iosched_store()\n  block: fix kernel-doc for blk_alloc_devt()\n  block: fix nr_phys_segments miscalculation bug\n  block: add partition attribute for partition number\n  block: add BIG FAT WARNING to CONFIG_DEBUG_BLOCK_EXT_DEVT\n  softirq: Add support for triggering softirq work on softirqs.\n"
    },
    {
      "commit": "8677142710516d986d932d6f1fba7be8382c1fec",
      "tree": "5221f48b4e7e62590f8bbb832b4065886681d6cf",
      "parents": [
        "0fc71e3d6520ba7abad5cfbc9a33db0190e4d5b8"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Oct 13 14:19:05 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:56 2008 +0200"
      },
      "message": "block: fix nr_phys_segments miscalculation bug\n\nThis fixes the bug reported by Nikanth Karthikesan \u003cknikanth@suse.de\u003e:\n\nhttp://lkml.org/lkml/2008/10/2/203\n\nThe root cause of the bug is that blk_phys_contig_segment\nmiscalculates q-\u003emax_segment_size.\n\nblk_phys_contig_segment checks:\n\nreq-\u003ebiotail-\u003ebi_size + next_req-\u003ebio-\u003ebi_size \u003e q-\u003emax_segment_size\n\nBut blk_recalc_rq_segments might expect that req-\u003ebiotail and the\nprevious bio in the req are supposed be merged into one\nsegment. blk_recalc_rq_segments might also expect that next_req-\u003ebio\nand the next bio in the next_req are supposed be merged into one\nsegment. In such case, we merge two requests that can\u0027t be merged\nhere. Later, blk_rq_map_sg gives more segments than it should.\n\nWe need to keep track of segment size in blk_recalc_rq_segments and\nuse it to see if two requests can be merged. This patch implements it\nin the similar way that we used to do for hw merging (virtual\nmerging).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6000a368cd8e6da1caf101411bdb494cd6fb8b09",
      "tree": "4cd3333af00182e915aa96ffa49069f5f76976dc",
      "parents": [
        "056a44834950ffa51fafa6c76a720fa32e86851a"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Tue Aug 19 18:45:30 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Oct 13 09:28:52 2008 -0400"
      },
      "message": "[SCSI] block: separate failfast into multiple bits.\n\nMultipath is best at handling transport errors. If it gets a device\nerror then there is not much the multipath layer can do. It will just\naccess the same device but from a different path.\n\nThis patch breaks up failfast into device, transport and driver errors.\nThe multipath layers (md and dm mutlipath) only ask the lower levels to\nfast fail transport errors. The user of failfast, read ahead, will ask\nto fast fail on all errors.\n\nNote that blk_noretry_request will return true if any failfast bit\nis set. This allows drivers that do not support the multipath failfast\nbits to continue to fail on any failfast error like before. Drivers\nlike scsi that are able to fail fast specific errors can check\nfor the specific fail fast type. In the next patch I will convert\nscsi.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "af5639424008ffe96f89b059bea1aec15e0115a9",
      "tree": "5055712fa33e4878c97ff240d7755c6413627baf",
      "parents": [
        "6feef531f55cf4a20fd9eb39f5352e5745203603"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 09:01:10 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 09:01:10 2008 +0200"
      },
      "message": "block: add some comments around the bio read-write flags\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6feef531f55cf4a20fd9eb39f5352e5745203603",
      "tree": "2c52b800edcbdf01abefcf27e900985c087f1b36",
      "parents": [
        "ad3316bf4eeb53c89164f759767f911072b56203"
      ],
      "author": {
        "name": "Denis ChengRq",
        "email": "crquan@gmail.com",
        "time": "Thu Oct 09 08:57:05 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:57:05 2008 +0200"
      },
      "message": "block: mark bio_split_pool static\n\nSince all bio_split calls refer the same single bio_split_pool, the bio_split\nfunction can use bio_split_pool directly instead of the mempool_t parameter;\n\nthen the mempool_t parameter can be removed from bio_split param list, and\nbio_split_pool is only referred in fs/bio.c file, can be marked static.\n\nSigned-off-by: Denis ChengRq \u003ccrquan@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad3316bf4eeb53c89164f759767f911072b56203",
      "tree": "12caa0194f385c58e4543ad864a58dff02f33a47",
      "parents": [
        "b02739b01c5309d74a59859f2ce92c931d1f1955"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 22:42:53 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:22 2008 +0200"
      },
      "message": "block: Find bio sector offset given idx and offset\n\nHelper function to find the sector offset in a bio given bvec index\nand page offset.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "74aa8c2cc010035a7eef2b4ca4d6430e0dae206a",
      "tree": "4a1c84cd687343028d21288ccd70036fa4d4a89a",
      "parents": [
        "b04accc425d52ca59699290661e0dfd09b0feeeb"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 03:38:37 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: Introduce integrity data ownership flag\n\nA filesystem might supply its own integrity metadata.  Introduce a\nflag that indicates whether the filesystem or the block layer owns the\nintegrity buffer.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8deaf7210728c453295dc1cb2a5b66c68183ac85",
      "tree": "bb4bead2773c733e5164a44b784c9601b458821d",
      "parents": [
        "d00e29fd99dd63d1c51917604e35dee824ed567f"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Thu Oct 02 12:46:53 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "bio.h: Remove unused conditional code\n\nThe whole bio_integrity() definition is inside an #ifdef\nCONFIG_BLK_DEV_INTEGRITY, there\u0027s no need for the conditional code.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9",
      "tree": "59cbbcb691a76121fba8d7af74d89558296d5834",
      "parents": [
        "3e6053d76dcbd92b2f9f4ad5ece9bce83149523e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 13:17:37 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add bio_kmalloc()\n\nNot all callers need (or want!) the mempool backing guarentee, it\nessentially means that you can only use bio_alloc() for short allocations\nand not for preallocating some bio\u0027s at setup or init time.\n\nSo add bio_kmalloc() which does the same thing as bio_alloc(), except\nit just uses kmalloc() as the backing instead of the bio mempools.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "818827669d85b84241696ffef2de485db46b0b5e",
      "tree": "694d09728733e65d604bf3e1f13679db73fc1d9a",
      "parents": [
        "839e96afba87117befd39cf4e43f156edc8047a7"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 16:20:19 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: make blk_rq_map_user take a NULL user-space buffer\n\nThis patch changes blk_rq_map_user to accept a NULL user-space buffer\nwith a READ command if rq_map_data is not NULL. Thus a caller can pass\npage frames to lk_rq_map_user to just set up a request and bios with\npage frames propely. bio_uncopy_user (called via blk_rq_unmap_user)\ndoesn\u0027t copy data to user space with such request.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "152e283fdfea0cd11e297d982378b55937842dde",
      "tree": "a97a57108353f167a1e2911e8ee09c527ef42d3e",
      "parents": [
        "a3bce90edd8f6cafe3f63b1a943800792e830178"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: introduce struct rq_map_data to use reserved pages\n\nThis patch introduces struct rq_map_data to enable bio_copy_use_iov()\nuse reserved pages.\n\nCurrently, bio_copy_user_iov allocates bounce pages but\ndrivers/scsi/sg.c wants to allocate pages by itself and use\nthem. struct rq_map_data can be used to pass allocated pages to\nbio_copy_user_iov.\n\nThe current users of bio_copy_user_iov simply passes NULL (they don\u0027t\nwant to use pre-allocated pages).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a3bce90edd8f6cafe3f63b1a943800792e830178",
      "tree": "c07a2962987e57997b4ff6f6c63febe1feaa0a9c",
      "parents": [
        "45333d5a31296d0af886d94f1d08f128231cab8e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\n\nCurrently, blk_rq_map_user and blk_rq_map_user_iov always do\nGFP_KERNEL allocation.\n\nThis adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\nso sg can use it (sg always does GFP_ATOMIC allocation).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832",
      "tree": "ecc3d2517b3471ccc35d4cb4e3b48d4b57205061",
      "parents": [
        "18887ad910e56066233a07fd3cfb2fa11338b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 13 20:26:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: add support for IO CPU affinity\n\nThis patch adds support for controlling the IO completion CPU of\neither all requests on a queue, or on a per-request basis. We export\na sysfs variable (rq_affinity) which, if set, migrates completions\nof requests to the CPU that originally submitted it. A bio helper\n(bio_set_completion_cpu()) is also added, so that queuers can ask\nfor completion on that specific CPU.\n\nIn testing, this has been show to cut the system time by as much\nas 20-40% on synthetic workloads where CPU affinity is desired.\n\nThis requires a little help from the architecture, so it\u0027ll only\nwork as designed for archs that are using the new generic smp\nhelper infrastructure.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b99c2ffa980528a197f26c7d876cceeccce8dd5",
      "tree": "65e3bbbccb3f796f0569c47fcfc00e222cd3066e",
      "parents": [
        "960e739d9e9f1c2346d8bdc65299ee2e1ed42218"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 15 10:56:11 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "block: make bi_phys_segments an unsigned int instead of short\n\nraid5 can overflow with more than 255 stripes, and we can increase it\nto an int for free on both 32 and 64-bit archs due to the padding.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5df97b91b5d7ed426034fcc84cb6e7cf682b8838",
      "tree": "727b9fb778f72d2b1ff44c007fb5209bacf67f4a",
      "parents": [
        "b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Aug 15 10:20:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "drop vmerge accounting\n\nRemove hw_segments field from struct bio and struct request. Without virtual\nmerge accounting they have no purpose.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5",
      "tree": "5832535c112c0504590256cb8a0bcabc6e282be3",
      "parents": [
        "6a421c1dc94b12923294a359822346f12492de5e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Aug 15 10:15:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "block: drop virtual merging accounting\n\nRemove virtual merge accounting.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e17fc0a1ccf88f6d4dcb363729f3141b0958c325",
      "tree": "0a7c2dc1c3159c2af14d87c67ca83e158b2c78b5",
      "parents": [
        "d30a2605be9d5132d95944916e8f578fcfe4f976"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Aug 09 16:42:20 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Allow elevators to sort/merge discard requests\n\nBut blkdev_issue_discard() still emits requests which are interpreted as\nsoft barriers, because naïve callers might otherwise issue subsequent\nwrites to those same sectors, which might cross on the queue (if they\u0027re\nreallocated quickly enough).\n\nCallers still _can_ issue non-barrier discard requests, but they have to\ntake care of queue ordering for themselves.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb2dce862d9f9a68e6b9374579056ec9eca02a63",
      "tree": "888e0fd7248c9329fa1aa3981043a2dc2457d488",
      "parents": [
        "d628eaef310533767ce68664873869c2d7f78f09"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 05 18:01:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Add \u0027discard\u0027 request handling\n\nSome block devices benefit from a hint that they can forget the contents\nof certain sectors. Add basic support for this to the block core, along\nwith a \u0027blkdev_issue_discard()\u0027 helper function which issues such\nrequests.\n\nThe caller doesn\u0027t get to provide an end_io functio, since\nblkdev_issue_discard() will automatically split the request up into\nmultiple bios if appropriate. Neither does the function wait for\ncompletion -- it\u0027s expected that callers won\u0027t care about when, or even\n_if_, the request completes. It\u0027s only a hint to the device anyway. By\ndefinition, the file system doesn\u0027t _care_ about these sectors any more.\n\n[With feedback from OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e and\nJens Axboe \u003cjens.axboe@oracle.com]\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d628eaef310533767ce68664873869c2d7f78f09",
      "tree": "12d6a9e6db000d89deb7ab01d55d2e7b9e6f42c5",
      "parents": [
        "36144077bce9f89763ce994bc631cbd1c9db7785"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Aug 09 16:22:17 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Fix up comments about matching flags between bio and rq\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a9c701e594669dd49fed448c27c64f20cfacc8a7",
      "tree": "f5524a3612ccbfa758a2b9808111297d7ba17698",
      "parents": [
        "7a67f63b3233ff28e753854fe27891c44f8588ae"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 08 11:04:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:00 2008 +0200"
      },
      "message": "block: use bio_has_data() to check for data carrying bio\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a67f63b3233ff28e753854fe27891c44f8588ae",
      "tree": "0383a42c135605f976c126b263c07fb250b3ffca",
      "parents": [
        "35e396cd100489dfe8f5a76e3613fb8049ffdff3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 08 11:17:12 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:00 2008 +0200"
      },
      "message": "block: add bio_has_data() to detect whether a bio carries data or not\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6e2401ad6f33de15ff00f78b88159f00a14f3b35",
      "tree": "7dbcb7e08703745a9a60de77114d82e2385f7c6a",
      "parents": [
        "da9cbc87395308a21465bd25441297bbba0477e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 18 10:15:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:14 2008 +0200"
      },
      "message": "block: integrity cleanups\n\n- No need to check for NULL bio, we\u0027ll get an immediate oops anyway.\n- Make bio_integrity() a proper function.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7ba1ba12eeef0aa7113beb16410ef8b7c748e18b",
      "tree": "4629aabe88bf095d58eabd2f451207695bb35b08",
      "parents": [
        "51d654e1d885607a6edd02b337105fa5c28b6d33"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Jun 30 20:04:41 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:13 2008 +0200"
      },
      "message": "block: Block layer data integrity support\n\nSome block devices support verifying the integrity of requests by way\nof checksums or other protection information that is submitted along\nwith the I/O.\n\nThis patch implements support for generating and verifying integrity\nmetadata, as well as correctly merging, splitting and cloning bios and\nrequests that have this extra information attached.\n\nSee Documentation/block/data-integrity.txt for more information.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "51d654e1d885607a6edd02b337105fa5c28b6d33",
      "tree": "64e87fa9b3b28cb10be635cf4edc76ccf39befe1",
      "parents": [
        "a144ff09bc52ef3f3684ed23eadc9c7c0e57b3aa"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 17 18:59:56 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:13 2008 +0200"
      },
      "message": "block: Globalize bio_set and bio_vec_slab\n\nMove struct bio_set and biovec_slab definitions to bio.h so they can\nbe used outside of bio.c.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "68154e90c9d1492d570671ae181d9a8f8530da55",
      "tree": "4b4e9cfbaa587a576e7e52284c53ef99cf69ac4d",
      "parents": [
        "657e93be356f51888f56a58d2b374caefbf2fe86"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 25 12:47:50 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:50:34 2008 +0200"
      },
      "message": "block: add dma alignment and padding support to blk_rq_map_kern\n\nThis patch adds bio_copy_kern similar to\nbio_copy_user. blk_rq_map_kern uses bio_copy_kern instead of\nbio_map_kern if necessary.\n\nbio_copy_kern uses temporary pages and the bi_end_io callback frees\nthese pages. bio_copy_kern saves the original kernel buffer at\nbio-\u003ebi_private it doesn\u0027t use something like struct bio_map_data to\nstore the information about the caller.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c5dec1c3034f1ae3503efbf641ff3b0273b64797",
      "tree": "d8c2d81ff2d944a0ba43e6ef7284482898af8b3b",
      "parents": [
        "476a4813cfddf7cf159956cc0e2d3c830c1507e3"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 11 12:56:49 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:50:08 2008 +0200"
      },
      "message": "block: convert bio_copy_user to bio_copy_user_iov\n\nThis patch enables bio_copy_user to take struct sg_iovec (renamed\nbio_copy_user_iov). bio_copy_user uses bio_copy_user_iov internally as\nbio_map_user uses bio_map_user_iov.\n\nThe major changes are:\n\n- adds sg_iovec array to struct bio_map_data\n\n- adds __bio_copy_iov that copy data between bio and\nsg_iovec. bio_copy_user_iov and bio_uncopy_user use it.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86b6c7a7f78feca58d2d8615e53aee4d59ab9dc6",
      "tree": "032a54a3493041fa1c31857d23e9184b89545b78",
      "parents": [
        "4c54ac62dceecedd82d4a865017bba0b738e2897"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:48:32 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "fs/block_dev.c: remove #if 0\u0027ed code\n\nCommit b2e895dbd80c420bfc0937c3729b4afe073b3848 #if 0\u0027ed this code stating:\n\n\u003c--  snip  --\u003e\n\n    [PATCH] revert blockdev direct io back to 2.6.19 version\n\n    Andrew Vasquez is reporting as-iosched oopses and a 65% throughput\n    slowdown due to the recent special-casing of direct-io against\n    blockdevs.  We don\u0027t know why either of these things are occurring.\n\n    The patch minimally reverts us back to the 2.6.19 code for a 2.6.20\n    release.\n\n\u003c--  snip  --\u003e\n\nIt has since been dead code, and unless someone wants to revive it now\nit\u0027s time to remove it.\n\nThis patch also makes bio_release_pages() static again and removes the\nki_bio_count member from struct kiocb, reverting changes that had been\ndone for this dead code.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "bf2de6f5a4faf0197268f18d08969b003b87b6e8",
      "tree": "16830a15a7effea352445a7aba5dbb433314d3eb",
      "parents": [
        "c07e2b41291853b19fff11ceee3657df252a4e42"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 27 13:01:25 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:03:56 2007 +0200"
      },
      "message": "block: Initial support for data-less (or empty) barrier support\n\nThis implements functionality to pass down or insert a barrier\nin a queue, without having data attached to it. The -\u003eprepare_flush_fn()\ninfrastructure from data barriers are reused to provide this\nfunctionality.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "02a5e0acb3cb85d80d0fe834e366d38a92bbaa22",
      "tree": "0e9a2732d009f3da5cafbfc4146dd2a327af729c",
      "parents": [
        "a6b3a93e15b2925a151e9ae13dcb93ad7b3e48aa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Aug 11 22:34:32 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 11 22:34:49 2007 +0200"
      },
      "message": "BLOCK: Hide the contents of linux/bio.h if CONFIG_BLOCK\u003dn\n\nHide the contents of linux/bio.h if CONFIG_BLOCK\u003dn as there shouldn\u0027t be\ncompiled code that uses it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5972511b77809cb7c9ccdb79b825c54921c5c546",
      "tree": "8dec5821badf9750be04f339f0f621fab2114c8a",
      "parents": [
        "b9099ff63c75216d6ca10bce5a1abcd9293c27e6"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 02 10:06:42 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Apr 30 09:08:17 2007 +0200"
      },
      "message": "[BLOCK] Don\u0027t pin lots of memory in mempools\n\nCurrently we scale the mempool sizes depending on memory installed\nin the machine, except for the bio pool itself which sits at a fixed\n256 entry pre-allocation.\n\nThere\u0027s really no point in \"optimizing\" this OOM path, we just need\nenough preallocated to make progress. A single unit is enough, lets\nscale it down to 2 just to be on the safe side.\n\nThis patch saves ~150kb of pinned kernel memory on a 32-bit box.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e61c90188b9956edae1105eef361d8981a352fcd",
      "tree": "7de9cc41910c55e32aba0f8cc07f73923b7cb515",
      "parents": [
        "7e913c53609d5e8374f55d6f29c0bcd6650a2362"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Wed Dec 13 00:34:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] optimize o_direct on block devices\n\nImplement block device specific .direct_IO method instead of going through\ngeneric direct_io_worker for block device.\n\ndirect_io_worker() is fairly complex because it needs to handle O_DIRECT on\nfile system, where it needs to perform block allocation, hole detection,\nextents file on write, and tons of other corner cases.  The end result is\nthat it takes tons of CPU time to submit an I/O.\n\nFor block device, the block allocation is much simpler and a tight triple\nloop can be written to iterate each iovec and each page within the iovec in\norder to construct/prepare bio structure and then subsequently submit it to\nthe block layer.  This significantly speeds up O_D on block device.\n\n[akpm@osdl.org: small speedup]\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c2345c2b4fec30d12e1e1a6ee153a80af101e32",
      "tree": "0ca95b58b0e3f3ee15c948ce97bdcfde5c8869ed",
      "parents": [
        "f583f4924d669d36de677e0cc2422ee95203d444"
      ],
      "author": {
        "name": "Roger Gammans",
        "email": "roger@computer-surgery.co.uk",
        "time": "Wed Oct 04 13:37:45 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Wed Oct 04 19:32:09 2006 +0200"
      },
      "message": "[PATCH] Document bi_sector and sector_t\n\nSigned-Off-By: Roger Gammans \u003crgammans@computer-surgery.co.uk\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5404bc7a87b9949cf61e0174b21f80e73239ab25",
      "tree": "230c799aef2dcad8c64da55114508d28d2b30183",
      "parents": [
        "da20a20f3b5c175648fa797c899dd577e4dacb51"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 09:01:02 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:42 2006 +0200"
      },
      "message": "[PATCH] Allow file systems to differentiate between data and meta reads\n\nWe can use this information for making more intelligent priority\ndecisions, and it will also be useful for blktrace.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "d84a84775bba661d5a3fd06757bbb419381937f3",
      "tree": "e3aa2122029d11686bf0abc1de9936fb467f1636",
      "parents": [
        "00212fef814612245ed0261cbac8426d0c9a31a5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jun 25 05:49:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:26 2006 -0700"
      },
      "message": "[PATCH] Fix \"biovec-(256)\" in /proc/slabinfo\n\nStringify does what it was told to do.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e68af666f5336254b5715dca591026b7324499a",
      "tree": "5640209b6e2b75659149460f14531cfecffe2f5d",
      "parents": [
        "6e39b69e7ea9205c5f80aeac3ef999ab8fb1a4cc"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Fri Nov 11 05:30:27 2005 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Wed Dec 14 19:03:35 2005 -0800"
      },
      "message": "[SCSI] Convert SCSI mid-layer to scsi_execute_async\n\nAdd scsi helpers to create really-large-requests and convert\nscsi-ml to scsi_execute_async().\n\nPer Jens\u0027s previous comments, I placed this function in scsi_lib.c.\nI made it follow all the queue\u0027s limits - I think I did at least :), so\nI removed the warning on the function header.\n\nI think the scsi_execute_* functions should eventually take a request_queue\nand be placed some place where the dm-multipath hw_handler can use them\nif that failover code is going to stay in the kernel. That conversion\npatch will be sent in another mail though.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "27496a8c67bef4d789d8e3c8317ca35813a507ae",
      "tree": "fe99a34fe5a800e41af61853e7444ddddf45d014",
      "parents": [
        "7d877f3bda870ab5f001bd92528654471d5966b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:48 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: fs/*\n\n - -\u003ereleasepage() annotated (s/int/gfp_t), instances updated\n - missing gfp_t in fs/* added\n - fixed misannotation from the original sweep caught by bitwise checks:\n   XFS used __nocast both for gfp_t and for flags used by XFS allocator.\n   The latter left with unsigned int __nocast; we might want to add a\n   different type for those but for now let\u0027s leave them alone.  That,\n   BTW, is a case when __nocast use had been actively confusing - it had\n   been used in the same code for two different and similar types, with\n   no way to catch misuses.  Switch of gfp_t to bitwise had caught that\n   immediately...\n\nOne tricky bit is left alone to be dealt with later - mapping-\u003eflags is\na mix of gfp_t and error indications.  Left alone for now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c2d08dade7743bd3a28cc5f68163e71c00a2a908",
      "tree": "e29b156870997de143212a9b0739a3a1d2e307fb",
      "parents": [
        "9adeb1b409e832c31d93106ce52482a5f0078439"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 10 00:27:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:35 2005 -0700"
      },
      "message": "[PATCH] include/linux/bio.h: \"extern inline\" -\u003e \"static inline\"\n\n\"extern inline\" doesn\u0027t make much sense.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0481990b758628e12f4b0a9e15094e70cefc7cd1",
      "tree": "67a4b4b7acc6a688b87ef2a2d3ec0e296e6e480c",
      "parents": [
        "db400b3c4ee89d384d9163836a55577abdae772d",
        "17fa53da1239b8712c5cebbd72a74c713b6c2db9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 17:31:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 17:31:27 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6 \n"
    },
    {
      "commit": "3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40",
      "tree": "3b5880b862390590da8edfb98c3e62aa573d0b28",
      "parents": [
        "6f00df24ee394f345a8789d3a2f98fc1d9195b9f"
      ],
      "author": {
        "name": "Peter Osterlund",
        "email": "petero2@telia.com",
        "time": "Tue Sep 06 15:16:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:20 2005 -0700"
      },
      "message": "[PATCH] kill bio-\u003ebi_set\n\nJens:\n\n-\u003ebi_set is totally unnecessary bloat of struct bio.  Just define a proper\ndestructor for the bio and it already knows what bio_set it belongs too.\n\nPeter:\n\nFixed the bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31151ba2cef171344beac254e65bd7e00138bb0d",
      "tree": "a8f9cd3c0395656d974125c0ca7ed635aacddeee",
      "parents": [
        "3d52acb34247816c453f94596e6c7fc4499b76dc",
        "73747aed04d3b3fb694961d025f81863b99c6898"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 10:43:07 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 10:43:07 2005 -0500"
      },
      "message": "fix mismerge in ll_rw_blk.c\n"
    },
    {
      "commit": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1970baf6d74e03bd32072ab453f2fc01bc1b8d3",
      "tree": "559898cdf83bd0f93b8a72248c6423a6548fb604",
      "parents": [
        "dd1cab95f356f1395278633565f198463cf6bd24"
      ],
      "author": {
        "name": "James Bottomley ",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Mon Jun 20 14:06:52 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:06:52 2005 +0200"
      },
      "message": "[PATCH] Add scatter-gather support for the block layer SG_IO\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "df46b9a44ceb5af2ea2351ce8e28ae7bd840b00f",
      "tree": "30ab71759486f94d60af2283fc55bfffcc22155a",
      "parents": [
        "8b22c249e7de453961e4d253b19fc2a0bdd65d53"
      ],
      "author": {
        "name": "Mike Christie ",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jun 20 14:04:44 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:04:44 2005 +0200"
      },
      "message": "[PATCH] Add blk_rq_map_kern()\n\nAdd blk_rq_map_kern which takes a kernel buffer and maps it into\na request and bio. This can be used by the dm hw_handlers, old\nsg_scsi_ioctl, and one day scsi special requests so all requests\ncomming into scsi will have bios. All requests having bios\nshould allow scsi to use scatter lists for all IO and allow it\nto use block layer functions.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
