)]}'
{
  "log": [
    {
      "commit": "12fc0f49dc994d8d90dcf3df13f5b1ee5441288d",
      "tree": "60959c326d01807f3e9a72bd1799717d0166ac6e",
      "parents": [
        "67a46dad25ccc8910995d8671f7ec17a6bc823cb"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:22 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:22 2009 +0000"
      },
      "message": "dm io: handle empty barriers\n\nAccept empty barriers in dm-io.\n\ndm-io will process empty write barrier requests just like the other\nread/write requests.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f1e539874655ae9e74c1644fd54133b19f1b14e2",
      "tree": "72dd2956c3915a45984321c192964ce7a88dbe07",
      "parents": [
        "952b355760c196ec014dd0b6878f85a11496e3da"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:51:58 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:51:58 2009 +0000"
      },
      "message": "dm io: remove extra bi_io_vec region hack\n\nRemove the hack where we allocate an extra bi_io_vec to store additional\nprivate data.  This hack prevents us from supporting barriers in\ndm-raid1 without first making another little block layer change.\nInstead of doing that, this patch eliminates the bi_io_vec abuse by\nstoring the region number directly in the low bits of bi_private.\n\nWe need to store two things for each bio, the pointer to the main io\nstructure and, if parallel writes were requested, an index indicating\nwhich of these writes this bio belongs to.  There can be at most\nBITS_PER_LONG regions - 32 or 64.\n\nThe index (region number) was stored in the last (hidden) bio vector and\nthe pointer to struct io was stored in bi_private.\n\nThis patch now aligns \"struct io\" on BITS_PER_LONG bytes and stores the\nregion number in the low BITS_PER_LONG bits of bi_private.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "952b355760c196ec014dd0b6878f85a11496e3da",
      "tree": "0a6907fa6dce2bac8afdc2efea774f19bdbb9a17",
      "parents": [
        "542da317668c35036e8471822a564b609d05af66"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:51:57 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:51:57 2009 +0000"
      },
      "message": "dm io: use slab for struct io\n\nAllocate \"struct io\" from a slab.\n\nThis patch changes dm-io, so that \"struct io\" is allocated from a slab cache.\nIt used to be allocated with kmalloc. Allocating from a slab will be needed\nfor the next patch, because it requires a special alignment of \"struct io\"\nand kmalloc cannot meet this alignment.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "51aa322849581f1a73594e48ea0df63f914ee6a2",
      "tree": "19b3545084700fc36b5a916d71473936628bb062",
      "parents": [
        "5af443a7e1c0864100cc44525a9821aa2a2f4719"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jun 22 10:12:26 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:26 2009 +0100"
      },
      "message": "dm io: retry after barrier error\n\nIf -EOPNOTSUPP was returned and the request was a barrier request, retry it\nwithout barrier.\n\nRetry all regions for now. Barriers are submitted only for one-region requests,\nso it doesn\u0027t matter.  (In the future, retries can be limited to the actual\nregions that failed.)\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5af443a7e1c0864100cc44525a9821aa2a2f4719",
      "tree": "87ab19984e94c8aaba743e47ab62cf084afbdf2c",
      "parents": [
        "494b3ee7d4f69210def80aecce28d08c3f0755d5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jun 22 10:12:25 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:25 2009 +0100"
      },
      "message": "dm io: record eopnotsupp\n\nAdd another field, eopnotsupp_bits. It is subset of error_bits, representing\nregions that returned -EOPNOTSUPP.  (The bit is set in both error_bits and\neopnotsupp_bits).\n\nThis value will be used in further patches.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b64b6bf4fd8b678a9f8477c11773c38a0a246a6d",
      "tree": "26e12749b51ce21f0f59b8d7ee45a3716d2a96d8",
      "parents": [
        "95f8fac8dc6139fedfb87746e0c8fda9b803cb46"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:24 2009 +0100"
      },
      "message": "dm io: make sync_io uninterruptible\n\nIf someone sends signal to a process performing synchronous dm-io call,\nthe kernel may crash.\n\nThe function sync_io attempts to exit with -EINTR if it has pending signal,\nhowever the structure \"io\" is allocated on stack, so already submitted io\nrequests end up touching unallocated stack space and corrupting kernel memory.\n\nsync_io sets its state to TASK_UNINTERRUPTIBLE, so the signal can\u0027t break out\nof io_schedule() --- however, if the signal was pending before sync_io entered\nwhile (1) loop, the corruption of kernel memory will happen.\n\nThere is no way to cancel in-progress IOs, so the best solution is to ignore\nsignals at this point.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d659e6cc98766a1a61d6bdd283f95d149abd7719",
      "tree": "6bed5b474d50d345a2d16562cf521d7bfa7243b8",
      "parents": [
        "f80a557008462a0a4adef25407f1872e793d8dd5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Mar 16 17:44:30 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Mar 16 17:44:30 2009 +0000"
      },
      "message": "dm io: respect BIO_MAX_PAGES limit\n\ndm-io calls bio_get_nr_vecs to get the maximum number of pages to use\nfor a given device.  It allocates one additional bio_vec to use\ninternally but failed to respect BIO_MAX_PAGES, so fix this.\n\nThis was the likely cause of:\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d173153\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.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": "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": "586e80e6ee0d137c7d79fbae183bb37bc60ee97e",
      "tree": "1f3cc124ed6ad93abd4c14f9c8900333c6cba6fb",
      "parents": [
        "d63a5ce3c0d25c96bdadc78792e5b48b846e899d"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Oct 21 17:44:59 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Oct 21 17:44:59 2008 +0100"
      },
      "message": "dm: remove dm header from targets\n\nChange #include \"dm.h\" to #include \u003clinux/device-mapper.h\u003e in all targets.\nTargets should not need direct access to internal DM structures.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7ff14a36159d947872870e7a3e9dcaebc46b23eb",
      "tree": "69544b7f29f2ffc392951f9e9c23f566e3cc41f7",
      "parents": [
        "a2aebe03be60ae4da03507a00d60211d5e0327c3"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Apr 24 22:10:47 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:57 2008 +0100"
      },
      "message": "dm: unplug queues in threads\n\nRemove an avoidable 3ms delay on some dm-raid1 and kcopyd I/O.\n\nIt is specified that any submitted bio without BIO_RW_SYNC flag may plug the\nqueue (i.e. block the requests from being dispatched to the physical device).\n\nThe queue is unplugged when the caller calls blk_unplug() function. Usually, the\nsequence is that someone calls submit_bh to submit IO on a buffer. The IO plugs\nthe queue and waits (to be possibly joined with other adjacent bios). Then, when\nthe caller calls wait_on_buffer(), it unplugs the queue and submits the IOs to\nthe disk.\n\nThis was happenning:\n\nWhen doing O_SYNC writes, function fsync_buffers_list() submits a list of\nbios to dm_raid1, the bios are added to dm_raid1 write queue and kmirrord is\nwoken up.\n\nfsync_buffers_list() calls wait_on_buffer().  That unplugs the queue, but\nthere are no bios on the device queue as they are still in the dm_raid1 queue.\n\nwait_on_buffer() starts waiting until the IO is finished.\n\nkmirrord is scheduled, kmirrord takes bios and submits them to the devices.\n\nThe submitted bio plugs the harddisk queue but there is no one to unplug it.\n(The process that called wait_on_buffer() is already sleeping.)\n\nSo there is a 3ms timeout, after which the queues on the harddisks are\nunplugged and requests are processed.\n\nThis 3ms timeout meant that in certain workloads (e.g. O_SYNC, 8kb writes),\ndm-raid1 is 10 times slower than md raid1.\n\nEvery time we submit something asynchronously via dm_io, we must unplug the\nqueue actually to send the request to the device.\n\nThis patch adds an unplug call to kmirrord - while processing requests, it keeps\nthe queue plugged (so that adjacent bios can be merged); when it finishes\nprocessing all the bios, it unplugs the queue to submit the bios.\n\nIt also fixes kcopyd which has the same potential problem. All kcopyd requests\nare submitted with BIO_RW_SYNC.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a765e20eeb423d0fa6a02ffab51141e53bbd93cb",
      "tree": "fc7279fa73a21518373e1ba2efad27dab89a2214",
      "parents": [
        "2d1e580afe23287871529ce54429e249809525a1"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 24 22:02:01 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:55 2008 +0100"
      },
      "message": "dm: move include files\n\nPublish the dm-io, dm-log and dm-kcopyd headers in include/linux.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "22a1ceb1e6a7fbce95a1531ff10bb4fb036d4a37",
      "tree": "5b6ebebc747a0027626684a153b418a26119d074",
      "parents": [
        "e01fd7eeb00f8078103f4ed3e8ef64474c11f300"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Thu Apr 24 21:43:17 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:43 2008 +0100"
      },
      "message": "dm io: clean interface\n\nClean up the dm-io interface to prepare for publishing it in include/linux.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e01fd7eeb00f8078103f4ed3e8ef64474c11f300",
      "tree": "c1de000bb5a45d4b52ec1dc6231abe974743eea9",
      "parents": [
        "72727bad544b4ce0a3f7853bfd7ae939f398007d"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 24 21:43:14 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:41 2008 +0100"
      },
      "message": "dm io: rename error to error_bits\n\nRename \u0027error\u0027 to \u0027error_bits\u0027 for clarity.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4cdc1d1fa5c5ac14dc21be19832f02fd0b83867e",
      "tree": "a8c93c90dd088b18b9307bb50413478dbc48f5b5",
      "parents": [
        "d250dad64a154a9f95ec3574e2ffc97d9f61a19c"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Mar 28 14:16:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:23 2008 -0700"
      },
      "message": "dm io: write error bits form long not int\n\nwrite_err is an unsigned long used with set_bit() so should not be passed\naround as unsigned int.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10271\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "596f138eede0c113aa655937c8be85fc15ccd61c",
      "tree": "efd4e3d67b759b84bb1e72f9d50897d275085f7c",
      "parents": [
        "c95bc206da4bc9838bad826883f8f461a972e441"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Jul 12 17:27:45 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 15:01:08 2007 -0700"
      },
      "message": "dm io: fix panic on large request\n\nbio_alloc_bioset() will return NULL if \u0027num_vecs\u0027 is too large.\nUse bio_get_nr_vecs() to get estimation of maximum number.\n\nCc: stable@kernel.org\nSigned-off-by: \"Jun\u0027ichi Nomura\" \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf17ce3a604d943f29bf1bc1a66a4e0d2ad4ec96",
      "tree": "531058ab5ad63fb2e104bfadddbdbde080a0289b",
      "parents": [
        "88be163abb5324bab09f5eff9646590eec5314eb"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Wed May 09 02:33:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm io: remove old interface\n\nRemove old dm-io interface.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8b03afe3d38a635861e4bfa5c563d844e754a91",
      "tree": "d23d2aa8d6cec93bab6e23ffd2199509e7d85113",
      "parents": [
        "891ce207011d3d9219f79fd5114c8594bbacc653"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Wed May 09 02:33:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm io: new interface\n\nAdd a new API to dm-io.c that uses a private mempool and bio_set for each\nclient.\n\nThe new functions to use are dm_io_client_create(), dm_io_client_destroy(),\ndm_io_client_resize() and dm_io().\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "891ce207011d3d9219f79fd5114c8594bbacc653",
      "tree": "969ca658f41ec8a9f719a44a487ae582ee278c27",
      "parents": [
        "c897feb3dcf3c3300849056ee82b01df7bf66d3c"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Wed May 09 02:33:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm io: prepare for new interface\n\nIntroduce struct dm_io_client to prepare for per-client mempools and bio_sets.\n\nTemporary functions bios() and io_pool() choose between the per-client\nstructures and the global ones so the old and new interfaces can co-exist.\n\nMake error_bits optional.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c897feb3dcf3c3300849056ee82b01df7bf66d3c",
      "tree": "29d82a62375d7a6394ba39e11926a695e6691de0",
      "parents": [
        "a8e6afa2363de7ee0dea1a3297f6236f421c2dd4"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Wed May 09 02:33:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm io: delay dec_count\n\nDelay decrementing the \u0027struct io\u0027 reference count until after the bio has\nbeen freed so that a bio destructor function may reference it.  Required by a\nlater patch.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "f00b16ad665a9b489d46f612679181f3f914917b",
      "tree": "fc39bc1e04e063f8c5eda29f79d33a3194bb56fc",
      "parents": [
        "5cd307c5655c0b76d563b5f3f911742a32746841"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Fri Dec 08 02:41:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:08 2006 -0800"
      },
      "message": "[PATCH] dm io: fix bi_max_vecs\n\nThe existing code allocates an extra slot in bi_io_vec[] and uses it to store\nthe region number.\n\nThis patch hides the extra slot from bio_add_page() so the region number can\u0027t\nget overwritten.\n\nAlso remove a hard-coded SECTOR_SHIFT and fix a typo in a comment.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eaae62abaa1ad1f231932b6cdd9fb1b91df6651",
      "tree": "cda02cffff075a8b542ddcea4fa0ff0064130502",
      "parents": [
        "53184082b070dfb077218828fdf839826102ed96"
      ],
      "author": {
        "name": "Matthew Dobson",
        "email": "colpatch@us.ibm.com",
        "time": "Sun Mar 26 01:37:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:59 2006 -0800"
      },
      "message": "[PATCH] mempool: use common mempool kmalloc allocator\n\nThis patch changes several mempool users, all of which are basically just\nwrappers around kmalloc(), to use the common mempool_kmalloc/kfree, rather\nthan their own wrapper function, removing a bunch of duplicated code.\n\nSigned-off-by: Matthew Dobson \u003ccolpatch@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\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": "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": "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"
    }
  ]
}
