)]}'
{
  "log": [
    {
      "commit": "cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9",
      "tree": "65c91f6911b34c32e517938289621ce0e7baeaf3",
      "parents": [
        "c32c2f63a9d6c953aaf168c0b2551da9734f76d2"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:09 2008 -0800"
      },
      "message": "d_path: Make d_path() use a struct path\n\nd_path() is used on a \u003cdentry,vfsmount\u003e pair.  Lets use a struct path to\nreflect this.\n\n[akpm@linux-foundation.org: fix build in mm/memory.c]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.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": "c32c2f63a9d6c953aaf168c0b2551da9734f76d2",
      "tree": "14eca3083f3de4a87a95359ab66109c10add1ae7",
      "parents": [
        "e83aece3afad4d56cc01abe069d3519e851cd2de"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make seq_path() use a struct path argument\n\nseq_path() is always called with a dentry and a vfsmount from a struct path.\nMake seq_path() take it directly as an argument.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.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": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.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": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39ed7adb17bdec8224bd3fae551bb7222e05f35b",
      "tree": "1bd24fe0fafe50f3d23e95f5fd87734e85bb346a",
      "parents": [
        "e6bafba5b4765a5a252f1b8d31cbf6d2459da337"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Feb 13 03:53:00 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 08:16:34 2008 -0800"
      },
      "message": "dm-raid1 breakage on 64bit\n\ntest_and_set_bit() on address of uint32_t is a Bad Idea(tm)...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af195ac82e38ba802fd86b5a014ed05ef6dd88bb",
      "tree": "661e5848dd970f6213cbcf181818f234cef2c571",
      "parents": [
        "06386bbfd2441416875d0403d405c56822f6ebac"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:39 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:39 2008 +0000"
      },
      "message": "dm raid1: report fault status\n\nThis patch adds extra information to the mirror status output, so that\nit can be determined which device(s) have failed.  For each mirror device,\na character is printed indicating the most severe error encountered.  The\ncharacters are:\n *    A \u003d\u003e Alive - No failures\n *    D \u003d\u003e Dead - A write failure occurred leaving mirror out-of-sync\n *    S \u003d\u003e Sync - A sychronization failure occurred, mirror out-of-sync\n *    R \u003d\u003e Read - A read failure occurred, mirror data unaffected\nThis allows userspace to properly reconfigure the mirror set.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "06386bbfd2441416875d0403d405c56822f6ebac",
      "tree": "ce66e5d061f67df6e85854aafaf0c43620513359",
      "parents": [
        "b80aa7a0c268d3ae0c472f648af1e3e4a359765c"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:37 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:37 2008 +0000"
      },
      "message": "dm raid1: handle read failures\n\nThis patch gives the ability to respond-to/record device failures\nthat happen during read operations.  It also adds the ability to\nread from mirror devices that are not the primary if they are\nin-sync.\n\nThere are essentially two read paths in mirroring; the direct path\nand the queued path.  When a read request is mapped, if the region\nis \u0027in-sync\u0027 the direct path is taken; otherwise the queued path\nis taken.\n\nIf the direct path is taken, we must record bio information so that\nif the read fails we can retry it.  We then discover the status of\na direct read through mirror_end_io.  If the read has failed, we will\nmark the device from which the read was attempted as failed (so we\ndon\u0027t try to read from it again), restore the bio and try again.\n\nIf the queued path is taken, we discover the results of the read\nfrom \u0027read_callback\u0027.  If the device failed, we will mark the device\nas failed and attempt the read again if there is another device\nwhere this region is known to be \u0027in-sync\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b80aa7a0c268d3ae0c472f648af1e3e4a359765c",
      "tree": "ce3d7f686a2b022dab3e0f8ddc1846d2ac4f6c58",
      "parents": [
        "8f0205b798f926e2745de5fdebf0a8605c621de6"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:35 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:35 2008 +0000"
      },
      "message": "dm raid1: fix EIO after log failure\n\nThis patch adds the ability to requeue write I/O to\ncore device-mapper when there is a log device failure.\n\nIf a write to the log produces and error, the pending writes are\nput on the \"failures\" list.  Since the log is marked as failed,\nthey will stay on the failures list until a suspend happens.\n\nSuspends come in two phases, presuspend and postsuspend.  We must\nmake sure that all the writes on the failures list are requeued\nin the presuspend phase (a requirement of dm core).  This means\nthat recovery must be complete (because writes may be delayed\nbehind it) and the failures list must be requeued before we\nreturn from presuspend.\n\nThe mechanisms to ensure recovery is complete (or stopped) was\nalready in place, but needed to be moved from postsuspend to\npresuspend.  We rely on \u0027flush_workqueue\u0027 to ensure that the\nmirror thread is complete and therefore, has requeued all writes\nin the failures list.\n\nBecause we are using flush_workqueue, we must ensure that no\nadditional \u0027queue_work\u0027 calls will produce additional I/O\nthat we need to requeue (because once we return from\npresuspend, we are unable to do anything about it).  \u0027queue_work\u0027\nis called in response to the following functions:\n- complete_resync_work \u003d NA, recovery is stopped\n- rh_dec (mirror_end_io) \u003d NA, only calls \u0027queue_work\u0027 if it\n                           is ready to recover the region\n                           (recovery is stopped) or it needs\n                           to clear the region in the log*\n                           **this doesn\u0027t get called while\n                           suspending**\n- rh_recovery_end \u003d NA, recovery is stopped\n- rh_recovery_start \u003d NA, recovery is stopped\n- write_callback \u003d 1) Writes w/o failures simply call\n                   bio_endio -\u003e mirror_end_io -\u003e rh_dec\n                   (see rh_dec above)\n                   2) Writes with failures are put on\n                   the failures list and queue_work is\n                   called**\n                   ** write_callbacks don\u0027t happen\n                   during suspend **\n- do_failures \u003d NA, \u0027queue_work\u0027 not called if suspending\n- add_mirror (initialization) \u003d NA, only done on mirror creation\n- queue_bio \u003d NA, 1) delayed I/O scheduled before flush_workqueue\n              is called.  2) No more I/Os are being issued.\n              3) Re-attempted READs can still be handled.\n              (Write completions are handled through rh_dec/\n              write_callback - mention above - and do not\n              use queue_bio.)\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8f0205b798f926e2745de5fdebf0a8605c621de6",
      "tree": "3b0efdd8b666e507c2c7987ce6477064c2d4cc56",
      "parents": [
        "72f4b314100bae85c75d8e4c6fec621ab44e777d"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:32 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:32 2008 +0000"
      },
      "message": "dm raid1: handle recovery failures\n\nThis patch adds the calls to \u0027fail_mirror\u0027 if an error occurs during\nmirror recovery (aka resynchronization).  \u0027fail_mirror\u0027 is responsible\nfor recording the type of error by mirror device and ensuring an event\ngets raised for the purpose of notifying userspace.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "72f4b314100bae85c75d8e4c6fec621ab44e777d",
      "tree": "6dc5e860e8a4acab2e047f31391d0c8fdf366ff7",
      "parents": [
        "d74f81f8adc504a23be3babf347b9f69e9389924"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:29 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:29 2008 +0000"
      },
      "message": "dm raid1: handle write failures\n\nThis patch gives mirror the ability to handle device failures\nduring normal write operations.\n\nThe \u0027write_callback\u0027 function is called when a write completes.\nIf all the writes failed or succeeded, we report failure or\nsuccess respectively.  If some of the writes failed, we call\nfail_mirror; which increments the error count for the device, notes\nthe type of error encountered (DM_RAID1_WRITE_ERROR),  and\nselects a new primary (if necessary).  Note that the primary\ndevice can never change while the mirror is not in-sync (IOW,\nwhile recovery is happening.)  This means that the scenario\nwhere a failed write changes the primary and gives\nrecovery_complete a chance to misread the primary never happens.\nThe fact that the primary can change has necessitated the change\nto the default_mirror field.  We need to protect against reading\ngarbage while the primary changes.  We then add the bio to a new\nlist in the mirror set, \u0027failures\u0027.  For every bio in the \u0027failures\u0027\nlist, we call a new function, \u0027__bio_mark_nosync\u0027, where we mark\nthe region \u0027not-in-sync\u0027 in the log and properly set the region\nstate as, RH_NOSYNC.  Userspace must also be notified of the\nfailure.  This is done by \u0027raising an event\u0027 (dm_table_event()).\nIf fail_mirror is called in process context the event can be raised\nright away.  If in interrupt context, the event is deferred to the\nkmirrord thread - which raises the event if \u0027event_waiting\u0027 is set.\n\nBackwards compatibility is maintained by ignoring errors if\nthe DM_FEATURES_HANDLE_ERRORS flag is not present.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d74f81f8adc504a23be3babf347b9f69e9389924",
      "tree": "4a687e400479ad330bb36ded54012cd8b8b84ecf",
      "parents": [
        "4f7f5c675fd6bacaae3c67be44de872dcff0e3b7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:27 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:27 2008 +0000"
      },
      "message": "dm snapshot: combine consecutive exceptions in memory\n\nProvided sector_t is 64 bits, reduce the in-memory footprint of the\nsnapshot exception table by the simple method of using unused bits of\nthe chunk number to combine consecutive entries.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4f7f5c675fd6bacaae3c67be44de872dcff0e3b7",
      "tree": "5825966577a4018047bc126922b1f815af905348",
      "parents": [
        "a25eb9446ad50027bc2082386e5358bedad087ed"
      ],
      "author": {
        "name": "Brian Wood",
        "email": "brian.j.wood@intel.com",
        "time": "Fri Feb 08 02:11:24 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:24 2008 +0000"
      },
      "message": "dm: stripe enhanced status return\n\nThis patch adds additional information to the status line. It is added at the\nend of the returned text so it will not interfere with existing\nimplementations using this data. The addition of this information will allow\nfor a common return interface to match that returned with the dm-raid1.c\nstatus line (with Jonathan Brassow\u0027s patches).\n\nHere is a sample of what is returned with a mirror \"status\" call:\nisw_eeaaabgfg_mirror: 0 488390920 mirror 2 8:16 8:32 3727/3727 1 AA 1 core\n\nHere\u0027s what\u0027s returned with this patch for a stripe \"status\" call:\nisw_dheeijjdej_stripe: 0 976783872 striped 2 8:16 8:32 1 AA\n\nSigned-off-by: Brian Wood \u003cbrian.j.wood@intel.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a25eb9446ad50027bc2082386e5358bedad087ed",
      "tree": "d9d2e5d26dbf403efa69dd52aec94bf37c82da78",
      "parents": [
        "fb8b284806124bef250196007d7373ea3fe26194"
      ],
      "author": {
        "name": "Brian Wood",
        "email": "brian.j.wood@intel.com",
        "time": "Fri Feb 08 02:11:22 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:22 2008 +0000"
      },
      "message": "dm: stripe trigger event on failure\n\nThis patch adds the stripe_end_io function to process errors that might\noccur after an IO operation. As part of this there are a number of\nenhancements made to record and trigger events:\n\n- New atomic variable in struct stripe to record the number of\nerrors each stripe volume device has experienced (could be used\nlater with uevents to report back directly to userspace)\n\n- New workqueue/work struct setup to process the trigger_event function\n\n- New end_io function. It is here that testing for BIO error conditions\ntake place. It determines the exact stripe that cause the error,\nrecords this in the new atomic variable, and calls the queue_work() function\n\n- New trigger_event function to process failure events. This\ncalls dm_table_event()\n\nSigned-off-by: Brian Wood \u003cbrian.j.wood@intel.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fb8b284806124bef250196007d7373ea3fe26194",
      "tree": "8e34cc38a2c5a0e8e7a937c53421cf7f76466a00",
      "parents": [
        "304f3f6a58301316da612d7bf21d9abe1369d456"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "message": "dm log: auto load modules\n\nIf the log type is not recognised, attempt to load the module\n\u0027dm-log-\u003ctype\u003e.ko\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "304f3f6a58301316da612d7bf21d9abe1369d456",
      "tree": "aa380ca3cd0a7d8a61f17915050866876510f181",
      "parents": [
        "3a7f6c990ad04e6f576a159876c602d14d6f7fef"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:17 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:17 2008 +0000"
      },
      "message": "dm: move deferred bio flushing to workqueue\n\nAdd a single-thread workqueue for each mapped device\nand move flushing of the lists of pushback and deferred bios\nto this new workqueue.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3a7f6c990ad04e6f576a159876c602d14d6f7fef",
      "tree": "dc120485f8801050fa640f22c1bdeae1429728e0",
      "parents": [
        "95497a960015c89c7c585d5fb953bc2816dba1e5"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:14 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:14 2008 +0000"
      },
      "message": "dm crypt: use async crypto\n\ndm-crypt: Use crypto ablkcipher interface\n\nMove encrypt/decrypt core to async crypto call.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "95497a960015c89c7c585d5fb953bc2816dba1e5",
      "tree": "3e1f33a86b81bf371517fc5b60db295989355a4d",
      "parents": [
        "43d6903482eec168b727bc4bf76a9f415257d862"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:12 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:12 2008 +0000"
      },
      "message": "dm crypt: prepare async callback fn\n\ndm-crypt: Use crypto ablkcipher interface\n\nPrepare callback function for async crypto operation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "43d6903482eec168b727bc4bf76a9f415257d862",
      "tree": "cc0f5d3621c052376d2f6cff85af87002e4df344",
      "parents": [
        "ddd42edfd8ec44595b1501318512bc29a36f015f"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:09 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:09 2008 +0000"
      },
      "message": "dm crypt: add completion for async\n\ndm-crypt: Use crypto ablkcipher interface\nPrepare completion for async crypto request.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ddd42edfd8ec44595b1501318512bc29a36f015f",
      "tree": "c102f6dd5ffad033531352ef53508db4bbefb382",
      "parents": [
        "01482b7671d014aa44f2efbc1153f4e3f48d7fb3"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:07 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:07 2008 +0000"
      },
      "message": "dm crypt: add async request mempool\n\ndm-crypt: Use crypto ablkcipher interface\n\nIntroduce mempool for async crypto requests.\n\ncc-\u003ereq is used mainly during synchronous operations\n(to prevent allocation and deallocation of the same object).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "01482b7671d014aa44f2efbc1153f4e3f48d7fb3",
      "tree": "12017dac7b6b1b680649b59470d91f6dd9baf55f",
      "parents": [
        "899c95d36c896f9fb7bc5f4f03b4abd86bda292c"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:04 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:04 2008 +0000"
      },
      "message": "dm crypt: extract scatterlist processing\n\ndm-crypt: Use crypto ablkcipher interface\n\nMove scatterlists to separate dm_crypt_struct and\npick out block processing from crypt_convert.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "899c95d36c896f9fb7bc5f4f03b4abd86bda292c",
      "tree": "824017f25f4c0ed321077e068280c9bbd207ad47",
      "parents": [
        "84131db689ab86409315c15a3ea5daf732cb04e1"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:11:02 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:02 2008 +0000"
      },
      "message": "dm crypt: tidy io ref counting\n\nMake io reference counting more obvious.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "84131db689ab86409315c15a3ea5daf732cb04e1",
      "tree": "e7ba3d1c2b7ddb38ed14725aab699e07776627b0",
      "parents": [
        "dec1cedf9d4eabe43f3c7d6af095eff40c139a89"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:59 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:59 2008 +0000"
      },
      "message": "dm crypt: introduce crypt_write_io_loop\n\nIntroduce crypt_write_io_loop().\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "dec1cedf9d4eabe43f3c7d6af095eff40c139a89",
      "tree": "1ee57308cac1e018fb670e21bc91822f0250aa83",
      "parents": [
        "0c395b0f8dd7aee394df95b46963fc0f3401cf90"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:57 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:57 2008 +0000"
      },
      "message": "dm crypt: abstract crypt_write_done\n\nProcess write request in separate function and queue\nfinal bio through io workqueue.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0c395b0f8dd7aee394df95b46963fc0f3401cf90",
      "tree": "03a83a7ba9e9917fadae5416ed58533e51e67067",
      "parents": [
        "395b167ca0c559aa975d8bbc46a3d10edd6e17d0"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:54 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:54 2008 +0000"
      },
      "message": "dm crypt: store sector mapping in dm_crypt_io\n\nAdd sector into dm_crypt_io instead of using local variable.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "395b167ca0c559aa975d8bbc46a3d10edd6e17d0",
      "tree": "5b5db9ad8da4d1d28e971dece58979594f56bad2",
      "parents": [
        "4e4eef64e246694a6302c3ee95ac9b60c40f877e"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:52 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:52 2008 +0000"
      },
      "message": "dm crypt: move queue functions\n\nReorder kcryptd functions for clarity.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4e4eef64e246694a6302c3ee95ac9b60c40f877e",
      "tree": "704b46c01bf929873bbca0ea28e621f0c4e3830f",
      "parents": [
        "ee7a491e62214bfd56c97c1fef3672c09e2a700d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:49 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:49 2008 +0000"
      },
      "message": "dm crypt: adjust io processing functions\n\nRename functions to follow calling convention.\nPrepare write io error processing function skeleton.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ee7a491e62214bfd56c97c1fef3672c09e2a700d",
      "tree": "b17672c2216a93ec875da4b332b9c0d6e0348b82",
      "parents": [
        "5742fd77757894ebb5e441afbdac1fb666e782f7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:46 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:46 2008 +0000"
      },
      "message": "dm crypt: tidy crypt_endio\n\nSimplify crypt_endio function.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5742fd77757894ebb5e441afbdac1fb666e782f7",
      "tree": "6976ec2b920b9df1e2316d4603d81a6082a7d42b",
      "parents": [
        "fcd369daa36d547607dbedd0b41099d6dfc1d1c7"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:43 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:43 2008 +0000"
      },
      "message": "dm crypt: move error setting outside crypt_dec_pending\n\nMove error code setting outside of crypt_dec_pending function.\nUse -EIO if crypt_convert_scatterlist() fails.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fcd369daa36d547607dbedd0b41099d6dfc1d1c7",
      "tree": "456f6369cb9f16bd4575442d5729f9d03efb4620",
      "parents": [
        "53017030e2548dffbe481fb4ab6b587abbee6f8b"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:41 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:41 2008 +0000"
      },
      "message": "dm crypt: remove unnecessary crypt_context write parm\n\nRemove write attribute from convert_context and use bio flag instead.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "53017030e2548dffbe481fb4ab6b587abbee6f8b",
      "tree": "83831c963242bfafb6c753960ef3a50b3fd1e314",
      "parents": [
        "009cd09042fbd095e708b412ad7870fb421fa2f0"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:38 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:38 2008 +0000"
      },
      "message": "dm crypt: move convert_context inside dm_crypt_io\n\nMove convert_context inside dm_crypt_io.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "009cd09042fbd095e708b412ad7870fb421fa2f0",
      "tree": "7b3a431d8201305142de75e4353a572b3e0a8c79",
      "parents": [
        "0149e57fedcaca8905b6cca091fcb0915ff3e27d"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:35 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:35 2008 +0000"
      },
      "message": "dm mpath: add missing static\n\nA static declaration missing.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "0149e57fedcaca8905b6cca091fcb0915ff3e27d",
      "tree": "90af92ad51346a4d002169f8348e240df17a3e37",
      "parents": [
        "46125c1c90882e17f856f1ba30440efea9135e80"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:32 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:32 2008 +0000"
      },
      "message": "dm: targets no longer experimental\n\nDrop the EXPERIMENTAL tag from well-established device-mapper targets, so\nthe newer ones stand out better.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "46125c1c90882e17f856f1ba30440efea9135e80",
      "tree": "e1175d29ec1985a220bfb07c0d6fa6cc83c44f15",
      "parents": [
        "94d6351e147231b2c5a9512d69693ee8ac0c204d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:30 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:30 2008 +0000"
      },
      "message": "dm: refactor dm_suspend completion wait\n\nMove completion wait to separate function\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "94d6351e147231b2c5a9512d69693ee8ac0c204d",
      "tree": "a0b5c1935077c1bf40db1945c5f30e8d8a9a47a2",
      "parents": [
        "73d410c0137f63c6597e9763c81e5f4d015e9940"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:27 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:27 2008 +0000"
      },
      "message": "dm: split dm_suspend io_lock hold into two\n\nChange io_locking to allow processing flush in separate thread.\n\nBecause we have DMF_BLOCK_IO already set, any possible\nnew ios are queued in dm_requests now.\n\nIn the case of interrupting previous wait there can be more\nios queued (we unlocked io_lock for a while) but this is safe.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "73d410c0137f63c6597e9763c81e5f4d015e9940",
      "tree": "d76251d96254217b6935dee0acca676476a7a45e",
      "parents": [
        "6d6f10df890df8be69edd4db32dc8ce09f311bb8"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:25 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:25 2008 +0000"
      },
      "message": "dm: tidy dm_suspend\n\nTidy dm_suspend function\n\n - change return value logic in dm_suspend\n - use atomic_read only once.\n - move DMF_BLOCK_IO clearing into one place\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6d6f10df890df8be69edd4db32dc8ce09f311bb8",
      "tree": "3845f7fdd940cdd4ee9e35cc40aeeab766b21b03",
      "parents": [
        "6ed7ade89657e71da3afa7cb13ad25570a95dd9d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:22 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:22 2008 +0000"
      },
      "message": "dm: refactor deferred bio_list processing\n\nRefactor deferred bio_list processing.\n\n - use separate _merge_pushback_list function\n - move deferred bio list pick up to flush function\n - use bio_list_pop instead of bio_list_get\n - simplify noflush flag use\n\nNo real 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": "6ed7ade89657e71da3afa7cb13ad25570a95dd9d",
      "tree": "713c0fc55b5802c92fa160d65eba1e692e9ff9fc",
      "parents": [
        "a26ffd4aa99d6ace82852930edf09e450cc7dc8d"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:10:19 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:19 2008 +0000"
      },
      "message": "dm: tidy alloc_dev labels\n\nTidy labels in alloc_dev to make later patches more clear.\n\nNo 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": "a26ffd4aa99d6ace82852930edf09e450cc7dc8d",
      "tree": "d00f229139f52f71ffeabc66b1d5b6fdd5fa67a7",
      "parents": [
        "69a2ce72a4efe0653479a5d69fc86b5726e83219"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:16 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:16 2008 +0000"
      },
      "message": "dm ioctl: use uninitialized_var\n\ndrivers/md/dm-ioctl.c:1405: warning: \u0027param\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "69a2ce72a4efe0653479a5d69fc86b5726e83219",
      "tree": "2fa4c50f83782356c5202c1a987a83cdea4a4c6a",
      "parents": [
        "e48b9db251122b88783844b1d2d69c6780f898ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:14 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:14 2008 +0000"
      },
      "message": "dm: table use uninitialized_var\n\ndrivers/md/dm-table.c: In function \u0027dm_get_device\u0027:\ndrivers/md/dm-table.c:478: warning: \u0027dev\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e48b9db251122b88783844b1d2d69c6780f898ff",
      "tree": "7a3b1a37da6cb96cae5845a85662ec330fc559ba",
      "parents": [
        "e61290a4a23c3f85f883f0c8cc7c967501f82a57"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 02:10:11 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:11 2008 +0000"
      },
      "message": "dm snapshot: use uninitialized_var\n\ndrivers/md/dm-exception-store.c: In function \u0027persistent_read_metadata\u0027:\ndrivers/md/dm-exception-store.c:452: warning: \u0027new_snapshot\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e61290a4a23c3f85f883f0c8cc7c967501f82a57",
      "tree": "db8947500e6d75be2f6ff02cecfdb1bbace5230e",
      "parents": [
        "8defd83084c3ce46d314c038f7c0f0ed7156d6f8"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Fri Feb 08 02:10:08 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:08 2008 +0000"
      },
      "message": "dm: convert suspend_lock semaphore to mutex\n\nReplace semaphore with mutex.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8defd83084c3ce46d314c038f7c0f0ed7156d6f8",
      "tree": "c21d30f80f0d991e731ba9a2c1263c5dbe498e6e",
      "parents": [
        "82d601dc076deb5f348cc3a70f57248bc976ae0c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Feb 08 02:10:06 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:06 2008 +0000"
      },
      "message": "dm snapshot: use rounddown_pow_of_two\n\nSince the source file already includes the log2.h header file, it\nseems pointless to re-invent the necessary routine.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "82d601dc076deb5f348cc3a70f57248bc976ae0c",
      "tree": "9047dc31a5fde553b64b96bc5b426065b77772c2",
      "parents": [
        "4f41b09f86e0e3b48194b2ad0356391bf6d47e40"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Fri Feb 08 02:10:04 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:10:04 2008 +0000"
      },
      "message": "dm: table remove unused total\n\n\"total \u003d 0\" does nothing.\n\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "afb24528f9012e5c6361ca9a9128c7c089c1cc7c",
      "tree": "1aa47aca62308becafc05464f5020b4ffbf3ce67",
      "parents": [
        "76c072b48e39e9291fbf02d6c912cf27d65e093d"
      ],
      "author": {
        "name": "Paul Jimenez",
        "email": "pj@place.org",
        "time": "Fri Feb 08 02:09:59 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:59 2008 +0000"
      },
      "message": "dm: table use list_for_each\n\nThis patch is some minor janitorish cleanup, using some macros\nfrom linux/list.h (already #included via dm.h) to improve\nreadability.\n\nSigned-off-by: Paul Jimenez \u003cpj@place.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "76c072b48e39e9291fbf02d6c912cf27d65e093d",
      "tree": "5f5c523a48c014448b28a1a875ed8432fe79807a",
      "parents": [
        "27238b2bea89b1808b570bece6777ab2abc52fe2"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:09:56 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:56 2008 +0000"
      },
      "message": "dm ioctl: move compat code\n\nMove compat_ioctl handling into dm-ioctl.c.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "27238b2bea89b1808b570bece6777ab2abc52fe2",
      "tree": "ca07380f13018c23932c22c883c0f7ca78a4b261",
      "parents": [
        "b9249e556877643b940e4543824a3de5c85bce49"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:53 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:53 2008 +0000"
      },
      "message": "dm ioctl: remove lock_kernel\n\nRemove lock_kernel() from the device-mapper ioctls - there should\nbe sufficient internal locking already where required.\n\nAlso remove some superfluous casts.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b9249e556877643b940e4543824a3de5c85bce49",
      "tree": "535e9199affe5d79e370abef352ca8396f7deaef",
      "parents": [
        "7e5c1e830b2310359a4cfbbf89895dde4abd996a"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:51 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:51 2008 +0000"
      },
      "message": "dm: mark function lists static\n\nAdd a couple of statics.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7e5c1e830b2310359a4cfbbf89895dde4abd996a",
      "tree": "143d5ff1998b115689347f0346a25b622a888739",
      "parents": [
        "df922075f2a55b1ae71a6fe589c1cc1b91381f4f"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Feb 08 02:09:49 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:09:49 2008 +0000"
      },
      "message": "dm: add missing memory barrier to dm_suspend\n\nAdd memory barrier to fix atomic_read of pending value.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6ed3003c19a96fe18edf8179c4be6fe14abbebbc",
      "tree": "dba37b52eb4c68fedc9e842a69e2c0c3b4a5aa31",
      "parents": [
        "73c34431c7119d0bc7d3436abfad75fe47b2c51f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:40:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: fix an occasional deadlock in raid5\n\nraid5\u0027s \u0027make_request\u0027 function calls generic_make_request on underlying\ndevices and if we run out of stripe heads, it could end up waiting for one of\nthose requests to complete.  This is bad as recursive calls to\ngeneric_make_request go on a queue and are not even attempted until\nmake_request completes.\n\nSo: don\u0027t make any generic_make_request calls in raid5 make_request until all\nwaiting has been done.  We do this by simply setting STRIPE_HANDLE instead of\ncalling handle_stripe().\n\nIf we need more stripe_heads, raid5d will get called to process the pending\nstripe_heads which will call generic_make_request from a\n\nThis change by itself causes a performance hit.  So add a change so that\nraid5_activate_delayed is only called at unplug time, never in raid5.  This\nseems to bring back the performance numbers.  Calling it in raid5d was\nsometimes too soon...\n\nNeil said:\n\n  How about we queue it for 2.6.25-rc1 and then about when -rc2 comes out,\n  we queue it for 2.6.24.y?\n\nAcked-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nTested-by: dean gaudet \u003cdean@arctic.org\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": "73c34431c7119d0bc7d3436abfad75fe47b2c51f",
      "tree": "c91210130d1115354f011e55c98db9361d4416f8",
      "parents": [
        "d089c6af10c2be5988f03667d6d22fe6085fbe5e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: change ITERATE_RDEV_GENERIC to rdev_for_each_list, and remove ITERATE_RDEV_PENDING.\n\nFinish ITERATE_ to for_each conversion.\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": "d089c6af10c2be5988f03667d6d22fe6085fbe5e",
      "tree": "815eb0596bd7c908f30c268da6b5c5eff0e0bc21",
      "parents": [
        "29ac4aa3fc68a86279aca50f20df4d614de2e204"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: change ITERATE_RDEV to rdev_for_each\n\nAs this is more in line with common practice in the kernel.  Also swap the\nargs around to be more like list_for_each.\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": "29ac4aa3fc68a86279aca50f20df4d614de2e204",
      "tree": "4265c6d305f2df52029c99a2a6af901f58444c10",
      "parents": [
        "20a49ff679fb1caa69c69eb0361bea488e51c9b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: change INTERATE_MDDEV to for_each_mddev\n\nAs this is more consistent with kernel style.\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": "20a49ff679fb1caa69c69eb0361bea488e51c9b2",
      "tree": "353602a958a040694da32596d0913a7d47a49733",
      "parents": [
        "177a99b23ef9878c0cedcc7273108eba8a6e9472"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: change a few \u0027int\u0027 to \u0027size_t\u0027 in md\n\nAs suggested by Andrew Morton.\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": "177a99b23ef9878c0cedcc7273108eba8a6e9472",
      "tree": "616dd718e94a1e5e8ca536114d5fb91fa780bbc8",
      "parents": [
        "a17184a911195c274104df98a79bec10f57e735d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: fix use-after-free bug when dropping an rdev from an md array\n\nDue to possible deadlock issues we need to use a schedule work to kobject_del\nan \u0027rdev\u0027 object from a different thread.\n\nA recent change means that kobject_add no longer gets a refernce, and\nkobject_del doesn\u0027t put a reference.  Consequently, we need to explicitly hold\na reference to ensure that the last reference isn\u0027t dropped before the\nscheduled work get a chance to call kobject_del.\n\nAlso, rename delayed_delete to md_delayed_delete to that it is more obvious in\na stack trace which code is to blame.\n\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\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": "a17184a911195c274104df98a79bec10f57e735d",
      "tree": "786eca010cb2c4495702f983420258c4ef8efbe5",
      "parents": [
        "ca38805945edf5d1f5444b283eed95bb954772e8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:19 2008 -0800"
      },
      "message": "md: allow an md array to appear with 0 drives if it has external metadata\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": "ca38805945edf5d1f5444b283eed95bb954772e8",
      "tree": "9e31b58f8124c0ef5d6803c693c00f5b8f71dd24",
      "parents": [
        "c5d79adba7ced41d7ac097c2ab74759d10522dd5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: lock address when changing attributes of component devices\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": "c5d79adba7ced41d7ac097c2ab74759d10522dd5",
      "tree": "ab5a45046244602f2a27be0b34fb26155a3c8dee",
      "parents": [
        "1ec4a9398dc05061b6258061676fede733458893"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: allow devices to be shared between md arrays\n\nCurrently, a given device is \"claimed\" by a particular array so that it cannot\nbe used by other arrays.\n\nThis is not ideal for DDF and other metadata schemes which have their own\npartitioning concept.\n\nSo for externally managed metadata, just claim the device for md in general,\nrequire that \"offset\" and \"size\" are set properly for each device, and make\nsure that if a device is included in different arrays then the active sections\ndo not overlap.\n\nThis involves adding another flag to the rdev which makes it awkward to set\n\"-\u003eflags \u003d 0\" to clear certain flags.  So now clear flags explicitly by name\nwhen we want to clear things.\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": "1ec4a9398dc05061b6258061676fede733458893",
      "tree": "ad88e997edf7b13843a1a3991811dc5e44a4166a",
      "parents": [
        "c620727779f7cc8ea96efb71f0651a26349e59c1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: set and test the -\u003epersistent flag for md devices more consistently\n\nIf you try to start an array for which the number of raid disks is listed as\nzero, md will currently try to read metadata off any devices that have been\ngiven.  This was done because the value of raid_disks is used to signal\nwhether array details have been provided by userspace (raid_disks \u003e 0) or must\nbe read from the devices (raid_disks \u003d\u003d 0).\n\nHowever for an array without persistent metadata (or with externally managed\nmetadata) this is the wrong thing to do.  So we add a test in do_md_run to\ngive an error if raid_disks is zero for non-persistent arrays.\n\nThis requires that mddev-\u003epersistent is set corrently at this point, which it\ncurrently isn\u0027t for in-kernel autodetected arrays.\n\nSo set -\u003epersistent for autodetect arrays, and remove the settign in\nsuper_*_validate which is now redundant.\n\nAlso clear -\u003epersistent when stopping an array so it is consistently zero when\nstarting an array.\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": "c620727779f7cc8ea96efb71f0651a26349e59c1",
      "tree": "777abdad9c9ef10cb4df5c0efc736e6c64851ed8",
      "parents": [
        "c303da6d713b87b7b3f999f5acce8ecc76ff1adb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: allow a maximum extent to be set for resyncing\n\nThis allows userspace to control resync/reshape progress and synchronise it\nwith other activities, such as shared access in a SAN, or backing up critical\nsections during a tricky reshape.\n\nWriting a number of sectors (which must be a multiple of the chunk size if\nsuch is meaningful) causes a resync to pause when it gets to that point.\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": "c303da6d713b87b7b3f999f5acce8ecc76ff1adb",
      "tree": "5bd9852beea7b4d8a4cffe07657ca2ca3d71a3fc",
      "parents": [
        "e691063a61f7f72a7d2882eb744b07a520cde23b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: give userspace control over removing failed devices when external metdata in use\n\nWhen a device fails, we must not allow an further writes to the array until\nthe device failure has been recorded in array metadata.  When metadata is\nmanaged externally, this requires some synchronisation...\n\nAllow/require userspace to explicitly remove failed devices from active\nservice in the array by writing \u0027none\u0027 to the \u0027slot\u0027 attribute.  If this\nreduces the number of failed devices to 0, the write block will automatically\nbe lowered.\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": "e691063a61f7f72a7d2882eb744b07a520cde23b",
      "tree": "4f5ceb7ed310a7d1bb076271926260723ac5ee6d",
      "parents": [
        "b47490c9bc73d0b34e4c194db40de183e592e446"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: support \u0027external\u0027 metadata for md arrays\n\n- Add a state flag \u0027external\u0027 to indicate that the metadata is managed\n  externally (by user-space) so important changes need to be\n  left of user-space to handle.\n  Alternates are non-persistant (\u0027none\u0027) where there is no stable metadata -\n  after the  array is stopped there is no record of it\u0027s status - and\n  internal which can be version 0.90 or version 1.x\n  These are selected by writing to the \u0027metadata\u0027 attribute.\n\n- move the updating of superblocks (sync_sbs) to after we have checked if\n  there are any superblocks or not.\n\n- New array state \u0027write_pending\u0027.  This means that the metadata records\n  the array as \u0027clean\u0027, but a write has been requested, so the metadata has\n  to be updated to record a \u0027dirty\u0027 array before the write can continue.\n  This change is reported to md by writing \u0027active\u0027 to the array_state\n  attribute.\n\n- tidy up marking of sb_dirty:\n   - don\u0027t set sb_dirty when resync finishes as md_check_recovery\n     calls md_update_sb when the sync thread finishes anyway.\n   - Don\u0027t set sb_dirty in multipath_run as the array might not be dirty.\n   - don\u0027t mark superblock dirty when switching to \u0027clean\u0027 if there\n     is no internal superblock (if external, userspace can choose to\n     update the superblock whenever it chooses to).\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": "b47490c9bc73d0b34e4c194db40de183e592e446",
      "tree": "8334581aff7aa0b199df04c6f9d707c1902ad14f",
      "parents": [
        "66c811e99322767bad5db4368de93aac604f02a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 06 01:39:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: Update md bitmap during resync.\n\nCurrently an md array with a write-intent bitmap does not updated that bitmap\nto reflect successful partial resync.  Rather the entire bitmap is updated\nwhen the resync completes.\n\nThis is because there is no guarentee that resync requests will complete in\norder, and tracking each request individually is unnecessarily burdensome.\n\nHowever there is value in regularly updating the bitmap, so add code to\nperiodically pause while all pending sync requests complete, then update the\nbitmap.  Doing this only every few seconds (the same as the bitmap update\ntime) does not notciably affect resync performance.\n\n[snitzer@gmail.com: export bitmap_cond_end_sync]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Mike Snitzer\" \u003csnitzer@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": "66c811e99322767bad5db4368de93aac604f02a2",
      "tree": "01b8c89165660ef0787d23af49d603242ef6ffdf",
      "parents": [
        "98ec302be52cc8a9cc0f3072126367273dbaf865"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Feb 06 01:39:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: raid6: clean up the style of raid6test/test.c\n\nClean up the coding style in raid6test/test.c.  Break it apart into\nsubfunctions to make the code more readable.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.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": "98ec302be52cc8a9cc0f3072126367273dbaf865",
      "tree": "4c2ab03299ffd64802d92ab1da8b2c3bde7b18a8",
      "parents": [
        "54212cf4054e7cf44f3ca97c3c5fb942dbfe7013"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Feb 06 01:39:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "md: raid6: Fix mktable.c\n\nMake both mktables.c and its output CodingStyle compliant.  Update the\ncopyright notice.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.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": "54212cf4054e7cf44f3ca97c3c5fb942dbfe7013",
      "tree": "11a2c20dbe43baacdf569a5ccfb6d0e0e6824bdb",
      "parents": [
        "91c4313206e4409871e2ddd13c29508afe1c8834"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Wed Feb 06 01:39:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:18 2008 -0800"
      },
      "message": "coding style cleanups for drivers/md/mktables.c\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "d469f84197a6415248ae4c5bd4f012cb609044fa"
}
