)]}'
{
  "log": [
    {
      "commit": "c10997f6575f476ff38442fa18fd4a0d80345f9d",
      "tree": "9b2bb7e647bd39fb80f23d7a6b34bf2587d660a7",
      "parents": [
        "38a382ae5dd4f4d04e3046816b0a41836094e538"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert drivers/* from kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "649316b25b148e57c8ef71748fc69fa6db276ad1",
      "tree": "ad8fb0a11b90f0cac75bbadf53a8e344fd43574a",
      "parents": [
        "d5a379f77bc79c0a78b26f8c0159f55c8b11d68b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:37 2008 -0800"
      },
      "message": "Kobject: convert drivers/md/md.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3830c62fef49f8bb1b2f353c7fb9469e3d038f5d",
      "tree": "f9af151ea91d1bc91cdc1a66d35171e0aa26e08f",
      "parents": [
        "c199790a8bc90c91b88ad1205dee2955401cff81"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:29 2008 -0800"
      },
      "message": "Kobject: change drivers/md/md.c to use kobject_init_and_add\n\nStop using kobject_register, as this way we can control the sending of\nthe uevent properly, after everything is properly initialized.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0f94e87cdeaaac9f0f9a28a5dd2a5070b87cd3e8",
      "tree": "6c35efe23f565d27bec046d8eed3c5901e1d0090",
      "parents": [
        "5b7741b3325d0d94c88b2ad46657a536890aaa2f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 08 15:32:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 08 16:10:35 2008 -0800"
      },
      "message": "md: fix data corruption when a degraded raid5 array is reshaped\n\nWe currently do not wait for the block from the missing device to be\ncomputed from parity before copying data to the new stripe layout.\n\nThe change in the raid6 code is not techincally needed as we don\u0027t delay\ndata block recovery in the same way for raid6 yet.  But making the change\nnow is safer long-term.\n\nThis bug exists in 2.6.23 and 2.6.24-rc\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91e106259214b40e992a58fb9417da46868e19b2",
      "tree": "d40a2f0aa45427a66d024ce1b29ea7cb24cc770e",
      "parents": [
        "91212507f93778c09d4c1335207b6f4b995f5ad1"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Thu Dec 13 14:16:10 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:13 2007 +0000"
      },
      "message": "dm crypt: use bio_add_page\n\nFix possible max_phys_segments violation in cloned dm-crypt bio.\n\nIn write operation dm-crypt needs to allocate new bio request\nand run crypto operation on this clone. Cloned request has always\nthe same size, but number of physical segments can be increased\nand violate max_phys_segments restriction.\n\nThis can lead to data corruption and serious hardware malfunction.\nThis was observed when using XFS over dm-crypt and at least\ntwo HBA controller drivers (arcmsr, cciss) recently.\n\nFix it by using bio_add_page() call (which tests for other\nrestrictions too) instead of constructing own biovec.\n\nAll versions of dm-crypt are affected by this bug.\n\nCc: stable@kernel.org\nCc:  dm-crypt@saout.de\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "91212507f93778c09d4c1335207b6f4b995f5ad1",
      "tree": "651bc8678413d7d6d6879214264f4bb7f9fb089d",
      "parents": [
        "69267a30bed1fabec658058c63845528a8b813d4"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 13 14:16:04 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:12 2007 +0000"
      },
      "message": "dm: merge max_hw_sector\n\nMake sure dm honours max_hw_sectors of underlying devices\n\n  We still have no firm testing evidence in support of this patch but\n  believe it may help to resolve some bug reports.  - agk\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "69267a30bed1fabec658058c63845528a8b813d4",
      "tree": "d6c527bc0d456089f1eaf0998fe39ef899b8c1fc",
      "parents": [
        "adfe47702c4726b3e045f9f83178def02833be4c"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 13 14:15:57 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:11 2007 +0000"
      },
      "message": "dm: trigger change uevent on rename\n\nInsert a missing KOBJ_CHANGE notification when a device is renamed.\n\nCc: Scott James Remnant \u003cscott@ubuntu.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "adfe47702c4726b3e045f9f83178def02833be4c",
      "tree": "fae799e3c2aacc5f3828f18f2541420c9e967a49",
      "parents": [
        "d1622e89099b7cdda20d95a68940067bdddda03c"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Thu Dec 13 14:15:51 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:10 2007 +0000"
      },
      "message": "dm crypt: fix write endio\n\nFix BIO_UPTODATE test for write io.\n\nCc: stable@kernel.org\nCc: dm-crypt@saout.de\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d1622e89099b7cdda20d95a68940067bdddda03c",
      "tree": "1f892cbd0f7b9c99332e37a2063e74b61fad59bb",
      "parents": [
        "512875bd9661368da6f993205a61213b79ba1df0"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Dec 13 14:15:43 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:09 2007 +0000"
      },
      "message": "dm mpath: hp requires scsi\n\nWith CONFIG_SCSI\u003dn __scsi_print_sense() is never linked in.\n\ndrivers/built-in.o: In function `hp_sw_end_io\u0027:\ndm-mpath-hp-sw.c:(.text+0x914f8): undefined reference to `__scsi_print_sense\u0027\n\nCaught with a randconfig on current git.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "512875bd9661368da6f993205a61213b79ba1df0",
      "tree": "7a2e010060b6233cd02e2e36b62f5dcaa96c2c36",
      "parents": [
        "fbdcf18df73758b2e187ab94678b30cd5f6ff9f9"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Dec 13 14:15:25 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:08 2007 +0000"
      },
      "message": "dm: table detect io beyond device\n\nThis patch fixes a panic on shrinking a DM device if there is\noutstanding I/O to the part of the device that is being removed.\n(Normally this doesn\u0027t happen - a filesystem would be resized first,\nfor example.)\n\nThe bug is that __clone_and_map() assumes dm_table_find_target()\nalways returns a valid pointer.  It may fail if a bio arrives from the\nblock layer but its target sector is no longer included in the DM\nbtree.\n\nThis patch appends an empty entry to table-\u003etargets[] which will\nbe returned by a lookup beyond the end of the device.\n\nAfter calling dm_table_find_target(), __clone_and_map() and target_message()\ncheck for this condition using\ndm_target_is_valid().\n\nSample test script to trigger oops:\n"
    },
    {
      "commit": "6c55be8b962f1bdc592d579e81fc27b11ea53dfc",
      "tree": "3413cc2c8e26afdbc498cbdbd96bc2fa9733b2a6",
      "parents": [
        "5b23dbe8173c212d6a326e35347b038705603d39"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Nov 14 16:59:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:39 2007 -0800"
      },
      "message": "raid5: fix unending write sequence\n\n\u003cdebug output from Joel\u0027s system\u003e\nhandling stripe 7629696, state\u003d0x14 cnt\u003d1, pd_idx\u003d2 ops\u003d0:0:0\ncheck 5: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800ffcffcc0 written 0000000000000000\ncheck 4: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800fdd4e360 written 0000000000000000\ncheck 3: state 0x1 toread 0000000000000000 read 0000000000000000 write 0000000000000000 written 0000000000000000\ncheck 2: state 0x1 toread 0000000000000000 read 0000000000000000 write 0000000000000000 written 0000000000000000\ncheck 1: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800ff517e40 written 0000000000000000\ncheck 0: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800fd4cae60 written 0000000000000000\nlocked\u003d4 uptodate\u003d2 to_read\u003d0 to_write\u003d4 failed\u003d0 failed_num\u003d0\nfor sector 7629696, rmw\u003d0 rcw\u003d0\n\u003c/debug\u003e\n\nThese blocks were prepared to be written out, but were never handled in\nops_run_biodrain(), so they remain locked forever.  The operations flags\nare all clear which means handle_stripe() thinks nothing else needs to be\ndone.\n\nThis state suggests that the STRIPE_OP_PREXOR bit was sampled \u0027set\u0027 when it\nshould not have been.  This patch cleans up cases where the code looks at\nsh-\u003eops.pending when it should be looking at the consistent stack-based\nsnapshot of the operations flags.\n\nReport from Joel:\n\tResync done. Patch fix this bug.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nTested-by: Joel Bertrand \u003cjoel.bertrand@systella.fr\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ad8b1ef11c98c5603580878aebf9f1bc74129e4",
      "tree": "f7bdc2484513f6ffd174b1385bb216dcf97d2c78",
      "parents": [
        "d85532ed284e63b5c56eaf2418f262822af60be4"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Wed Nov 07 14:26:56 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 09 13:41:32 2007 +0100"
      },
      "message": "Add UNPLUG traces to all appropriate places\n\nAdded blk_unplug interface, allowing all invocations of unplugs to result\nin a generated blktrace UNPLUG.\n\nSigned-off-by: Alan D. Brunelle \u003cAlan.Brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "def6ae26a9e69c3e6d0f0054524c76fd32420ecd",
      "tree": "3688a3d5d8507835e0f55fb3e3d83b52cfa049a7",
      "parents": [
        "139b82984af5a98e4b03fd01616d79fc4970128a"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 05 14:51:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:32 2007 -0800"
      },
      "message": "md: fix misapplied patch in raid5.c\n\ncommit 4ae3f847e49e3787eca91bced31f8fd328d50496 (\"md: raid5: fix\nclearing of biofill operations\") did not get applied correctly,\npresumably due to substantial similarities between handle_stripe5 and\nhandle_stripe6.\n\nThis patch moves the chunk of new code from handle_stripe6 (where it isn\u0027t\nneeded (yet)) to handle_stripe5.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Dan Williams\" \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ec140e600b7d6624c657f008833f0e71bd5ef48",
      "tree": "44691c88d767418a57797e84253a4633825c0c98",
      "parents": [
        "6f5d8aa6382eef2b26032c88656270bdae7f0c42"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Wed Oct 31 08:33:24 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "dm: bounce_pfn limit added\n\nDevice mapper uses its own bounce_pfn that may differ from one on underlying\ndevice. In that way dm can build incorrect requests that contain sg elements\ngreater than underlying device is able to handle.\n\nThis is the cause of slab corruption in i2o layer, occurred on i386 arch when\nvery long direct IO requests are addressed to dm-over-i2o device.\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ca5cd877ae699e758e6f26efc11b01bf6631d427",
      "tree": "f2337ce76ab006d9705b10e8e0ed2f62487c837f",
      "parents": [
        "2a397e82c7db18019e408f953dd58dc1963a328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Oct 29 04:31:16 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 29 07:41:32 2007 -0700"
      },
      "message": "x86 merge fallout: uml\n\nDon\u0027t undef __i386__/__x86_64__ in uml anymore, make sure that (few) places\nthat required adjusting the ifdefs got those.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68e3f5dd4db62619fdbe520d36c9ebf62e672256",
      "tree": "0a9b05227fc53cb72785a95298c643f5405fd7b4",
      "parents": [
        "a5a613a4291a8107008e4c40108a385cda71b08d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "message": "[CRYPTO] users: Fix up scatterlist conversion errors\n\nThis patch fixes the errors made in the users of the crypto layer during\nthe sg_init_table conversion.  It also adds a few conversions that were\nmissing altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "642f149031d70415d9318b919d50b71e4724adbd",
      "tree": "e792ad29dedffc6756d55e9d63e18ada35515b4b",
      "parents": [
        "bd6dee6f30a0f6943df190b387b5f8fe98a848f3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "message": "SG: Change sg_set_page() to take length and offset argument\n\nMost drivers need to set length and offset as well, so may as well fold\nthose three lines into one.\n\nAdd sg_assign_page() for those two locations that only needed to set\nthe page, where the offset/length is set outside of the function context.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4ae3f847e49e3787eca91bced31f8fd328d50496",
      "tree": "9fab60c4898e49cf1cf04e360dc63ae1d0ef5bd2",
      "parents": [
        "85bfb4da8cad483a4e550ec89060d05a4daf895b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Oct 22 20:45:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 08:32:06 2007 -0700"
      },
      "message": "md: raid5: fix clearing of biofill operations\n\nops_complete_biofill() runs outside of spin_lock(\u0026sh-\u003elock) and clears the\n\u0027pending\u0027 and \u0027ack\u0027 bits.  Since the test_and_ack_op() macro only checks\nagainst \u0027complete\u0027 it can get an inconsistent snapshot of pending work.\n\nMove the clearing of these bits to handle_stripe5(), under the lock.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nTested-by: Joel Bertrand \u003cjoel.bertrand@systella.fr\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85bfb4da8cad483a4e550ec89060d05a4daf895b",
      "tree": "8cbdfb71e4000a6b3f1ac23d95fcc6caa7085443",
      "parents": [
        "0895e91d60ef9bdef426d1ce14bb94bd5875870d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 22 20:45:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 08:32:06 2007 -0700"
      },
      "message": "md: fix an unsigned compare to allow creation of bitmaps with v1.0 metadata\n\nAs page-\u003eindex is unsigned, this all becomes an unsigned comparison,\nwhich almost always returns an error.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c00046c279a2521075250fad682ca0acc10d4fd7",
      "tree": "78a7e9089c26f199ad9b0161bb564b7c1ca6daf9",
      "parents": [
        "9abbf7d028b1598b40ebdc81c48f30da7f3d5bf5",
        "8e8a1407ac23b43cec0412338c1b4f5e1c664550"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 20:36:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 20:36:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (74 commits)\n  fix do_sys_open() prototype\n  sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake\n  Documentation: Fix typo in SubmitChecklist.\n  Typo: depricated -\u003e deprecated\n  Add missing profile\u003dkvm option to Documentation/kernel-parameters.txt\n  fix typo about TBI in e1000 comment\n  proc.txt: Add /proc/stat field\n  small documentation fixes\n  Fix compiler warning in smount example program from sharedsubtree.txt\n  docs/sysfs: add missing word to sysfs attribute explanation\n  documentation/ext3: grammar fixes\n  Documentation/java.txt: typo and grammar fixes\n  Documentation/filesystems/vfs.txt: typo fix\n  include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros\n  trivial copy_data_pages() tidy up\n  Fix typo in arch/x86/kernel/tsc_32.c\n  file link fix for Pegasus USB net driver help\n  remove unused return within void return function\n  Typo fixes retrun -\u003e return\n  x86 hpet.h: remove broken links\n  ...\n"
    },
    {
      "commit": "80fd662683be5dc2a3b41b27e30942d5fd7b5d5c",
      "tree": "3b538cf19325179ca84e54f56375c3f4d30658b3",
      "parents": [
        "b15546f942c09fe55ad55af31841eecacbf4ffd1"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Sat Oct 20 01:14:21 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:28 2007 +0100"
      },
      "message": "dm crypt: tidy pending\n\nAdd crypt prefix to dec_pending to avoid confusing it in backtraces with\nthe dm core function of the same name.\n\nNo functional change here.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b15546f942c09fe55ad55af31841eecacbf4ffd1",
      "tree": "305ddd93c48311518bde9cf9e0ef310bb3b0824a",
      "parents": [
        "7a8c3d3b92883798e4ead21dd48c16db0ec0ff6f"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:48:02 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:27 2007 +0100"
      },
      "message": "dm mpath: send uevents\n\nThis patch adds calls to dm_path_event for a failed path and a reinstated\npath.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7a8c3d3b92883798e4ead21dd48c16db0ec0ff6f",
      "tree": "21a25dc6bd6afa11430e1ab8d997a4b1c0b960f0",
      "parents": [
        "51e5b2bd34ded40ef48cade8a6a8f1baa0b4275e"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:48:01 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:26 2007 +0100"
      },
      "message": "dm: uevent generate events\n\nThis patch adds support for the dm_path_event dm_send_event functions which\ncreate and send udev events.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "51e5b2bd34ded40ef48cade8a6a8f1baa0b4275e",
      "tree": "7c1650dcd2f53bed2c0b8c9538e8da2d2d1286c2",
      "parents": [
        "96a1f7dba6e464155c0d1dc69c6c2efa96b644ac"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:48:00 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:24 2007 +0100"
      },
      "message": "dm: add uevent to core\n\nThis patch adds a uevent skeleton to device-mapper.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96a1f7dba6e464155c0d1dc69c6c2efa96b644ac",
      "tree": "8051a11c07624c9e5f9b049273462c307c447624",
      "parents": [
        "aa5617c55357d86c9082ba1d66fa9795370c9954"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:47:59 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:23 2007 +0100"
      },
      "message": "dm: export name and uuid\n\nThis patch adds a function to obtain a copy of a mapped device\u0027s name and uuid.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "aa5617c55357d86c9082ba1d66fa9795370c9954",
      "tree": "9dd542c6ce1a5d14cb6366113645cdb7131350a2",
      "parents": [
        "6b3df0d7a5e85ad2afd3eecc50e2dee59e876ae8"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Oct 19 22:47:58 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:22 2007 +0100"
      },
      "message": "dm raid1: add mirror_set to struct mirror\n\nStore a pointer to the owning mirror_set structure within each mirror\nstructure for a subsequent patch to use.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6b3df0d7a5e85ad2afd3eecc50e2dee59e876ae8",
      "tree": "d20f30d0a40d1162a6cc135dca31403ae38198e5",
      "parents": [
        "fe97e2aa0502922488ad62303a19a20c8044ae18"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Oct 19 22:47:57 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:21 2007 +0100"
      },
      "message": "dm log: split suspend\n\nThere are now two phases to a suspend in device-mapper -\npresuspend and postsuspend.  This patch removes the\nsingle \u0027suspend\u0027 in the logging API and replaces it with\n\u0027presuspend\u0027 and \u0027postsuspend\u0027 functions to align it\nbetter with core device-mapper.\n\nA subsequent patch will make use of \u0027presuspend\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fe97e2aa0502922488ad62303a19a20c8044ae18",
      "tree": "481f977d08248b64c4e9b3c48c74b95fbe90e1be",
      "parents": [
        "16ebbf358477b762115fec2f85d9b9496a5cae76"
      ],
      "author": {
        "name": "Dave Wysochanski",
        "email": "dwysocha@redhat.com",
        "time": "Fri Oct 19 22:47:55 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:20 2007 +0100"
      },
      "message": "dm mpath: hp retry if not ready\n\nThis patch adds retries to the hp hardware handler, and utilizes the\nMP_RETRY flag of dm-multipath.  For now in the hp handler, if we get a\npg_init completed with a check condition we just assume we can retry the\npg_init command.  We make this assumption because of incomplete data on\nspecific check condition code of the HP hardware, and because testing\nhas shown the HP path initialization command to be idempotent.\nThe number of times we retry is settable via the \"pg_init_retries\"\nmultipath map feature.\n\nSigned-off-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "16ebbf358477b762115fec2f85d9b9496a5cae76",
      "tree": "f25ad7881636aa21e85027be00056f5675a45de5",
      "parents": [
        "c9e45581ad530cc1ca4b5d4add44a5b625234ada"
      ],
      "author": {
        "name": "Dave Wysochanski",
        "email": "dwysocha@redhat.com",
        "time": "Fri Oct 19 22:47:54 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:19 2007 +0100"
      },
      "message": "dm mpath: add hp handler\n\nThis patch adds the most basic dm-multipath hardware support for the\nHP active/passive arrays.\n\nSigned-off-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c9e45581ad530cc1ca4b5d4add44a5b625234ada",
      "tree": "3d5ddc7762e9c3d3da78f8c4d98047f3f108dd98",
      "parents": [
        "636d5786c45414fd8e48f2a2325be072274fdba4"
      ],
      "author": {
        "name": "Dave Wysochanski",
        "email": "dwysocha@redhat.com",
        "time": "Fri Oct 19 22:47:53 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:18 2007 +0100"
      },
      "message": "dm mpath: add retry pg init\n\nThis patch allows a failed path group initialisation command to be retried.\n\nIt adds a generic MP_RETRY flag and a \"pg_init_retries\" feature to\ndevice-mapper multipath which limits the number of retries.\n\n1. A hw handler sends a path initialization command to the storage and\nthe command completes with an error code indicating the command\nshould be retried.\n\n2. The hardware handler calls dm_pg_init_complete() with MP_RETRY\nset in err_flags to ask the dm multipath core to retry.\n\n3. If the retry limit has not been exceeded, pg_init() is retried.\nOtherwise fail_path() is called.\n\nIf you are using the userspace multipath-tools or device-mapper-multipath\npackage, you can set pg_init_retries in the \u0027device\u0027 section of your\n/etc/multipath.conf file. For example:\n\nfeatures                \"2 pg_init_retries 7\"\n\nThe number of PG retries attempted is reported in the \u0027dmsetup status\u0027 output.\n\nSigned-off-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nAcked-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "636d5786c45414fd8e48f2a2325be072274fdba4",
      "tree": "a0dd265c3ab1e6aa04a63827c28d659ed1d564ae",
      "parents": [
        "d469f84197a6415248ae4c5bd4f012cb609044fa"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:47:52 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:17 2007 +0100"
      },
      "message": "dm crypt: tidy labels\n\nReplace numbers with names in labels in error paths, to avoid confusion\nwhen new one get added between existing ones.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d469f84197a6415248ae4c5bd4f012cb609044fa",
      "tree": "9f14a8b89a14f107b7c21bfc25e8e88ed4b7c820",
      "parents": [
        "cabf08e4d3d1181d7c408edae97fb4d1c31518af"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:42:37 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:15 2007 +0100"
      },
      "message": "dm crypt: tidy whitespace\n\nClean up, convert some spaces to tabs.\n\nNo functional change here.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "cabf08e4d3d1181d7c408edae97fb4d1c31518af",
      "tree": "b931cc050b8294a6f04790683e191e324268bad6",
      "parents": [
        "9934a8bea2fc67e6f07d74304eca2a91d251bfe8"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:58 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:14 2007 +0100"
      },
      "message": "dm crypt: add post processing queue\n\nAdd post-processing queue (per crypt device) for read operations.\n\nCurrent implementation uses only one queue for all operations\nand this can lead to starvation caused by many requests waiting\nfor memory allocation. But the needed memory-releasing operation\nis queued after these requests (in the same queue).\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "9934a8bea2fc67e6f07d74304eca2a91d251bfe8",
      "tree": "e2ea4b65a1fa4ad8d2a2dd8b755a7abaf91849c4",
      "parents": [
        "d336416ff1e6f7715f6dcb3b4e3e60626e406dd0"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:57 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:13 2007 +0100"
      },
      "message": "dm crypt: use per device singlethread workqueues\n\nUse a separate single-threaded workqueue for each crypt device\ninstead of one global workqueue.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d336416ff1e6f7715f6dcb3b4e3e60626e406dd0",
      "tree": "c53df946badcfb7106e976b207f2993370a4cffc",
      "parents": [
        "051814c69fac92f1964739c0cf08b5e3b1156b04"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Oct 19 22:38:56 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:12 2007 +0100"
      },
      "message": "dm mpath: emc fix an error message\n\nCorrect an error message, reported by Michael Wood \u003cmichael@frogfoot.com\u003e.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "051814c69fac92f1964739c0cf08b5e3b1156b04",
      "tree": "5a279c06d13f5d953119d89bdcbd9b5f616c8a00",
      "parents": [
        "bb56acf840600421e68f49bb037d1c659fcb37f8"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Oct 19 22:38:55 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:11 2007 +0100"
      },
      "message": "dm: bio_list macro renaming\n\nRemove BIO_LIST and DEFINE_BIO_LIST macros that gain us nothing\nsince contents are initialised to NULL.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bb56acf840600421e68f49bb037d1c659fcb37f8",
      "tree": "f95ff0498bff166b86b9d3684223504d3976c7ca",
      "parents": [
        "9e4e5f87ebcadb7ad9aca640bbe1038e1545e9f8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Oct 19 22:38:54 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:10 2007 +0100"
      },
      "message": "dm io:ctl remove vmalloc void cast\n\nIn drivers/md/dm-ioctl.c::copy_params() there\u0027s a call to vmalloc()\nwhere we currently cast the return value, but that\u0027s pretty pointless\ngiven that vmalloc() returns \"void *\".\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "9e4e5f87ebcadb7ad9aca640bbe1038e1545e9f8",
      "tree": "f9e4851247a8261151f1c858a18088b2f2e4701a",
      "parents": [
        "def5b5b26e6d97820465fadcb7d1cb73cc4daf33"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:53 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:09 2007 +0100"
      },
      "message": "dm: tidy bio_io_error usage\n\nUse bio_io_error() in only two places and tidy the code,\npreparing for later patches.\n\nThere is no functional change in this patch.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "def5b5b26e6d97820465fadcb7d1cb73cc4daf33",
      "tree": "ee9649cc571503da040ba1582688e16e52de4483",
      "parents": [
        "094262db9e4c615e0db7a7b924d244b7a6c186b0"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Fri Oct 19 22:38:52 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:08 2007 +0100"
      },
      "message": "kcopyd use mutex instead of semaphore\n\nKcopyd uses a semaphore as mutex.  Use the mutex API instead of the (binary)\nsemaphore,\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "094262db9e4c615e0db7a7b924d244b7a6c186b0",
      "tree": "c8c79edd122d9b32b1cd61c9c7070e14d3656a67",
      "parents": [
        "6f3c3f0afa50782dc1742c968646c491657d255a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:51 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:07 2007 +0100"
      },
      "message": "dm: use kzalloc\n\nConvert kmalloc() + memset() to kzalloc().\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6f3c3f0afa50782dc1742c968646c491657d255a",
      "tree": "cb1f69504094cec60564be51c405bba5eb66c322",
      "parents": [
        "ae9da83f6d800fe1f3b23bfbc8f7222ad1c5bb74"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Fri Oct 19 22:38:44 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:06 2007 +0100"
      },
      "message": "dm: use is_power_of_2\n\nReplacing n \u0026 (n - 1) for power of 2 check by is_power_of_2(n)\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ae9da83f6d800fe1f3b23bfbc8f7222ad1c5bb74",
      "tree": "18ec2683dd90399f09d41725bdc253a7b335bf0d",
      "parents": [
        "79662d1ea37392651f2cff08626cab6a40ba3adc"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Fri Oct 19 22:38:43 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:05 2007 +0100"
      },
      "message": "dm: fix thaw_bdev\n\nThis patch fixes a bd_mount_sem counter corruption bug in device-mapper.\n\nthaw_bdev() should be called only when freeze_bdev() was called for the\ndevice.\nOtherwise, thaw_bdev() will up bd_mount_sem and corrupt the semaphore counter.\nstruct block_device with the corrupted semaphore may remain in slab cache\nand be reused later.\n\nAttached patch will fix it by calling unlock_fs() instead.\nunlock_fs() will determine whether it should call thaw_bdev()\nby checking the device is frozen or not.\n\nEasy reproducer is:\n  #!/bin/sh\n  while [ 1 ]; do\n     dmsetup --notable create a\n     dmsetup --nolockfs suspend a\n     dmsetup remove a\n  done\n\nIt\u0027s not easy to see the effect of corrupted semaphore.\nSo I have tested with putting printk below in bdev_alloc_inode():\n        if (atomic_read(\u0026ei-\u003ebdev.bd_mount_sem.count) !\u003d 1)\n                printk(KERN_DEBUG \"Incorrect semaphore count \u003d %d (%p)\\n\",\n                        atomic_read(\u0026ei-\u003ebdev.bd_mount_sem.count),\n                        \u0026ei-\u003ebdev);\n\nWithout the patch, I saw something like:\n Incorrect semaphore count \u003d 17 (f2ab91c0)\n\nWith the patch, the message didn\u0027t appear.\n\nThe bug was introduced in 2.6.16 with this bug fix:\n\ncommit d9dde59ba03095e526640988c0fedd75e93bc8b7\nDate:   Fri Feb 24 13:04:24 2006 -0800\n\n    [PATCH] dm: missing bdput/thaw_bdev at removal\n\n    Need to unfreeze and release bdev otherwise the bdev inode with\n    inconsistent state is reused later and cause problem.\n\nand backported to 2.6.15.5.\n\nIt occurs only in free_dev(), which is called only when the dm device is\nremoved.  The buggy code is executed only if md-\u003esuspended_bdev is\nnon-NULL and that can happen only when the device was suspended without\nnoflush.\n\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "79662d1ea37392651f2cff08626cab6a40ba3adc",
      "tree": "fb029c530e9223f7577607d08e3fd692ed8b2e24",
      "parents": [
        "2e64a0f92830791f160274c46aef3678fabcf044"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:42 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:04 2007 +0100"
      },
      "message": "dm delay: fix status\n\nFix missing space in dm-delay target status output\nif separate read and write delay are configured.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2e64a0f92830791f160274c46aef3678fabcf044",
      "tree": "9ca6464cf43743f8651c7e3303401188fc6cf6f6",
      "parents": [
        "a72cf737e09da409e047863e38410930dae5fe05"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:41 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:02 2007 +0100"
      },
      "message": "dm delay: fix ctr error paths\n\nAdd missing \u0027dm_put_device\u0027 to dm-delay target constructor.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a72cf737e09da409e047863e38410930dae5fe05",
      "tree": "66a7b5e897e6625e1690ea42b7944e17f8d3161b",
      "parents": [
        "815f9e32709b014a459919176a4f0feebd42731e"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:39 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:01 2007 +0100"
      },
      "message": "dm raid1: fix leakage\n\nAdd missing \u0027dm_io_client_destroy\u0027 to alloc_context error path.\nReorganize mirror constructor error path in order to prevent\nworkqueue leakage.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "815f9e32709b014a459919176a4f0feebd42731e",
      "tree": "346f54c6313c34d57259bf59109c2a035e999fcb",
      "parents": [
        "55b42c5ae9c048de25233434afc7b71b01bee9e6"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:38 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:01 2007 +0100"
      },
      "message": "dm crypt: missing kfree in ctr error path\n\nInsert missing kfree() in crypt_iv_essiv_ctr() error path.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "55b42c5ae9c048de25233434afc7b71b01bee9e6",
      "tree": "872a9e8cd132f89ed29ba242e53f5877702cbb17",
      "parents": [
        "027d50f92ea26fd065aeb141ebfcbbbe010825e3"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:37 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:00:59 2007 +0100"
      },
      "message": "dm crypt: drop device ref in ctr error path\n\nAdd a missing \u0027dm_put_device\u0027 in an error path in crypt target constructor.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "027d50f92ea26fd065aeb141ebfcbbbe010825e3",
      "tree": "e02900d49590ece0e43e21b006c39de08b1178be",
      "parents": [
        "c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:36 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:00:58 2007 +0100"
      },
      "message": "dm io:ctl use constant struct size\n\nMake size of dm_ioctl struct always 312 bytes on all supported\narchitectures.\n\nThis change retains compatibility with already-compiled code because\nit uses an embedded offset to locate the payload that follows the\nstructure.\n\nOn 64-bit architectures there is no change at all; on 32-bit\nwe are increasing the size of dm-ioctl from 308 to 312 bytes.\n\nCurrently with 32-bit userspace / 64-bit kernel on x86_64\nsome ioctls (including rename, message) are incorrectly rejected\nby the comparison against \u0027param + 1\u0027.  This breaks userspace\nlvrename and multipath \u0027fail_if_no_path\u0027 changes, for example.\n\n(BTW Device-mapper uses its own versioning and ignores the ioctl\nsize bits.  Only the generic ioctl compat code on mixed arches\nchecks them, and that will continue to accept both sizes for now,\nbut we intend to list 308 as deprecated and eventually remove it.)\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Guido Guenther \u003cagx@sigxcpu.org\u003e\nCc: Kevin Corry \u003ckevcorry@us.ibm.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade",
      "tree": "6dba24ddd057340ce8fe8ce6b887b7d6ce4f4193",
      "parents": [
        "60812a4a99b796d894d2522dc63cb0fafc3be25e"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "breeves@redhat.com",
        "time": "Fri Oct 19 22:29:32 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:00:57 2007 +0100"
      },
      "message": "dm mpath: rdac fix init race\n\nRe-order the initialisation of dm-rdac to avoid registering the hw\nhandler before the workqueue has been initialised. Closes a race\nthat would potentially give an oops.\n\nSigned-off-by: Bryn M. Reeves \u003cbreeves@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96de0e252cedffad61b3cb5e05662c591898e69a",
      "tree": "e3eb7d3e65ec27d39e1da13a17f6f0f91b28f5e9",
      "parents": [
        "3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "message": "Convert files to UTF-8 and some cleanups\n\n* Convert files to UTF-8.\n\n  * Also correct some people\u0027s names\n    (one example is Eißfeldt, which was found in a source file.\n    Given that the author used an ß at all in a source file\n    indicates that the real name has in fact a \u0027ß\u0027 and not an \u0027ss\u0027,\n    which is commonly used as a substitute for \u0027ß\u0027 when limited to\n    7bit.)\n\n  * Correct town names (Goettingen -\u003e Göttingen)\n\n  * Update Eberhard Mönkeberg\u0027s address (http://lkml.org/lkml/2007/1/8/313)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "3a4fa0a25da81600ea0bcd75692ae8ca6050d165",
      "tree": "a4de1662e645c029cf3cf58f0646cbb1959861dc",
      "parents": [
        "18735dd8d2d37031b97f9e9e106acbaed01eb896"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "message": "Fix misspellings of \"system\", \"controller\", \"interrupt\" and \"necessary\".\n\nFix the various misspellings of \"system\", controller\", \"interrupt\" and\n\"[un]necessary\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf7a44168d743ca97863b7f34ed42a45fd7b5ab0",
      "tree": "884f5094a46be4da9f30292c9a5a417f100d5d5f",
      "parents": [
        "d7f3d291a0e1330f341fdf1128b2d12fff7932ee"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 16 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: make sure read errors are auto-corrected during a \u0027check\u0027 resync in raid1\n\nWhenever a read error is found, we should attempt to overwrite with correct\ndata to \u0027fix\u0027 it.\n\nHowever when do a \u0027check\u0027 pass (which compares data blocks that are\nsuccessfully read, but doesn\u0027t normally overwrite) we don\u0027t do that.  We\nshould.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7f3d291a0e1330f341fdf1128b2d12fff7932ee",
      "tree": "c7dd6ab8ece277fe71c9626aeeda2e79dd259476",
      "parents": [
        "2b12ab6d33f413aabb623197eeecaad5c216e6ae"
      ],
      "author": {
        "name": "Iustin Pop",
        "email": "iusty@k1024.org",
        "time": "Tue Oct 16 23:30:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: expose the degraded status of an assembled array through sysfs\n\nThe \u0027degraded\u0027 attribute is useful to quickly determine if the array is\ndegraded, instead of parsing \u0027mdadm -D\u0027 output or relying on the other\ntechniques (number of working devices against number of defined devices,\netc.).  The md code already keeps track of this attribute, so it\u0027s useful to\nexport it.\n\nSigned-off-by: Iustin Pop \u003ciusty@k1024.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b12ab6d33f413aabb623197eeecaad5c216e6ae",
      "tree": "5fffaf905d8495d54bfb82fc6be080c3b292e391",
      "parents": [
        "8299d7f7c067a30a67ad359d416128c4ff57dcd1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 16 23:30:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: \u0027sync_action\u0027 in sysfs returns wrong value for readonly arrays\n\nWhen an array is started read-only, MD_RECOVERY_NEEDED can be set but no\nrecovery will be running.  This causes \u0027sync_action\u0027 to report the wrong\nvalue.\n\nWe could remove the test for MD_RECOVERY_NEEDED, but doing so would leave a\nsmall gap after requesting a sync action, where \u0027sync_action\u0027 would still\nreport the old value.\n\nSo make sure that for a read-only array, \u0027sync_action\u0027 always returns \u0027idle\u0027.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8299d7f7c067a30a67ad359d416128c4ff57dcd1",
      "tree": "0a824aab73367b5a72f63efb7b98504c02ff4450",
      "parents": [
        "5ebf2c1260705a2ce51ad19af33059f08211579d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 16 23:30:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: fix a bug in some never-used code.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d3277\n\nThere is a seq_printf here that isn\u0027t being passed a \u0027seq\u0027.  Howeve as the\ncode is inside #ifdef MD_DEBUG, nobody noticed.\n\nAlso remove some extra spaces.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d936ec1fdc1541cd6d59d21ddb8b9386e2fcc4c",
      "tree": "14670d1b900b7fa21488e4809c287cbf7a7ab358",
      "parents": [
        "a686cd898bd999fd026a51e90fb0a3410d258ddb"
      ],
      "author": {
        "name": "Michael J. Evans",
        "email": "mjevans1983@gmail.com",
        "time": "Tue Oct 16 23:30:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: software Raid autodetect dev list not array\n\nIn current release kernels the md module (Software RAID) uses a static\narray (dev_t[128]) to store partition/device info temporarily for\nautostart.\n\nI discovered this (and that the devices are added as disks/partitions are\ndiscovered at boot) while I was debugging why only one of my MD arrays would\ncome up whole, while all the others were short a disk.\n\nI eventually discovered that it was enumerating through all of 9 of my 11 hds\n(2 had only 4 partitions apiece) while the other 9 have 15 partitions (I\nwanted 64 per drive...).  The last partition of the 8th drive in my 9 drive\nraid 5 sets wasn\u0027t added, thus making the final md array short both a parity\nand data disk, and it was started later, elsewhere.\n\nThis patch replaces that static array with a list.\n\n[akpm@linux-foundation.org: removed unused var]\nSigned-off-by: Michael J. Evans \u003cmjevans1983@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "644bd2f048972d75eb1979b1fdca257d528ce687",
      "tree": "1a6c067c285ba8497e433f8545c550dc4ffc7135",
      "parents": [
        "3eed13fd933dbb81db12f7cdec6de9268c4443b5"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 16 13:48:46 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 13:48:46 2007 +0200"
      },
      "message": "Fix memory leak in dm-crypt\n\ndm-crypt used the -\u003ebi_size member in the bio endio handling to\nfree the appropriate pages, but it frees all of it from both call\npaths. With the -\u003ebi_end_io() changes, -\u003ebi_size was always 0 since\nwe don\u0027t do partial completes. This caused dm-crypt to leak memory.\n\nFix this by removing the size argument from crypt_free_buffer_pages().\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd5d806266935179deda1502101624832eacd01f",
      "tree": "b0d01c2ed7d754f2a6daef6c77d108a81d8a470e",
      "parents": [
        "bf2de6f5a4faf0197268f18d08969b003b87b6e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "message": "block: convert blkdev_issue_flush() to use empty barriers\n\nThen we can get rid of -\u003eissue_flush_fn() and all the driver private\nimplementations of that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0dddfd46f07db880df7d99e6ebe8baca11591f29",
      "tree": "1be11024fd1f9ce11359aee50611fc4eac468bc6",
      "parents": [
        "e92042e5c009d84ba741ec4a978a13f260e6ee24"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Oct 13 14:31:28 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Oct 13 09:41:03 2007 -0700"
      },
      "message": "dm: emc_endio returns void\n\nemc_endio returns void:\n  linux/drivers/md/dm-emc.c: In function \u0027emc_endio\u0027:\n  linux/drivers/md/dm-emc.c:58: warning: \u0027return\u0027 with a value, in function returning void\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19c38de88a80913351fcacefdb461cc0b585fa87",
      "tree": "17d2978ce27861926a0d9a3eb49471b9b736f968",
      "parents": [
        "5901d0145c6b9e791bacd049eea11c9db9a3006e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "kobjects: fix up improper use of the kobject name field\n\nA number of different drivers incorrect access the kobject name field\ndirectly.  This is not correct as the name might not be in the array.\nUse the proper accessor function instead.\n\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": "66846572bfb4ec62bcba260028cbbcbdb77bd636",
      "tree": "23a29655a22835a49bd1549524fc3b950a5bf261",
      "parents": [
        "3001ca77128273cc5634d79f5306ce2e5a14ec41"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 16 13:31:28 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "Stop exporting blk_rq_bio_prep\n\nblk_rq_bio_prep is exported for use in exactly\none place.  That place can benefit from using\nthe new blk_rq_append_bio instead.\nSo\n  - change dm-emc to call blk_rq_append_bio\n  - stop exporting blk_rq_bio_prep, and\n  - initialise rq_disk in blk_rq_bio_prep,\n       as dm-emc needs it.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\ndiff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e4d84909dd48b5e5806a5d18b881e1ca1610ba9b",
      "tree": "85aa712ebc034a31b9a2a5db2f0e7ce4951cb440",
      "parents": [
        "6247cdc2cd334dad0ea5428245a7d8f4b075f21e"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Sep 24 10:06:13 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Sep 24 13:23:35 2007 -0700"
      },
      "message": "raid5: fix 2 bugs in ops_complete_biofill\n\n1/ ops_complete_biofill tried to avoid calling handle_stripe since all the\nstate necessary to return read completions is available.  However the\nprocess of determining whether more read requests are pending requires\nlocking the stripe (to block add_stripe_bio from updating dev-\u003etoead).\nops_complete_biofill can run in tasklet context, so rather than upgrading\nall the stripe locks from spin_lock to spin_lock_bh this patch just\nunconditionally reschedules handle_stripe after completing the read\nrequest.\n\n2/ ops_complete_biofill needlessly qualified processing R5_Wantfill with\ndev-\u003etoread.  The result being that the \u0027biofill\u0027 pending bit is cleared\nbefore handling the pending read-completions on dev-\u003eread.  R5_Wantfill can\nbe unconditionally handled because the \u0027biofill\u0027 pending bit prevents new\nR5_Wantfill requests from being seen by ops_run_biofill and\nops_complete_biofill.\n\nFound-by: Yuri Tikhonov \u003cyur@emcraft.com\u003e\n[neilb@suse.de: simpler fix for bug 1 than moving code]\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "2123a09f3f129f4d56f59026ec63e5990f86db2f",
      "tree": "ef604958225e18f1ab75e4599c1e12481e169ca6",
      "parents": [
        "dd941252a81b02b5915e2db160fe02c972875846"
      ],
      "author": {
        "name": "aherrman@arcor.de",
        "email": "aherrman@arcor.de",
        "time": "Fri Sep 14 01:28:56 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Sep 14 13:56:47 2007 -0700"
      },
      "message": "Fix kernel buuild with (CONFIG_COMPAT \u0026\u0026 ! CONFIG_BLOCK)\n\nCommit 02a5e0acb3cb85d80d0fe834e366d38a92bbaa22 (\"BLOCK: Hide the\ncontents of linux/bio.h if CONFIG_BLOCK\u003dn\") broke the kernel build for\nthe CONFIG_COMPAT \u0026\u0026 !CONFIG_BLOCK case:\n\n    CC      fs/compat_ioctl.o\n  In file included from include/linux/raid/md_k.h:19,\n                   from include/linux/raid/md.h:54,\n                   from fs/compat_ioctl.c:25:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:40: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:48: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:51: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:64: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_merge_:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:78: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:90: error: dereferencing pointer to incomplete type\n  include/linux/raid/../../../drivers/md/dm-bio-list.h:94: error: dereferencing pointer to incomplete type\n  make[1]: *** [fs/compat_ioctl.o] Error 1\n  make: *** [fs] Error 2\n\nSigned-off-by: Andreas Herrmann \u003caherrman@arcor.de\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2e0855182e2be26b252745b2bb7558705cb0dd2",
      "tree": "d7a1457b1785cff5c018b37587ce2dbef159e83d",
      "parents": [
        "b70ae1d9f69ba52767af89f90fd79587669bc7ff"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 11 15:23:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:19 2007 -0700"
      },
      "message": "md: fix some bugs with growing raid5/raid6 arrays.\n\nThe recent changed to raid5 to allow offload of parity calculation etc\nintroduced some bugs in the code for growing (i.e.  adding a disk to) raid5\nand raid6.  This fixes them\n\nAcked-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f99ba18a96195f047546bd515aabf81fda70ef09",
      "tree": "2bb958ff686c32d5ffc58576f84d6a80f295ed51",
      "parents": [
        "5a99efeaa5c7139b7d76cbd5fb54fac664ba3da9"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Mon Aug 27 15:25:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Aug 27 16:15:44 2007 -0700"
      },
      "message": "dm-mpath-rdac: don\u0027t stomp on a requests transfer bit\n\nWithout this, we get qla2xxx complaining about \"ISP System Error\".\n\nWhat\u0027s happening here is the firmware is detecting a Xfer-ready from the\nstorage when in fact the data-direction for a mode-select should be a\nwrite (DATA_OUT).\n\nThe following patch fixes the problem (typo). Verified by Brian, as\nwell.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nVerified-by: Brian De Wolf \u003cbldewolf@csupomona.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e106b0d97e79f1abb60cc49a53af760950c3384",
      "tree": "1a5af89d408ef7bab2360259494fd590f01cf81c",
      "parents": [
        "1a8f46100b657f533ce677e79bc27c6794c91c46"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Aug 24 15:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 24 16:10:39 2007 -0700"
      },
      "message": "DM_MULTIPATH_RDAC: \"scsi_normalize_sense\" undefined\n\nDM_MULTIPATH_RDAC uses SCSI API(s) and is for a SCSI device,\nso add SCSI to its depends on to prevent build errors.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n[ Tested and Verified by Chandra Seetharaman ]\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a88aa7865bc1d1d451af2d585ac0119164ce8e00",
      "tree": "2ecde2e24540c611f8930bbee94e1e428038f3a1",
      "parents": [
        "918f02383fb9ff5dba29709f3199189eeac55021"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 22 14:01:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "md: correctly update sysfs when a raid1 is reshaped\n\nWhen a raid1 array is reshaped (number of drives changed), the list of devices\nis compacted, so that slots for missing devices are filled with working\ndevices from later slots.  This requires the \"rd%d\" symlinks in sysfs to be\nupdated.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "918f02383fb9ff5dba29709f3199189eeac55021",
      "tree": "26a3b5edb812ba02ecf8020d6734d8d6a2f8080c",
      "parents": [
        "59d9445e851976d973a5a4009f80a3d55959d231"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 22 14:01:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "md: make sure a re-add after a restart honours bitmap when resyncing\n\nCommit 1757128438d41670ded8bc3bc735325cc07dc8f9 was slightly bad.  If an array\nhas a write-intent bitmap, and you remove a drive, then readd it, only the\nchanged parts should be resynced.  However after the above commit, this only\nworks if the array has not been shut down and restarted.\n\nThis is because it sets \u0027fullsync\u0027 at little more often than it should.  This\npatch is more careful.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7149d6bce2561aeaa48caaa1700aa8b3b22008f",
      "tree": "cfaeda02f5bb62ccf290369b5bd3a5d3f3801cf9",
      "parents": [
        "ec05b297f91a443aa26b74059b573bfad49c9ebb"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Tue Aug 07 15:30:23 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 11 22:34:48 2007 +0200"
      },
      "message": "Fix remap handling by blktrace\n\nThis patch provides more information concerning REMAP operations on block\nIOs. The additional information provides clearer details at the user level,\nand supports post-processing analysis in btt.\n\no  Adds in partition remaps on the same device.\no  Fixed up the remap information in DM to be in the right order\no  Sent up mapped-from and mapped-to device information\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f6f953aa99d456aff44ffdb1c77061d1a010eae2",
      "tree": "9a708f373c8d1d8c94c1494e25add4a08b6ce782",
      "parents": [
        "14e713446aaca97dbe590fe845f7dcbd74ddbee2"
      ],
      "author": {
        "name": "Arne Redlich",
        "email": "agr@powerkom-dd.de",
        "time": "Tue Jul 31 00:37:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "md: handle writes to broken raid10 arrays gracefully\n\nWhen writing to a broken array, raid10 currently happily emits empty bio\nlists.  IOW, the master bio will never be completed, sending writers to\nUNINTERRUPTIBLE_SLEEP forever.\n\nSigned-off-by: Arne Redlich \u003cagr@powerkom-dd.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e713446aaca97dbe590fe845f7dcbd74ddbee2",
      "tree": "530c21e7a5c7fa890193765f235dd9360fc54eed",
      "parents": [
        "bfe0d6867e36f46836d2c3755fa8b9ef8cf143ba"
      ],
      "author": {
        "name": "Maik Hampel",
        "email": "m.hampel@gmx.de",
        "time": "Tue Jul 31 00:37:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "md: raid10: fix use-after-free of bio\n\nIn case of read errors raid10d tries to print a nice error message,\nunfortunately using data from an already put bio.\n\nSigned-off-by: Maik Hampel \u003cm.hampel@gmx.de\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80b16c192e469541263d6bfd9177662ceb632ecc",
      "tree": "c6e8a0abc281eac6e8139b38c4152dc366693f13",
      "parents": [
        "d3fec424b23c47686efcf3f2004c3f1c1cee4d9c"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Sat Jul 21 04:37:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:14 2007 -0700"
      },
      "message": "dm io: fix panic on large request\n\nFlush workqueue before releasing bioset and mopools in dm-crypt.  There can\nbe finished but not yet released request.\n\nCall chain causing oops:\n  run workqueue\n    dec_pending\n      bio_endio(...);\n      \t\u003cremove device request - remove mempool\u003e\n      mempool_free(io, cc-\u003eio_pool);\n\nThis usually happens when cryptsetup create temporary\nluks mapping in the beggining of crypt device activation.\n\nWhen dm-core calls destructor crypt_dtr, no new request\nare possible.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Christophe Saout \u003cchristophe@saout.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb0645a8b1f14da300f40bb9f424640cd1181fbf",
      "tree": "462789626fcd1775bec80d74d19bcd68797589c8",
      "parents": [
        "7c6129c68fe90a61166800b40217a850b8faee98"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 20 00:31:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:44:19 2007 -0700"
      },
      "message": "async_tx: fix kmap_atomic usage in async_memcpy\n\nAndrew Morton:\n\t[async_memcpy] is very wrong if both ASYNC_TX_KMAP_DST and\n\tASYNC_TX_KMAP_SRC can ever be set.  We\u0027ll end up using the same kmap\n\tslot for both src add dest and we get either corrupted data or a BUG.\n\nEvgeniy Polyakov:\n\tBtw, shouldn\u0027t it always be kmap_atomic() even if flag is not set.\n\tThat pages are usual one returned by alloc_page().\n\nSo fix the usage of kmap_atomic and kill the ASYNC_TX_KMAP_DST and\nASYNC_TX_KMAP_SRC flags.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "dd00cc486ab1c17049a535413d1751ef3482141c",
      "tree": "d90ff69ea06792b9284f2f2665c96624f121b88a",
      "parents": [
        "3b5ad0797c0e4049001f961a8b58f1d0ce532072"
      ],
      "author": {
        "name": "Yoann Padioleau",
        "email": "padator@wanadoo.fr",
        "time": "Thu Jul 19 01:49:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:50 2007 -0700"
      },
      "message": "some kmalloc/memset -\u003ekzalloc (tree wide)\n\nTransform some calls to kmalloc/memset to a single kzalloc (or kcalloc).\n\nHere is a short excerpt of the semantic patch performing\nthis transformation:\n\n@@\ntype T2;\nexpression x;\nidentifier f,fld;\nexpression E;\nexpression E1,E2;\nexpression e1,e2,e3,y;\nstatement S;\n@@\n\n x \u003d\n- kmalloc\n+ kzalloc\n  (E1,E2)\n  ...  when !\u003d \\(x-\u003efld\u003dE;\\|y\u003df(...,x,...);\\|f(...,x,...);\\|x\u003dE;\\|while(...) S\\|for(e1;e2;e3) S\\)\n- memset((T2)x,0,E1);\n\n@@\nexpression E1,E2,E3;\n@@\n\n- kzalloc(E1 * E2,E3)\n+ kcalloc(E1,E2,E3)\n\n[akpm@linux-foundation.org: get kcalloc args the right way around]\nSigned-off-by: Yoann Padioleau \u003cpadator@wanadoo.fr\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nAcked-by: Pierre Ossman \u003cdrzeus-list@drzeus.cx\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "851a8a7fd451db3dcd5d44d784083f0f66b24d57",
      "tree": "0d9e96cd7d3edecb05487366b8b1c8d363920516",
      "parents": [
        "cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Wed Jul 18 00:49:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 08:38:22 2007 -0700"
      },
      "message": "dm: fix memory leak in dm_create_persistent() when starting metadata update thread fails\n\nIf, in dm_create_persistent(), the call to create_singlethread_workqueue()\nfails then we\u0027ll return without freeing the memory allocated to \u0027ps\u0027, thus\nleaking sizeof(struct pstore) bytes.  This patch fixes the leak.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\nAcked-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": "4ad1366376bfef32ec0ffa12d1faa483d6f330bd",
      "tree": "87a9c864ec5ebd446f6c99f3298bc7638efa8f1e",
      "parents": [
        "f0d76d70bc77b9b11256a3a23e98e80878be1578"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: change bitmap_unplug and others to void functions\n\nbitmap_unplug only ever returns 0, so it may as well be void.  Two callers try\nto print a message if it returns non-zero, but that message is already printed\nby bitmap_file_kick.\n\nwrite_page returns an error which is not consistently checked.  It always\ncauses BITMAP_WRITE_ERROR to be set on an error, and that can more\nconveniently be checked.\n\nWhen the return of write_page is checked, an error causes bitmap_file_kick to\nbe called - so move that call into write_page - and protect against recursive\ncalls into bitmap_file_kick.\n\nbitmap_update_sb returns an error that is never checked.\n\nSo make these \u0027void\u0027 and be consistent about checking the bit.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0d76d70bc77b9b11256a3a23e98e80878be1578",
      "tree": "abf9e37302ce587c8c62e430aaf9f004548e653c",
      "parents": [
        "713f6ab18b0e7d39f14401362bfe8015b1aedde1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: check that internal bitmap does not overlap other data\n\nWe current completely trust user-space to set up metadata describing an\nconsistant array.  In particlar, that the metadata, data, and bitmap do not\noverlap.\n\nBut userspace can be buggy, and it is better to report an error than corrupt\ndata.  So put in some appropriate checks.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "713f6ab18b0e7d39f14401362bfe8015b1aedde1",
      "tree": "fc6ef865d09de1ec816ed96860ffc27dd48d837b",
      "parents": [
        "df968c4e8d809deb2602fb0e8db758f26a4006b9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: improve the is_mddev_idle test fix\n\nDon\u0027t use \u0027unsigned\u0027 variable to track sync vs non-sync IO, as the only thing\nwe want to do with them is a signed comparison, and fix up the comment which\nhad become quite wrong.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df968c4e8d809deb2602fb0e8db758f26a4006b9",
      "tree": "e963a47e8d66fdbdcd83ff629b08d989e64d418a",
      "parents": [
        "afd44034acdb54972923bb327bc9f984663ee78b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: improve message about invalid superblock during autodetect\n\nPeople try to use raid auto-detect with version-1 superblocks (which is not\nsupported) and get confused when they are told they have an invalid\nsuperblock.\n\nSo be more explicit, and say it it is not a valid v0.90 superblock.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afd44034acdb54972923bb327bc9f984663ee78b",
      "tree": "489c46c92f66c0aeccd4b4785fc94be49d485a9b",
      "parents": [
        "0c4a59fed41bdd4c30ce0999a87f30a812f29ee2"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Tue Jul 17 04:06:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "Use menuconfig objects II - MD\n\nChange Kconfig objects from \"menu, config\" into \"menuconfig\" so\nthat the user can disable the whole feature without having to\nenter the menu first.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00d59405cf6d7ef8932394ab5a12da1a50ce581e",
      "tree": "ccd0c170b673a17792207b2b5816978bb27da436",
      "parents": [
        "294462a5c6c4fb9a6ced9cb5a368ff335f1b656e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 17 04:03:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "unregister_blkdev() delete redundant messages in callers\n\nNo need to warn unregister_blkdev() failure by the callers.  (The previous\npatch makes unregister_blkdev() print error message in error case)\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.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": "e030dbf91a87da7e8be3be3ca781558695bea683",
      "tree": "4ff2e01621a888be4098ca48c404775e56a55a0d",
      "parents": [
        "12a22960549979c10a95cc97f8ec63b461c55692",
        "3039f0735a280b54c7364fbfe6a9287f7f0b510a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 10:52:27 2007 -0700"
      },
      "message": "Merge branch \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop\n\n* \u0027ioat-md-accel-for-linus\u0027 of git://lost.foo-projects.org/~dwillia2/git/iop: (28 commits)\n  ioatdma: add the unisys \"i/oat\" pci vendor/device id\n  ARM: Add drivers/dma to arch/arm/Kconfig\n  iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver\n  iop13xx: surface the iop13xx adma units to the iop-adma driver\n  dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines\n  md: remove raid5 compute_block and compute_parity5\n  md: handle_stripe5 - request io processing in raid5_run_ops\n  md: handle_stripe5 - add request/completion logic for async expand ops\n  md: handle_stripe5 - add request/completion logic for async read ops\n  md: handle_stripe5 - add request/completion logic for async check ops\n  md: handle_stripe5 - add request/completion logic for async compute ops\n  md: handle_stripe5 - add request/completion logic for async write ops\n  md: common infrastructure for running operations with raid5_run_ops\n  md: raid5_run_ops - run stripe operations outside sh-\u003elock\n  raid5: replace custom debug PRINTKs with standard pr_debug\n  raid5: refactor handle_stripe5 and handle_stripe6 (v3)\n  async_tx: add the async_tx api\n  xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n  dmaengine: make clients responsible for managing channels\n  dmaengine: refactor dmaengine around dma_async_tx_descriptor\n  ...\n"
    },
    {
      "commit": "f6dff381af01006ffae3c23cd2e07e30584de0ec",
      "tree": "257502c7a1a1392ffa91687d10331b08e21d2012",
      "parents": [
        "830ea01673a397798d1281d2022615559f5001bb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:18 2007 -0700"
      },
      "message": "md: remove raid5 compute_block and compute_parity5\n\nreplaced by raid5_run_ops\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "830ea01673a397798d1281d2022615559f5001bb",
      "tree": "33413032374605648a1e47f059b93ffc39e33717",
      "parents": [
        "f0a50d3754c7f1b7f05f45b1c0b35d20445316b5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - request io processing in raid5_run_ops\n\nI/O submission requests were already handled outside of the stripe lock in\nhandle_stripe.  Now that handle_stripe is only tasked with finding work,\nthis logic belongs in raid5_run_ops.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f0a50d3754c7f1b7f05f45b1c0b35d20445316b5",
      "tree": "c54b572ad4c4c9b48f887a9ecc28ec7b6166d552",
      "parents": [
        "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async expand ops\n\nWhen a stripe is being expanded bulk copying takes place to move the data\nfrom the old stripe to the new.  Since raid5_run_ops only operates on one\nstripe at a time these bulk copies are handled in-line under the stripe\nlock.  In the dma offload case we poll for the completion of the operation.\n\nAfter the data has been copied into the new stripe the parity needs to be\nrecalculated across the new disks.  We reuse the existing postxor\nfunctionality to carry out this calculation.  By setting STRIPE_OP_POSTXOR\nwithout setting STRIPE_OP_BIODRAIN the completion path in handle stripe\ncan differentiate expand operations from normal write operations.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8",
      "tree": "bf88aad375bb0cbf6c346ec912c06c2607850b21",
      "parents": [
        "e89f89629b5de76e504d1be75c82c4a6b2419583"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async read ops\n\nWhen a read bio is attached to the stripe and the corresponding block is\nmarked R5_UPTODATE, then a read (biofill) operation is scheduled to copy\nthe data from the stripe cache to the bio buffer.  handle_stripe flags the\nblocks to be operated on with the R5_Wantfill flag.  If new read requests\narrive while raid5_run_ops is running they will not be handled until\nhandle_stripe is scheduled to run again.\n\nChangelog:\n* cleanup to_read and to_fill accounting\n* do not fail reads that have reached the cache\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e89f89629b5de76e504d1be75c82c4a6b2419583",
      "tree": "96f54c576f51207e4f4a75f4770e9cf2707fc948",
      "parents": [
        "f38e12199a94ca458e4f03c5a2c984fb80adadc5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:31 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async check ops\n\nCheck operations are scheduled when the array is being resynced or an\nexplicit \u0027check/repair\u0027 command was sent to the array.  Previously check\noperations would destroy the parity block in the cache such that even if\nparity turned out to be correct the parity block would be marked\n!R5_UPTODATE at the completion of the check.  When the operation can be\ncarried out by a dma engine the assumption is that it can check parity as a\nread-only operation.  If raid5_run_ops notices that the check was handled\nby hardware it will preserve the R5_UPTODATE status of the parity disk.\n\nWhen a check operation determines that the parity needs to be repaired we\nreuse the existing compute block infrastructure to carry out the operation.\nRepair operations imply an immediate write back of the data, so to\ndifferentiate a repair from a normal compute operation the\nSTRIPE_OP_MOD_REPAIR_PD flag is added.\n\nChangelog:\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f38e12199a94ca458e4f03c5a2c984fb80adadc5",
      "tree": "706f54c46d4a4c839dd43c1403854dde860c6be5",
      "parents": [
        "e33129d84130459dbb764a1a52a4bfceab3da978"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:17 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async compute ops\n\nhandle_stripe will compute a block when a backing disk has failed, or when\nit determines it can save a disk read by computing the block from all the\nother up-to-date blocks.\n\nPreviously a block would be computed under the lock and subsequent logic in\nhandle_stripe could use the newly up-to-date block.  With the raid5_run_ops\nimplementation the compute operation is carried out a later time outside\nthe lock.  To preserve the old functionality we take advantage of the\ndependency chain feature of async_tx to flag the block as R5_Wantcompute\nand then let other parts of handle_stripe operate on the block as if it\nwere up-to-date.  raid5_run_ops guarantees that the block will be ready\nbefore it is used in another operation.\n\nHowever, this only works in cases where the compute and the dependent\noperation are scheduled at the same time.  If a previous call to\nhandle_stripe sets the R5_Wantcompute flag there is no facility to pass the\nasync_tx dependency chain across successive calls to raid5_run_ops.  The\nreq_compute variable protects against this case.\n\nChangelog:\n* remove the req_compute BUG_ON\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e33129d84130459dbb764a1a52a4bfceab3da978",
      "tree": "c3f2742dac468a1c62e14ec1f2ec0cb5a37ee966",
      "parents": [
        "d84e0f10d38393f617227f0c831a99c69294651f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:16 2007 -0700"
      },
      "message": "md: handle_stripe5 - add request/completion logic for async write ops\n\nAfter handle_stripe5 decides whether it wants to perform a\nread-modify-write, or a reconstruct write it calls\nhandle_write_operations5.  A read-modify-write operation will perform an\nxor subtraction of the blocks marked with the R5_Wantprexor flag, copy the\nnew data into the stripe (biodrain) and perform a postxor operation across\nall up-to-date blocks to generate the new parity.  A reconstruct write is run\nwhen all blocks are already up-to-date in the cache so all that is needed\nis a biodrain and postxor.\n\nOn the completion path STRIPE_OP_PREXOR will be set if the operation was a\nread-modify-write.  The STRIPE_OP_BIODRAIN flag is used in the completion\npath to differentiate write-initiated postxor operations versus\nexpansion-initiated postxor operations.  Completion of a write triggers i/o\nto the drives.\n\nChangelog:\n* make the \u0027rcw\u0027 parameter to handle_write_operations5 a simple flag, Neil Brown\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d84e0f10d38393f617227f0c831a99c69294651f",
      "tree": "5d0836f024f1f13ac6f1b2b2d3004244cb0fa649",
      "parents": [
        "91c00924846a0034020451c280c76baa4299f9dc"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:16 2007 -0700"
      },
      "message": "md: common infrastructure for running operations with raid5_run_ops\n\nAll the handle_stripe operations that are to be transitioned to use\nraid5_run_ops need a method to coherently gather work under the stripe-lock\nand hand that work off to raid5_run_ops.  The \u0027get_stripe_work\u0027 routine\nruns under the lock to read all the bits in sh-\u003eops.pending that do not\nhave the corresponding bit set in sh-\u003eops.ack.  This modified \u0027pending\u0027\nbitmap is then passed to raid5_run_ops for processing.\n\nThe transition from \u0027ack\u0027 to \u0027completion\u0027 does not need similar protection\nas the existing release_stripe infrastructure will guarantee that\nhandle_stripe will run again after a completion bit is set, and\nhandle_stripe can tolerate a sh-\u003eops.completed bit being set while the lock\nis held.\n\nA call to async_tx_issue_pending_all() is added to raid5d to kick the\noffload engines once all pending stripe operations work has been submitted.\nThis enables batching of the submission and completion of operations.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "91c00924846a0034020451c280c76baa4299f9dc",
      "tree": "7124ed6706937b793a10c37a861c5fc0f2e5b348",
      "parents": [
        "45b4233caac05da0118b608a9fc2a40a9fc580cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 02 13:52:30 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:15 2007 -0700"
      },
      "message": "md: raid5_run_ops - run stripe operations outside sh-\u003elock\n\nWhen the raid acceleration work was proposed, Neil laid out the following\nattack plan:\n\n1/ move the xor and copy operations outside spin_lock(\u0026sh-\u003elock)\n2/ find/implement an asynchronous offload api\n\nThe raid5_run_ops routine uses the asynchronous offload api (async_tx) and\nthe stripe_operations member of a stripe_head to carry out xor+copy\noperations asynchronously, outside the lock.\n\nTo perform operations outside the lock a new set of state flags is needed\nto track new requests, in-flight requests, and completed requests.  In this\nnew model handle_stripe is tasked with scanning the stripe_head for work,\nupdating the stripe_operations structure, and finally dropping the lock and\ncalling raid5_run_ops for processing.  The following flags outline the\nrequests that handle_stripe can make of raid5_run_ops:\n\nSTRIPE_OP_BIOFILL\n - copy data into request buffers to satisfy a read request\nSTRIPE_OP_COMPUTE_BLK\n - generate a missing block in the cache from the other blocks\nSTRIPE_OP_PREXOR\n - subtract existing data as part of the read-modify-write process\nSTRIPE_OP_BIODRAIN\n - copy data out of request buffers to satisfy a write request\nSTRIPE_OP_POSTXOR\n - recalculate parity for new data that has entered the cache\nSTRIPE_OP_CHECK\n - verify that the parity is correct\nSTRIPE_OP_IO\n - submit i/o to the member disks (note this was already performed outside\n   the stripe lock, but it made sense to add it as an operation type\n\nThe flow is:\n1/ handle_stripe sets STRIPE_OP_* in sh-\u003eops.pending\n2/ raid5_run_ops reads sh-\u003eops.pending, sets sh-\u003eops.ack, and submits the\n   operation to the async_tx api\n3/ async_tx triggers the completion callback routine to set\n   sh-\u003eops.complete and release the stripe\n4/ handle_stripe runs again to finish the operation and optionally submit\n   new operations that were previously blocked\n\nNote this patch just defines raid5_run_ops, subsequent commits (one per\nmajor operation type) modify handle_stripe to take advantage of this\nroutine.\n\nChangelog:\n* removed ops_complete_biodrain in favor of ops_complete_postxor and\n  ops_complete_write.\n* removed the raid5_run_ops workqueue\n* call bi_end_io for reads in ops_complete_biofill, saves a call to\n  handle_stripe\n* explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown\n* fix race between async engines and bi_end_io call for reads, Neil Brown\n* remove unnecessary spin_lock from ops_complete_biofill\n* remove test_and_set/test_and_clear BUG_ONs, Neil Brown\n* remove explicit interrupt handling for channel switching, this feature\n  was absorbed (i.e. it is now implicit) by the async_tx api\n* use return_io in ops_complete_biofill\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\n"
    }
  ],
  "next": "45b4233caac05da0118b608a9fc2a40a9fc580cd"
}
