)]}'
{
  "log": [
    {
      "commit": "1c830532f6b44d10a1743ccd00e990c6b83396f5",
      "tree": "506c8fef4d84f54e76b533756cff86c45bb61746",
      "parents": [
        "8ed3a19563b6c05b7625649b1769ddb063d53253"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 04 14:29:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:18 2008 -0800"
      },
      "message": "md: fix possible raid1/raid10 deadlock on read error during resync\n\nThanks to K.Tanaka and the scsi fault injection framework, here is a fix for\nanother possible deadlock in raid1/raid10 error handing.\n\nIf a read request returns an error while a resync is happening and a resync\nrequest is pending, the attempt to fix the error will block until the resync\nprogresses, and the resync will block until the read request completes.  Thus\na deadlock.\n\nThis patch fixes the problem.\n\nCc: \"K.Tanaka\" \u003ck-tanaka@ce.jp.nec.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": "a35e63efa1fb18c6f20f38e3ddf3f8ffbcf0f6e7",
      "tree": "8dddd54c45ebaad84a6178765d29d9536df944d1",
      "parents": [
        "466634488e80968f12e73dd1fe6af5c37a1fbfe2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 04 14:29:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:17 2008 -0800"
      },
      "message": "md: fix deadlock in md/raid1 and md/raid10 when handling a read error\n\nWhen handling a read error, we freeze the array to stop any other IO while\nattempting to over-write with correct data.\n\nThis is done in the raid1d(raid10d) thread and must wait for all submitted IO\nto complete (except for requests that failed and are sitting in the retry\nqueue - these are counted in -\u003enr_queue and will stay there during a freeze).\n\nHowever write requests need attention from raid1d as bitmap updates might be\nrequired.  This can cause a deadlock as raid1 is waiting for requests to\nfinish that themselves need attention from raid1d.\n\nSo we create a new function \u0027flush_pending_writes\u0027 to give that attention, and\ncall it in freeze_array to be sure that we aren\u0027t waiting on raid1d.\n\nThanks to \"K.Tanaka\" \u003ck-tanaka@ce.jp.nec.com\u003e for finding and reporting this\nproblem.\n\nCc: \"K.Tanaka\" \u003ck-tanaka@ce.jp.nec.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": "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": "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": "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": "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": "96de0e252cedffad61b3cb5e05662c591898e69a",
      "tree": "e3eb7d3e65ec27d39e1da13a17f6f0f91b28f5e9",
      "parents": [
        "3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "message": "Convert files to UTF-8 and some cleanups\n\n* Convert files to UTF-8.\n\n  * Also correct some people\u0027s names\n    (one example is Eißfeldt, which was found in a source file.\n    Given that the author used an ß at all in a source file\n    indicates that the real name has in fact a \u0027ß\u0027 and not an \u0027ss\u0027,\n    which is commonly used as a substitute for \u0027ß\u0027 when limited to\n    7bit.)\n\n  * Correct town names (Goettingen -\u003e Göttingen)\n\n  * Update Eberhard Mönkeberg\u0027s address (http://lkml.org/lkml/2007/1/8/313)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "cf7a44168d743ca97863b7f34ed42a45fd7b5ab0",
      "tree": "884f5094a46be4da9f30292c9a5a417f100d5d5f",
      "parents": [
        "d7f3d291a0e1330f341fdf1128b2d12fff7932ee"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 16 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "md: make sure read errors are auto-corrected during a \u0027check\u0027 resync in raid1\n\nWhenever a read error is found, we should attempt to overwrite with correct\ndata to \u0027fix\u0027 it.\n\nHowever when do a \u0027check\u0027 pass (which compares data blocks that are\nsuccessfully read, but doesn\u0027t normally overwrite) we don\u0027t do that.  We\nshould.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd5d806266935179deda1502101624832eacd01f",
      "tree": "b0d01c2ed7d754f2a6daef6c77d108a81d8a470e",
      "parents": [
        "bf2de6f5a4faf0197268f18d08969b003b87b6e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "message": "block: convert blkdev_issue_flush() to use empty barriers\n\nThen we can get rid of -\u003eissue_flush_fn() and all the driver private\nimplementations of that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a88aa7865bc1d1d451af2d585ac0119164ce8e00",
      "tree": "2ecde2e24540c611f8930bbee94e1e428038f3a1",
      "parents": [
        "918f02383fb9ff5dba29709f3199189eeac55021"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 22 14:01:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "md: correctly update sysfs when a raid1 is reshaped\n\nWhen a raid1 array is reshaped (number of drives changed), the list of devices\nis compacted, so that slots for missing devices are filled with working\ndevices from later slots.  This requires the \"rd%d\" symlinks in sysfs to be\nupdated.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "918f02383fb9ff5dba29709f3199189eeac55021",
      "tree": "26a3b5edb812ba02ecf8020d6734d8d6a2f8080c",
      "parents": [
        "59d9445e851976d973a5a4009f80a3d55959d231"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Aug 22 14:01:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "md: make sure a re-add after a restart honours bitmap when resyncing\n\nCommit 1757128438d41670ded8bc3bc735325cc07dc8f9 was slightly bad.  If an array\nhas a write-intent bitmap, and you remove a drive, then readd it, only the\nchanged parts should be resynced.  However after the above commit, this only\nworks if the array has not been shut down and restarted.\n\nThis is because it sets \u0027fullsync\u0027 at little more often than it should.  This\npatch is more careful.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4ad1366376bfef32ec0ffa12d1faa483d6f330bd",
      "tree": "87a9c864ec5ebd446f6c99f3298bc7638efa8f1e",
      "parents": [
        "f0d76d70bc77b9b11256a3a23e98e80878be1578"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: change bitmap_unplug and others to void functions\n\nbitmap_unplug only ever returns 0, so it may as well be void.  Two callers try\nto print a message if it returns non-zero, but that message is already printed\nby bitmap_file_kick.\n\nwrite_page returns an error which is not consistently checked.  It always\ncauses BITMAP_WRITE_ERROR to be set on an error, and that can more\nconveniently be checked.\n\nWhen the return of write_page is checked, an error causes bitmap_file_kick to\nbe called - so move that call into write_page - and protect against recursive\ncalls into bitmap_file_kick.\n\nbitmap_update_sb returns an error that is never checked.\n\nSo make these \u0027void\u0027 and be consistent about checking the bit.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed45666271f4fafa95b9d8ad44050e9a9bd2376e",
      "tree": "6f626a05e7d78029252768c2ac5f9b1d5309319b",
      "parents": [
        "af03b8e4e81c3789e597632268940edd11ffe870"
      ],
      "author": {
        "name": "Mike Accetta",
        "email": "maccetta@laurelnetworks.com",
        "time": "Sat Jun 16 10:16:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:15 2007 -0700"
      },
      "message": "md: fix bug in error handling during raid1 repair\n\nIf raid1/repair (which reads all block and fixes any differences it finds)\nhits a read error, it doesn\u0027t reset the bio for writing before writing\ncorrect data back, so the read error isn\u0027t fixed, and the device probably\ngets a zero-length write which it might complain about.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd00a99e7a4b739bd41ef4093760efc7e447f963",
      "tree": "2bb5bfafc0de89bd00ef530540e91e8297fc5d57",
      "parents": [
        "c5ddb547e899993be56dc7d0bf72bfd7a8d4ae1e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu May 10 03:15:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:53 2007 -0700"
      },
      "message": "md: avoid a possibility that a read error can wrongly propagate through md/raid1 to a filesystem.\n\nWhen a raid1 has only one working drive, we want read error to propagate up\nto the filesystem as there is no point failing the last drive in an array.\n\nCurrently the code perform this check is racy.  If a write and a read a\nboth submitted to a device on a 2-drive raid1, and the write fails followed\nby the read failing, the read will see that there is only one working drive\nand will pass the failure up, even though the one working drive is actually\nthe *other* one.\n\nSo, tighten up the locking.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44ce6294d07555c3d313757105fd44b78208407f",
      "tree": "29659bee16a4d7111124c6f41289bc9c11669e70",
      "parents": [
        "497f050c42e46a4b1f6a9bcd8827fa5d97fe1feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "message": "Revert \"md: improve partition detection in md array\"\n\nThis reverts commit 5b479c91da90eef605f851508744bfe8269591a0.\n\nQuoth Neil Brown:\n\n  \"It causes an oops when auto-detecting raid arrays, and it doesn\u0027t\n   seem easy to fix.\n\n   The array may not be \u0027open\u0027 when do_md_run is called, so\n   bdev-\u003ebd_disk might be NULL, so bd_set_size can oops.\n\n   This whole approach of opening an md device before it has been\n   assembled just seems to get more and more painful.  I think I\u0027m going\n   to have to come up with something clever to provide both backward\n   comparability with usage expectation, and sane integration into the\n   rest of the kernel.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b479c91da90eef605f851508744bfe8269591a0",
      "tree": "d7c2844926d96d794d66b974b300eba2d047465e",
      "parents": [
        "08a02ecd28bad35a47357e611044dcbeab06e3d7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: improve partition detection in md array\n\nmd currently uses -\u003emedia_changed to make sure rescan_partitions\nis call on md array after they are assembled.\n\nHowever that doesn\u0027t happen until the array is opened, which is later\nthan some people would like.\n\nSo use blkdev_ioctl to do the rescan immediately that the\narray has been assembled.\n\nThis means we can remove all the -\u003echange infrastructure as it was only used\nto trigger a partition rescan.\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": "2a2275d630b982e5f90206f9bc497f6695a3ec5d",
      "tree": "88cddee709b2107b74e5424810d4ffb6e3772382",
      "parents": [
        "a0ad13ef643a5829d63c456ab6143bbda60b44a9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:51:00 2007 -0800"
      },
      "message": "[PATCH] md: fix potential memalloc deadlock in md\n\nIf a GFP_KERNEL allocation is attempted in md while the mddev_lock is held,\nit is possible for a deadlock to eventuate.\n\nThis happens if the array was marked \u0027clean\u0027, and the memalloc triggers a\nwrite-out to the md device.\n\nFor the writeout to succeed, the array must be marked \u0027dirty\u0027, and that\nrequires getting the mddev_lock.\n\nSo, before attempting a GFP_KERNEL allocation while holding the lock, make\nsure the array is marked \u0027dirty\u0027 (unless it is currently read-only).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eda22d19b76b15ef3420b251bd47a0ba0127589",
      "tree": "56e33efead2809440328da65174b44eb0a8b25c6",
      "parents": [
        "524418bb8ecd3dfd2975bc0aa3c2cc7e8e081f24"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] md: make \u0027repair\u0027 actually work for raid1\n\nWhen \u0027repair\u0027 finds a block that is different one the various parts of the\nmirror.  it is meant to write a chosen good version to the others.  However it\ncurrently writes out the original data to each.  The memcpy to make all the\ndata the same is missing.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3881a6816b45668df60a426e5c3431ece1539a7",
      "tree": "617032a76e25e7167b95ebe4c4a6c90ee301c4c6",
      "parents": [
        "664c0d3d575946bce24ecf5b7f93ee9541e4caf3"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "Lars.Ellenberg@linbit.com",
        "time": "Wed Jan 10 23:15:37 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Jan 11 18:18:21 2007 -0800"
      },
      "message": "[PATCH] md: pass down BIO_RW_SYNC in raid{1,10}\n\nmd raidX make_request functions strip off the BIO_RW_SYNC flag, thus\nintroducing additional latency.\n\nFixing this in raid1 and raid10 seems to be straightforward enough.\n\nFor our particular usage case in DRBD, passing this flag improved some\ninitialization time from ~5 minutes to ~5 seconds.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Lars Ellenberg \u003clars@linbit.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "802ba064c49f655d20fed563f2a4924c8256ea10",
      "tree": "f705b597b2da6583239e9f028fa0d6f6ec319682",
      "parents": [
        "011e3a9ad4891ba1b27e281e085228189c56b137"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Dec 13 00:34:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:48 2006 -0800"
      },
      "message": "[PATCH] md: Don\u0027t assume that READ\u003d\u003d0 and WRITE\u003d\u003d1 - use the names explicitly\n\nThanks Jens for alerting me to this.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003craziebe@gmail.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1757128438d41670ded8bc3bc735325cc07dc8f9",
      "tree": "e85679cbe949e337616ac53ab3b3fd1a3fa14a63",
      "parents": [
        "c2b00852fbae4f8c45c2651530ded3bd01bde814"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Dec 10 02:20:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:21 2006 -0800"
      },
      "message": "[PATCH] md: assorted md and raid1 one-liners\n\nFix few bugs that meant that:\n  - superblocks weren\u0027t alway written at exactly the right time (this\n    could show up if the array was not written to - writting to the array\n    causes lots of superblock updates and so hides these errors).\n\n  - restarting device recovery after a clean shutdown (version-1 metadata\n    only) didn\u0027t work as intended (or at all).\n\n1/ Ensure superblock is updated when a new device is added.\n2/ Remove an inappropriate test on MD_RECOVERY_SYNC in md_do_sync.\n   The body of this if takes one of two branches depending on whether\n   MD_RECOVERY_SYNC is set, so testing it in the clause of the if\n   is wrong.\n3/ Flag superblock for updating after a resync/recovery finishes.\n4/ If we find the neeed to restart a recovery in the middle (version-1\n   metadata only) make sure a full recovery (not just as guided by\n   bitmaps) does get done.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "969b755aadf7bcf3df5991a127a103acd0145a52",
      "tree": "d2c2db7b98e1e760c47e508f879619cd6b71f373",
      "parents": [
        "750a8f3e8f64654a584e54038c2c8db380813c79"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Oct 28 10:38:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:52 2006 -0700"
      },
      "message": "[PATCH] md: fix printk format warnings, seen on powerpc64:\n\ndrivers/md/raid1.c:1479: warning: long long unsigned int format, long unsigned int arg (arg 4)\ndrivers/md/raid10.c:1475: warning: long long unsigned int format, long unsigned int arg (arg 4)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d12922823408b26f83b15cae4a4feff4bd22f28",
      "tree": "a3509f442e6fc75ca9304757ffa3dce4918ef55e",
      "parents": [
        "26be34dc3a46be983352dd89683db374b0cb73fa"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: define -\u003econgested_fn for raid1, raid10, and multipath\n\nraid1, raid10 and multipath don\u0027t report their \u0027congested\u0027 status through\nbdi_*_congested, but should.\n\nThis patch adds the appropriate functions which just check the \u0027congested\u0027\nstatus of all active members (with appropriate locking).\n\nraid1 read_balance should be modified to prefer devices where\nbdi_read_congested returns false.  Then we could use the \u0027\u0026\u0027 branch rather\nthan the \u0027|\u0027 branch.  However that should would need some benchmarking first\nto make sure it is actually a good idea.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c04be0aa82ff535e3676ab3e573957bdeef41879",
      "tree": "8481ab270218bed246eb02b3ba04a4b84d4e90d0",
      "parents": [
        "11ce99e625fe2718ad2682bfdd99070b337e6252"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: Improve locking around error handling\n\nThe error handling routines don\u0027t use proper locking, and so two concurrent\nerrors could trigger a problem.\n\nSo:\n  - use test-and-set and test-and-clear to synchonise\n    the In_sync bits with the -\u003edegraded count\n  - use the spinlock to protect updates to the\n    degraded count (could use an atomic_t but that\n    would be a bigger change in code, and isn\u0027t\n    really justified)\n  - remove un-necessary locking in raid5\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11ce99e625fe2718ad2682bfdd99070b337e6252",
      "tree": "48e40104a058f27e9cd717c42edcf6738fef2372",
      "parents": [
        "867868fb557eb2a2120b80779468fa372584ddb0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: Remove working_disks from raid1 state data\n\nIt is equivalent to conf-\u003eraid_disks - conf-\u003emddev-\u003edegraded.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "867868fb557eb2a2120b80779468fa372584ddb0",
      "tree": "feb35d5c59cf4d22a14ee04d285c132429e88b06",
      "parents": [
        "2d2063ceae73660d5142f4754d50a75b655fd1f9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: Factor out part of raid1d into a separate function\n\nraid1d has toooo many nested block, so take the fix_read_error functionality\nout into a separate function.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "850b2b420cd5b363ed4cf48a8816d656c8b5251b",
      "tree": "b63aa37b3fb7dfb7a0b674d5a2ebe9da13cc7405",
      "parents": [
        "6814d5368d68341ec6b5e4ecd10ea5947130775a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: replace magic numbers in sb_dirty with well defined bit flags\n\nInstead of magic numbers (0,1,2,3) in sb_dirty, we have\nsome flags instead:\nMD_CHANGE_DEVS\n   Some device state has changed requiring superblock update\n   on all devices.\nMD_CHANGE_CLEAN\n   The array has transitions from \u0027clean\u0027 to \u0027dirty\u0027 or back,\n   requiring a superblock update on active devices, but possibly\n   not on spares\nMD_CHANGE_PENDING\n   A superblock update is underway.\n\nWe wait for an update to complete by waiting for all flags to be clear.  A\nflag can be set at any time, even during an update, without risk that the\nchange will be lost.\n\nStop exporting md_update_sb - isn\u0027t needed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ddac7c7e3a0fe9cfdcef0de24476b8d69f8cf3e7",
      "tree": "b75845fa2424284342869566b3ed5233abecde92",
      "parents": [
        "df9ecaba3f152d1ea79f2a5e0b87505e03f47590"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 31 21:27:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:08 2006 -0700"
      },
      "message": "[PATCH] md: Fix issues with referencing rdev in md/raid1\n\nWe need to be careful when referencing mirrors[i].rdev.  It can disappear\nunder us at various times.\n\nSo:\n  fix a couple of problem places.\n  comment a couple of non-problem places\n  move an \u0027atomic_add\u0027 which deferences rdev down a little\n    way to some where where it is sure to not be NULL.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6394cca54894f6a9bcf927ab78d28985944298ff",
      "tree": "8b8376691f329c3bcc491fd2d0425c4e6278c5e3",
      "parents": [
        "84692195969b83f0ba57dc33ecf73e6c124dd186"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Aug 27 01:23:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:31 2006 -0700"
      },
      "message": "[PATCH] md: fix recent breakage of md/raid1 array checking\n\nA recent patch broke the ability to do a user-request check of a raid1.\nThis patch fixes the breakage and also moves a comment that was dislocated\nby the same patch.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d69504325978c461b51b03cca49626026970307b",
      "tree": "73ea1d68d5d3cca777cb6ea9828c5757b4cd6df8",
      "parents": [
        "67463acb646904d76a8e237cc31eaa87872f30cc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] md: include sector number in messages about corrected read errors\n\nThis is generally useful, but particularly helps see if it is the same sector\nthat always needs correcting, or different ones.\n\n[akpm@osdl.org: fix printk warnings]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e3db645f890660ce8774a18bcd418570298937e",
      "tree": "a6664a8c864e40c69c7be4da6e1ff984f11873c5",
      "parents": [
        "ae3c20ccf84c88d45616f12122f781a900118f09"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] md: fix usage of wrong variable in raid1\n\nThough it rarely matters, we should be using \u0027s\u0027 rather than r1_bio-\u003esector\nhere.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07d84d109d8beedd68df9da2e4e9f25c8217e7fb",
      "tree": "09b4749cb2ff1759c076c362891a28ceda2b8520",
      "parents": [
        "3285edf152cefff482f95ceb90b1bd46ac169df1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Allow re-add to work on array without bitmaps\n\nWhen an array has a bitmap, a device can be removed and re-added and only\nblocks changes since the removal (as recorded in the bitmap) will be resynced.\n\nIt should be possible to do a similar thing to arrays without bitmaps.  i.e.\nif a device is removed and re-added and *no* changes have been made in the\ninterim, then the add should not require a resync.\n\nThis patch allows that option.  This means that when assembling an array one\ndevice at a time (e.g.  during device discovery) the array can be enabled\nread-only as soon as enough devices are available, but extra devices can still\nbe added without causing a resync.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9",
      "tree": "bd7cc8c22615e8622d3d63b7fc68dcc3ac1964de",
      "parents": [
        "a8a55c387da28d67d98f56e4f5021462cb61f7a6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: allow checkpoint of recovery with version-1 superblock\n\nFor a while we have had checkpointing of resync.  The version-1 superblock\nallows recovery to be checkpointed as well, and this patch implements that.\n\nDue to early carelessness we need to add a feature flag to signal that the\nrecovery_offset field is in use, otherwise older kernels would assume that a\npartially recovered array is in fact fully recovered.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c70810b327a247d12805554d0aa4605e257effb8",
      "tree": "dc642c342a1ca994ce1017f8aa410f5b32fe2351",
      "parents": [
        "72d9486169a2a8353e022813185ba2f32d7dde69"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] md: reformat code in raid1_end_write_request to avoid goto\n\nA recent change made this goto unnecessary, so reformat the code to make it\nclearer what is happening.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5e7dd2ab6b9bdfa60e19b8739e6b2a204fd4f477",
      "tree": "f9d3ac455ea67f1ea23e7e41848ac422506c474b",
      "parents": [
        "62de608da0b0ab17d81a233b50d1e952b9816f69"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 01 12:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:42 2006 -0700"
      },
      "message": "[PATCH] md: Fix \u0027rdev-\u003enr_pending\u0027 count when retrying barrier requests\n\nWhen retrying a failed BIO_RW_BARRIER request, we need to keep the reference\nin -\u003enr_pending over the whole retry.  Currently, we only hold the reference\nif the failed request is the *last* one to finish - which is silly, because it\nwould normally be the first to finish.\n\nSo move the rdev_dec_pending call up into the didn\u0027t-fail branch.  As the rdev\nisn\u0027t used in the later code, calling rdev_dec_pending earlier doesn\u0027t hurt.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62de608da0b0ab17d81a233b50d1e952b9816f69",
      "tree": "12647d87f70cddf29edeeee2d85358667aa24cd8",
      "parents": [
        "bea2771871ed1084c9a85ed0c86340f188505702"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 01 12:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:42 2006 -0700"
      },
      "message": "[PATCH] md: Improve detection of lack of barrier support in raid1\n\nMove the test for \u0027do barrier work\u0027 down a bit so that if the first write to a\nraid1 is a BIO_RW_BARRIER write, the checking done by superblock writes will\ncause the right thing to happen.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bea2771871ed1084c9a85ed0c86340f188505702",
      "tree": "3c7e30dbab20419e609c63b96e39f43a7ef524ff",
      "parents": [
        "e0a33270ed0e8e00cbb882a33d21e1f92aac0ceb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 01 12:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:42 2006 -0700"
      },
      "message": "[PATCH] md: Change ENOTSUPP to EOPNOTSUPP\n\nBecause that is what you get if a BIO_RW_BARRIER isn\u0027t supported!\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e77c485f7037e4817bb53c78d15d5403981ae8b",
      "tree": "1b9b5bc14576c51ae03daf46b003869497499719",
      "parents": [
        "543cb2a451918002238a052d5c280e6afdee1cea"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:08:49 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:08:49 2006 +0200"
      },
      "message": "BUG_ON() Conversion in md/raid1.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner and can better optimized away\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "6b1117d50543e2484bee037ec2589fe52492a7e7",
      "tree": "6291a97424ebcc336bb49b00ec13576df76aa447",
      "parents": [
        "39451a73a2d190763ba8a98f486cf23d63d22582"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Mar 31 02:31:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] md: Don\u0027t clear bits in bitmap when writing to one device fails during recovery\n\nCurrently a device failure during recovery leaves bits set in the bitmap.\nThis normally isn\u0027t a problem as the offending device will be rejected because\nof errors.  However if device re-adding is being used with non-persistent\nbitmaps, this can be a problem.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f889129de148b0ba2e1fbc9e9d33a4ef4c5f2cb",
      "tree": "78d9d9ceb070d92eb8c53cf6d683526e2447d7bc",
      "parents": [
        "8ddeeae51f2f197b4fafcba117ee8191b49d843e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:03 2006 -0800"
      },
      "message": "[PATCH] md: Restore \u0027remaining\u0027 count when retrying an write operation\n\nWhen retrying a write due to barrier failure, we don\u0027t reset \u0027remaining\u0027, so\nit goes negative and never hits 0 again.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63c70c4f3a30e77e6f445bd16eff7934a031ebd3",
      "tree": "12d2cd6cec5cd304bdf514ec8999a44c26f058ae",
      "parents": [
        "b578d55fdd80140f657130abd85aebeb345755fb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:02 2006 -0800"
      },
      "message": "[PATCH] md: Split reshape handler in check_reshape and start_reshape\n\ncheck_reshape checks validity and does things that can be done instantly -\nlike adding devices to raid1.  start_reshape initiates a restriping process to\nconvert the whole array.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f67055780caac6a99f43834795c43acf99eba6a6",
      "tree": "6b80e7b4cb300edb0910dbad1d840ff8e2f36ae5",
      "parents": [
        "292695531ae4019bb15deedc121b218d1908b648"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Checkpoint and allow restart of raid5 reshape\n\nWe allow the superblock to record an \u0027old\u0027 and a \u0027new\u0027 geometry, and a\nposition where any conversion is up to.  The geometry allows for changing\nchunksize, layout and level as well as number of devices.\n\nWhen using verion-0.90 superblock, we convert the version to 0.91 while the\nconversion is happening so that an old kernel will refuse the assemble the\narray.  For version-1, we use a feature bit for the same effect.\n\nWhen starting an array we check for an incomplete reshape and restart the\nreshape process if needed.  If the reshape stopped at an awkward time (like\nwhen updating the first stripe) we refuse to assemble the array, and let\nuser-space worry about it.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04b857f74cec5efc7730e9db47e291310f4708a4",
      "tree": "4609bd7553665604270a976f6887d46140decfcb",
      "parents": [
        "628de616ba760b7b1d5e3d95dbe40a988fbf8ca5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Mar 09 17:33:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 09 19:47:37 2006 -0800"
      },
      "message": "[PATCH] md: Fix several raid1 bugs which cause a memory leak\n\n- wrong test for \u0027is this a BARRIER bio\u0027\n- not freeing on all possible paths.\n- using r1_bio after freeing it.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dbcdc751cb25ffca3a8374cbc5ab6de961cc545",
      "tree": "61d1eb6e35c0eec66e5a8610c1f57b1e6eec135c",
      "parents": [
        "d9d166c2a9d5d01af34396793950aa695883eed4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: count corrected read errors per drive\n\nStore this total in superblock (As appropriate), and make it available to\nuserspace via sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9d166c2a9d5d01af34396793950aa695883eed4",
      "tree": "6cb593cc0636476ebec9a9690aa48997510f9701",
      "parents": [
        "8bb93aaca2062cd54cc2c58c76ee8409cae209a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: allow array level to be set textually via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "03c902e17f40cfed63cd2494616f35fc9c58571b",
      "tree": "bfa65142a20a9b424dbd078149cecaa0177086fb",
      "parents": [
        "c708443c004f2310abdd7f1c353daa372b37f7a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: fix rdev-\u003epending counts in raid1\n\nWhen we do a user-requested check/repair, we lose count of the outstanding\nrequests...\n\nAlso make sure that when anything is written to md/sync_action, the\nRECOVERY_NEEDED flag is set and the thread is woken up so any changes take\neffect.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1345b1d8adbdeceb1c871d9a4af5e2a700b341c6",
      "tree": "0da1db7d273752ad5281db415e9245f3f3a63383",
      "parents": [
        "7dd5d34c6c2da04e8cd0732e08b33cd3359e4bae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] md: define and use safe_put_page for md\n\nmd sometimes call put_page on NULL pointers (treating it like kfree).  This is\nnot safe, so define and use a \u0027safe_put_page\u0027 which checks for NULL.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "097426f689f179747f3cd6b4749eb2a6b605702d",
      "tree": "92b0a78f8aebedd4afdb52dfa23b311a4468719d",
      "parents": [
        "2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: fix possible problem in raid1/raid10 error overwriting\n\nThe code to overwrite/reread for addressing read errors in raid1/raid10\ncurrently assumes that the read will not alter the buffer which could be used\nto write to the next device.  This is not a safe assumption to make.\n\nSo we split the loops into a overwrite loop and a separate re-read loop, so\nthat the writing is complete before reading is attempted.\n\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4",
      "tree": "8c0e985c455ff35af24fbe60d8a3f5a276034370",
      "parents": [
        "a24a8dd858e0ba50f06a9fd8f61fe8c4fe7a8d8e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: remove personality numbering from md\n\nmd supports multiple different RAID level, each being implemented by a\n\u0027personality\u0027 (which is often in a separate module).\n\nThese personalities have fairly artificial \u0027numbers\u0027.  The numbers\nare use to:\n 1- provide an index into an array where the various personalities\n    are recorded\n 2- identify the module (via an alias) which implements are particular\n    personality.\n\nNeither of these uses really justify the existence of personality numbers.\nThe array can be replaced by a linked list which is searched (array lookup\nonly happens very rarely).  Module identification can be done using an alias\nbased on level rather than \u0027personality\u0027 number.\n\nThe current \u0027raid5\u0027 modules support two level (4 and 5) but only one\npersonality.  This slight awkwardness (which was handled in the mapping from\nlevel to personality) can be better handled by allowing raid5 to register 2\npersonalities.\n\nWith this change in place, the core md module does not need to have an\nexhaustive list of all possible personalities, so other personalities can be\nadded independently.\n\nThis patch also moves the check for chunksize being non-zero into the -\u003erun\nroutines for the personalities that need it, rather than having it in core-md.\n This has a side effect of allowing \u0027faulty\u0027 and \u0027linear\u0027 not to have a\nchunk-size set.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ffae0cf3ea02f75d163922accfd3e592d87adde",
      "tree": "4974727e9f36e1b618b68d2789644ee3a0d7a371",
      "parents": [
        "2d1f3b5d1b2cd11a162eb29645df749ec0036413"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: convert md to use kzalloc throughout\n\nReplace multiple kmalloc/memset pairs with kzalloc calls.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d1f3b5d1b2cd11a162eb29645df749ec0036413",
      "tree": "bb87ef9fcd2d9760b618d196fc8361a5a4dd851e",
      "parents": [
        "d7603b7e3a7f802c67f9190b2387d4d5d111ec14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: clean up \u0027page\u0027 related names in md\n\nSubstitute:\n\n  page_cache_get -\u003e get_page\n  page_cache_release -\u003e put_page\n  PAGE_CACHE_SHIFT -\u003e PAGE_SHIFT\n  PAGE_CACHE_SIZE -\u003e PAGE_SIZE\n  PAGE_CACHE_MASK -\u003e PAGE_MASK\n  __free_page -\u003e put_page\n\nbecause we aren\u0027t using the page cache, we are just using pages.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "220946c9018de74b952446e3a4dff1bfd4cbf310",
      "tree": "8a6a85f23ff3e12ed9c770eb9f2b835125ad5378",
      "parents": [
        "d11c171e636cfd2df818cf3411d88222c2f4fcef"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: make sure read error on last working drive of raid1 actually returns failure\n\nWe are inadvertently setting the R1BIO_Uptodate bit on read errors when we\ndecide not to try correcting (because there are no other working devices).\nThis means that the read error is reported to the client as success.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d11c171e636cfd2df818cf3411d88222c2f4fcef",
      "tree": "1ca670d9eabad009cee23c44f6cb8cd1b3cccadb",
      "parents": [
        "18f08819f42b647783e4f6ea99141623881bf182"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: allow raid1 to check consistency\n\nWhere performing a user-requested \u0027check\u0027 or \u0027repair\u0027, we read all readable\ndevices, and compare the contents.  We only write to blocks which had read\nerrors, or blocks with content that differs from the first good device found.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf30a473a02901fe4db37abc0b0fa26dd5ba3f72",
      "tree": "3fa967963e174913826943f0f98e63c60032d07d",
      "parents": [
        "69382e85371c232df71524137a806b9c210ec021"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: handle errors when read-only\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69382e85371c232df71524137a806b9c210ec021",
      "tree": "03e49cece85cb74ce38e37afbdef718efa2b3695",
      "parents": [
        "3e198f7826f830604f3aa7c20359a773e70cbeaa"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: better handling for read error in raid1 during resync\n\nHandling of read errors during resync is separate from handling of read errors\nduring normal IO in raid1.  A previous patch added support for read errors\nduring normal IO.  This one adds support for read errors during resync or\nrecovery.\n\nThe key differences are that we don\u0027t need to freeze the array, because the\nnormal handling of resync means that this part of the array will be idle\nexcept for resync, and the read/overwrite/re-read is needed in a separate\npiece of code.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e198f7826f830604f3aa7c20359a773e70cbeaa",
      "tree": "b7b23a9b9085cd652930a706f86187a16505fd84",
      "parents": [
        "ddaf22abaa831763e75775e6d4c7693504237997"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: tidyup some issues with raid1 resync and prepare for catching read errors\n\nWe are dereferencing -\u003erdev without an rcu lock!\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ddaf22abaa831763e75775e6d4c7693504237997",
      "tree": "4f6ba4cb056f8c7cea82c7d548769b879d0fb405",
      "parents": [
        "d69762e98456b71167865db9e33e732a28dd36ab"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: attempt to auto-correct read errors in raid1\n\nOn a read-error we suspend the array, then synchronously read the block from\nother arrays until we find one where we can read it.  Then we try writing the\ngood data back everywhere and make sure it works.  If any write or subsequent\nread fails, only then do we fail the device out of the array.\n\nTo be able to suspend the array, we need to also keep track of how many\nrequests are queued for handling by raid1d.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b15c2e57f0f5bf596a19e9c5571e5b07cdfc7363",
      "tree": "da68e3ed72e59212936daf7dd4c86f1f9a7ab386",
      "parents": [
        "6ff8d8ec06690f4011a6c3ad9e0759b9094f0601"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: move bitmap_create to after md array has been initialised\n\nThis is important because bitmap_create uses\n  mddev-\u003eresync_max_sectors\nand that doesn\u0027t have a valid value until after the array\nhas been initialised (with pers-\u003erun()).\n[It doesn\u0027t make a difference for current personalities that\n support bitmaps, but will make a difference for raid10]\n\nThis has the added advantage of meaning with can move the thread-\u003etimeout\nmanipulation inside the bitmap.c code instead of sprinkling identical code\nthroughout all personalities.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "17999be4aa408e7ff3b9d32c735649676567a3cd",
      "tree": "14f9fd4ef0299f16274ce2980baef7b96f111bea",
      "parents": [
        "ac81b2ee45eb811fdb0aa1cfb71d468d944d00ce"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] md: improve raid1 \"IO Barrier\" concept\n\nraid1 needs to put up a barrier to new requests while it does resync or other\nbackground recovery.  The code for this is currently open-coded, slighty\nobscure by its use of two waitqueues, and not documented.\n\nThis patch gathers all the related code into 4 functions, and includes a\ncomment which (hopefully) explains what is happening.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3795bb0fc52fe2af2749f3ad2185cb9c90871ef8",
      "tree": "764aa053d592b4ce555e2ca91077d7c6fc9eaa16",
      "parents": [
        "0de502aa44aae5712a18d471818d6c785e07c92e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Dec 12 02:39:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 09:06:04 2005 -0800"
      },
      "message": "[PATCH] md: fix a use-after-free bug in raid1\n\nWho would submit code with a FIXME like that in it !!!!\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6aea114a728db9296f42102d4885e7fb035de0a9",
      "tree": "fa03f942fea0fef446a10cba423f2eee890c5d89",
      "parents": [
        "b2a2703c282ce77d189a250f58039daac1da3314"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 28 13:44:13 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:26 2005 -0800"
      },
      "message": "[PATCH] md: fix --re-add for raid1 and raid6\n\nIf you have an array with a write-intent-bitmap, and you remove a device, then\nre-add it, a full recovery isn\u0027t needed.  We detect a re-add by looking at\nsaved_raid_disk.  For raid1, it doesn\u0027t matter which disk it was, only whether\nor not it was an active device.  The old code being removed set a value of\n\u0027mirror\u0027 which was then ignored, so it can go.  The changed code performs the\ncorrect check.\n\nFor raid6, if there are two missing devices, make sure we chose the right slot\non --re-add rather than always the first slot.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5de485f00d6e6c15f487869faaf999c708f69b1",
      "tree": "16e7648ba0ebf602597a6a0973813d606f749bde",
      "parents": [
        "f637b9f9fc195e4f4635faf495fd8b462c21b411"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 08 21:39:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:39 2005 -0800"
      },
      "message": "[PATCH] md: make manual repair work for raid1\n\nRaid1 currently optimises resync using the intent bitmap etc.  This\noptimisation is not wanted when we explicitly request a repair through sysfs,\nso add appropriate checks.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a9701a30470856408d08657eb1bd7ae29a146190",
      "tree": "eb6ea8c82fdc1b50bf56abadeee63a935034cf27",
      "parents": [
        "bd926c63b7a6843d3ce2728396c0891e54fce5c4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 08 21:39:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:38 2005 -0800"
      },
      "message": "[PATCH] md: support BIO_RW_BARRIER for md/raid1\n\nWe can only accept BARRIER requests if all slaves handle\nbarriers, and that can, of course, change with time....\n\nSo we keep track of whether the whole array seems safe for barriers,\nand also whether each individual rdev handles barriers.\n\nWe initially assumes barriers are OK.\n\nWhen writing the superblock we try a barrier, and if that fails, we flag\nthings for no-barriers.  This will usually clear the flags fairly quickly.\n\nIf writing the superblock finds that BIO_RW_BARRIER is -ENOTSUPP, we need to\nresubmit, so introduce function \"md_super_wait\" which waits for requests to\nfinish, and retries ENOTSUPP requests without the barrier flag.\n\nWhen writing the real raid1, write requests which were BIO_RW_BARRIER but\nwhich aresn\u0027t supported need to be retried.  So raid1d is enhanced to do this,\nand when any bio write completes (i.e.  no retry needed) we remove it from the\nr1bio, so that devices needing retry are easy to find.\n\nWe should hardly ever get -ENOTSUPP errors when writing data to the raid.\nIt should only happen if:\n  1/ the device used to support BARRIER, but now doesn\u0027t.  Few devices\n     change like this, though raid1 can!\nor\n  2/ the array has no persistent superblock, so there was no opportunity to\n     pre-test for barriers when writing the superblock.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2d444d7ad975d555bb919601bcdc0e58975a40e",
      "tree": "963a29258af95f05dd28d9de0180ac9ef533aeed",
      "parents": [
        "ba22dcbf106338a5c46d6979f9b19564faae3d49"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 08 21:39:31 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:38 2005 -0800"
      },
      "message": "[PATCH] md: convert \u0027faulty\u0027 and \u0027in_sync\u0027 fields to bits in \u0027flags\u0027 field\n\nThis has the advantage of removing the confusion caused by \u0027rdev_t\u0027 and\n\u0027mddev_t\u0027 both having \u0027in_sync\u0027 fields.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6065f7bf8bec170c9c56524a250093ce73ca5d9",
      "tree": "336c7db10aa8cee48386171e3de7569fca01dcfd",
      "parents": [
        "9d88883e68f404d5581bd391713ceef470ea53a9"
      ],
      "author": {
        "name": "Suzanne Wood",
        "email": "suzannew@cs.pdx.edu",
        "time": "Tue Nov 08 21:39:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:37 2005 -0800"
      },
      "message": "[PATCH] md: provide proper rcu_dereference / rcu_assign_pointer annotations in md\n\nAcked-by: \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Suzanne Wood \u003csuzannew@cs.pdx.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a362357b6cd62643d4dda3b152639303d78473da",
      "tree": "fe4ce823e638ded151edcb142f28a240860f0d33",
      "parents": [
        "d72d904a5367ad4ca3f2c9a2ce8c3a68f0b28bf0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "message": "[BLOCK] Unify the seperate read/write io stat fields into arrays\n\nInstead of having -\u003eread_sectors and -\u003ewrite_sectors, combine the two\ninto -\u003esectors[2] and similar for the other fields. This saves a branch\nseveral places in the io path, since we don\u0027t have to care for what the\nactual io direction is. On my x86-64 box, that\u0027s 200 bytes less text in\njust the core (not counting the various drivers).\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "500af87abb81098da47474c81f29ea315a056dc5",
      "tree": "2abccbcd980b7be3386a1334060510571ffd156f",
      "parents": [
        "9ba00538ada7ecb4fb8bd71ba734a8eada987817"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:13 2005 -0700"
      },
      "message": "[PATCH] md: tidy up daemon stop/start code in md/bitmap.c\n\nThe bitmap code used to have two daemons, so there is some \u0027common\u0027 start/stop\ncode.  But now there is only one, so the common code is just noise.\n\nThis patch tidies this up somewhat.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e6603da9b9cfb14a6aca3845227f8c59f7eeb9b",
      "tree": "6c915e6a181d0eef4a67c879e4adc899d336a34d",
      "parents": [
        "15945fee6f09bff1f86b1a735b5888dc59cf38e3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:10 2005 -0700"
      },
      "message": "[PATCH] md: raid1_quiesce is back to front, fix it.\n\nA state of 0 mean \u0027not quiesced\u0027\nA state of 1 means \u0027is quiesced\u0027\n\nThe original code got this wrong.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6d287f627b5fb6a49f78f9e81649ff98c62bb7",
      "tree": "7b6cbc6a997e25a7fb6185da7129e539c4ffda8b",
      "parents": [
        "8ddf9efe6708f3674f0ddfeb6425fd27bea109a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:10 2005 -0700"
      },
      "message": "[PATCH] md: add write-behind support for md/raid1\n\nIf a device is flagged \u0027WriteMostly\u0027 and the array has a bitmap, and the\nbitmap superblock indicates that write_behind is allowed, then write_behind is\nenabled for WriteMostly devices.\n\nWrite requests will be acknowledges as complete to the caller (via b_end_io)\nwhen all non-WriteMostly devices have completed the write, but will not be\ncleared from the bitmap until all devices complete.\n\nThis requires memory allocation to make a local copy of the data being\nwritten.  If there is insufficient memory, then we fall-back on normal write\nsemantics.\n\nSigned-Off-By: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8ddf9efe6708f3674f0ddfeb6425fd27bea109a2",
      "tree": "90862c8fa9f04cf98423b3da1b2c5d1f01a7310d",
      "parents": [
        "36fa30636fb84b209210299684e1be66d9e58217"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:10 2005 -0700"
      },
      "message": "[PATCH] md: support write-mostly device in raid1\n\nThis allows a device in a raid1 to be marked as \"write mostly\".  Read requests\nwill only be sent if there is no other option.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36fa30636fb84b209210299684e1be66d9e58217",
      "tree": "28a7473238932f1e7ade1a5a5ec67a113b6d6205",
      "parents": [
        "6a07997fc34ac15a1c5dc650285d79b7604a2276"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:10 2005 -0700"
      },
      "message": "[PATCH] md: all hot-add and hot-remove of md intent logging bitmaps\n\nBoth file-bitmaps and superblock bitmaps are supported.\n\nIf you add a bitmap file on the array device, you lose.\n\nThis introduces a \u0027default_bitmap_offset\u0027 field in mddev, as the ioctl used\nfor adding a superblock bitmap doesn\u0027t have room for giving an offset.  Later,\nthis value will be setable via sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5dcdd80a60627371f40797426273048630dc8ca",
      "tree": "1621f68394ceaa4da86d89c6da3b93fd306415fc",
      "parents": [
        "3ec67ac1a399d576d48b0736096bcce7721fe3cf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:09 2005 -0700"
      },
      "message": "[PATCH] md: fail IO request to md that require a barrier.\n\nmd does not yet support BIO_RW_BARRIER, so be honest about it and fail\n(-EOPNOTSUPP) any such requests.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3b9703e27aab3839dcdb76b00d98428b67d25b0",
      "tree": "f9b62479cd7062c65e54641cc6190975f529a08b",
      "parents": [
        "193f1c931517592ec4188d15bf261e4bff368207"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Aug 04 12:53:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 13:00:54 2005 -0700"
      },
      "message": "[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing in all cases...\n\nFirstly, R1BIO_Degraded was being set in a number of places in the resync\ncode, but is never used there, so get rid of those settings.\n\nThen: When doing a resync, we want to clear the bit in the bitmap iff the\narray will be non-degraded when the sync has completed.  However the current\ncode would clear the bitmap if the array was non-degraded when the resync\n*started*, which obviously isn\u0027t right (it is for \u0027resync\u0027 but not for\n\u0027recovery\u0027 - i.e.  rebuilding a failed drive).\n\nThis patch calculated \u0027still_degraded\u0027 and uses the to tell bitmap_start_sync\nwhether this sync should clear the corresponding bit.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b5c7ae83704320e2afb0912f4c42eadabc7535b",
      "tree": "2db30198606683da3b683cabac531d902a249b27",
      "parents": [
        "b38817dda45bc2990a8d593f3a1b4d444b2dcf4f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Wed Jul 27 11:43:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:48 2005 -0700"
      },
      "message": "[PATCH] md: when resizing an array, we need to update resync_max_sectors as well as size\n\nWithout this, and attempt to \u0027grow\u0027 an array will claim to have synced the\nextra part without actually having done anything.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a806c510de490318846b53bbfec463d02ca274b",
      "tree": "7018abfd9db7856708bc2c578f48c30eab8855b1",
      "parents": [
        "a1287ba1ba810aae1f8b81e32560d5d3bf3ff9f0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Jul 15 03:56:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 15 09:54:51 2005 -0700"
      },
      "message": "[PATCH] md/raid1: clear bitmap when fullsync completes\n\nWe need to be careful differentiating between a resync of a complete array,\nin which we can clear the bitmap, and a resync of a degraded array, in\nwhich we cannot.\n\nThis patch cleans all that up.\n\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "990a8baf568ca1d0ae65e59783ff821794118d07",
      "tree": "1fe187b2f119f7a9d96d56380b211f9ddb9f8390",
      "parents": [
        "8a5e9cf1d6626586ff08e49f400a006a9f0c3275"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Tue Jun 21 17:17:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:48 2005 -0700"
      },
      "message": "[PATCH] md: remove unneeded NULL checks before kfree\n\nThis patch removes some unneeded checks of pointers being NULL before\ncalling kfree() on them.  kfree() handles NULL pointers just fine, checking\nfirst is pointless.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d310eb7b3df1252e8595d059d982b0a9825a137",
      "tree": "9bca5e7eaa437d60010c1745b9aeb9592439d482",
      "parents": [
        "41158c7eb22312cfaa256744e1553bb4042ff085"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: fix deadlock due to md thread processing delayed requests.\n\nBefore completing a \u0027write\u0027 the md superblock might need to be updated.\nThis is best done by the md_thread.\n\nThe current code schedules this up and queues the write request for later\nhandling by the md_thread.\n\nHowever some personalities (Raid5/raid6) will deadlock if the md_thread\ntries to submit requests to its own array.\n\nSo this patch changes things so the processes submitting the request waits\nfor the superblock to be written and then submits the request itself.\n\nThis fixes a recently-created deadlock in raid5/raid6\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "41158c7eb22312cfaa256744e1553bb4042ff085",
      "tree": "21c28e0630d66fc32d758993299a78088a846562",
      "parents": [
        "289e99e8ed8f36e386bf7de49947311c17ae1482"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: optimise reconstruction when re-adding a recently failed drive.\n\nWhen an array is degraded, bit in the intent-bitmap are never cleared.  So if\na recently failed drive is re-added, we only need to reconstruct the block\nthat are still reflected in the bitmap.\n\nThis patch adds support for this re-adding.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "289e99e8ed8f36e386bf7de49947311c17ae1482",
      "tree": "058cca9106c45590db87f1568f28a043395a4f19",
      "parents": [
        "ab7a30c7051ee32d0d72415fe0a16d60eba38a0d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: initialise sync_blocks in raid1 resync\n\nOtherwise it could have a random value and might BUG.  This fixes a BUG\nduring resync problem in raid1 introduced by the bitmap-based-intent-loggin\npatches.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ab7a30c7051ee32d0d72415fe0a16d60eba38a0d",
      "tree": "ab053c3d097e9ef7d2448944b8a20c8b0b8117a4",
      "parents": [
        "191ea9b2c7cc3ebbe0678834ab710d7d95ad3f9a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: fix bug when raid1 attempts a partial reconstruct.\n\nThe logic here is wrong.  if fullsync is 0, it WILL BUG.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "191ea9b2c7cc3ebbe0678834ab710d7d95ad3f9a",
      "tree": "25ccd0d191742f4e25f37784370520d254aacc12",
      "parents": [
        "aa3163f81654fa057039258e32a6811147bf0c14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: raid1 support for bitmap intent logging\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57afd89f98a990747445f01c458ecae64263b2f8",
      "tree": "cab9f5941f32299bc97936e111f6552ebcee9cf6",
      "parents": [
        "06d91a5fe0b50c9060e70bdf7786f8a3c66249db"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve the interface to sync_request\n\n1/ change the return value (which is number-of-sectors synced)\n from \u0027int\u0027 to \u0027sector_t\u0027.\n The number of sectors is usually easily small enough to fit\n in an int, but if resync needs to abort, it may want to return\n the total number of remaining sectors, which could be large.\n Also errors cannot be returned as negative numbers now, so use\n 0 instead\n2/ Add a \u0027skipped\u0027 return parameter to allow the array to report\n that it skipped the sectors.  This allows md to take this into account\n in the speed calculations.\n Currently there is no important skipping, but the bitmap-based-resync\n that is coming will use this.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06d91a5fe0b50c9060e70bdf7786f8a3c66249db",
      "tree": "95a8b9228534cebb12eb31c1cc9cc0c45f685410",
      "parents": [
        "fca4d848f0e6fafdc2b25f8a0cf1e76935f13ac2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve locking on \u0027safemode\u0027 and move superblock writes\n\nWhen md marks the superblock dirty before a write, it calls\ngeneric_make_request (to write the superblock) from within\ngeneric_make_request (to write the first dirty block), which could cause\nproblems later.\n\nWith this patch, the superblock write is always done by the helper thread, and\nwrite request are delayed until that write completes.\n\nAlso, the locking around marking the array dirty and writing the superblock is\nimproved to avoid possible races.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fca4d848f0e6fafdc2b25f8a0cf1e76935f13ac2",
      "tree": "cabed019bfe5d00ddbe06e349f20cff78ab6f6bf",
      "parents": [
        "c361777fb9347a4d16b82272f7d3b234e94bef2d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:42 2005 -0700"
      },
      "message": "[PATCH] md: merge md_enter_safemode into md_check_recovery\n\nmd_enter_safemode checks if it is time to mark the md superblock as \u0027clean\u0027.\ni.e.  if all writes have completed and a suitable delay has passed.\n\nThis is currently called from md_handle_safemode which in-turn is called\n(almost) every time md_check_recovery is called, and from the end of\nmd_do_sync which causes the mddev-\u003ethread to run, which will always call\nmd_check_recovery as well.\n\nSo it doesn\u0027t need to be a separate function and fits quite well into\nmd_check_recovery.\n\nThe \"almost\" is because multipathd calls md_check_recovery but not\nmd_handle_safemode.  This is OK because the code from md_enter_safemode is a\nno-op if mddev-\u003esafemode \u003d\u003d 0, which it always is for a multipathd (providing\nwe don\u0027t allow it to be set to 2 on a signal...)\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ea9c07c6c6d1c14d9757dd8470dc4c85bbe9f28",
      "tree": "095cf6a6830902b01896618502f20a2a89f33273",
      "parents": [
        "58a606431a704b5c240c1429a5526fac81c9800a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:42 2005 -0700"
      },
      "message": "[PATCH] md: cause md/raid1 to \"repack\" working devices when number of drives is changed\n\ni.e.  missing or failed drives are moved to the end of the list.  The means\na 3 drive md array with the first drive missing can be shrunk to a two\ndrive array.  Currently that isn\u0027t possible.\n\nAlso, the \"last_used\" device number might be out-of-range after the number\nof devices is reduced, so we set it to 0.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a5febe9ffeecd1e78c5b505260ccc1ef18021b4",
      "tree": "f3d61987a3f961f33a77334052805457a2ef2460",
      "parents": [
        "29ac8e056f2016a8404edc02749d095019aa1f82"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon May 16 21:53:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:12 2005 -0700"
      },
      "message": "[PATCH] md: set the unplug_fn and issue_flush_fn for md devices *after* committed to creation\n\nWe we set the too early, they may still be in place and possibly get called\neven though the array didn\u0027t get set up properly.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5",
      "tree": "40a44149a9b6a39eac5481380e2212f9b9b74eb2",
      "parents": [
        "9b06e818985d139fd9e82c28297f7744e1b484e1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "message": "[PATCH] Change synchronize_kernel to _rcu and _sched\n\nThis patch changes calls to synchronize_kernel(), deprecated in the earlier\n\"Deprecate synchronize_kernel, GPL replacement\" patch to instead call the new\nsynchronize_rcu() and synchronize_sched() APIs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
