)]}'
{
  "log": [
    {
      "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": "19c38de88a80913351fcacefdb461cc0b585fa87",
      "tree": "17d2978ce27861926a0d9a3eb49471b9b736f968",
      "parents": [
        "5901d0145c6b9e791bacd049eea11c9db9a3006e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "kobjects: fix up improper use of the kobject name field\n\nA number of different drivers incorrect access the kobject name field\ndirectly.  This is not correct as the name might not be in the array.\nUse the proper accessor function instead.\n\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "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": "f0d76d70bc77b9b11256a3a23e98e80878be1578",
      "tree": "abf9e37302ce587c8c62e430aaf9f004548e653c",
      "parents": [
        "713f6ab18b0e7d39f14401362bfe8015b1aedde1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: check that internal bitmap does not overlap other data\n\nWe current completely trust user-space to set up metadata describing an\nconsistant array.  In particlar, that the metadata, data, and bitmap do not\noverlap.\n\nBut userspace can be buggy, and it is better to report an error than corrupt\ndata.  So put in some appropriate checks.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "713f6ab18b0e7d39f14401362bfe8015b1aedde1",
      "tree": "fc6ef865d09de1ec816ed96860ffc27dd48d837b",
      "parents": [
        "df968c4e8d809deb2602fb0e8db758f26a4006b9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: improve the is_mddev_idle test fix\n\nDon\u0027t use \u0027unsigned\u0027 variable to track sync vs non-sync IO, as the only thing\nwe want to do with them is a signed comparison, and fix up the comment which\nhad become quite wrong.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df968c4e8d809deb2602fb0e8db758f26a4006b9",
      "tree": "e963a47e8d66fdbdcd83ff629b08d989e64d418a",
      "parents": [
        "afd44034acdb54972923bb327bc9f984663ee78b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: improve message about invalid superblock during autodetect\n\nPeople try to use raid auto-detect with version-1 superblocks (which is not\nsupported) and get confused when they are told they have an invalid\nsuperblock.\n\nSo be more explicit, and say it it is not a valid v0.90 superblock.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73",
      "tree": "10f99829f7d877b87614fe69be77e363c026a8d7",
      "parents": [
        "d379b01e9087a582d58f4b678208a4f8d8376fe7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 11:56:42 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 13 08:06:14 2007 -0700"
      },
      "message": "xor: make \u0027xor_blocks\u0027 a library routine for use with async_tx\n\nThe async_tx api tries to use a dma engine for an operation, but will fall\nback to an optimized software routine otherwise.  Xor support is\nimplemented using the raid5 xor routines.  For organizational purposes this\nroutine is moved to a common area.\n\nThe following fixes are also made:\n* rename xor_block \u003d\u003e xor_blocks, suggested by Adrian Bunk\n* ensure that xor.o initializes before md.o in the built-in case\n* checkpatch.pl fixes\n* mark calibrate_xor_blocks __init, Adrian Bunk\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "a778b73ff793d34c0082f76110f73a7754915067",
      "tree": "54bf868afb3375cfdb0d01d6ce9e5eea47395f85",
      "parents": [
        "ab6085c795a71b6a21afe7469d30a365338add7a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 23 13:58:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:14 2007 -0700"
      },
      "message": "md: fix bug with linear hot-add and elsewhere\n\nAdding a drive to a linear array seems to have stopped working, due to changes\nelsewhere in md, and insufficient ongoing testing...\n\nSo the patch to make linear hot-add work in the first place introduced a\nsubtle bug elsewhere that interracts poorly with older version of mdadm.\n\nThis fixes it all up.\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": "435b71be20f2ad3688acd94c05e968e029464d60",
      "tree": "fdc4b08074f148298cecd6915c6427353652b0ba",
      "parents": [
        "11fe250d89cdce3d6bb43bd674f3dcdcaa78dbc8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu May 10 22:23:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:37 2007 -0700"
      },
      "message": "md: improve the is_mddev_idle test\n\nDuring a \u0027resync\u0027 or similar activity, md checks if the devices in the\narray are otherwise active and winds back resync activity when they are.\nThis test in done in is_mddev_idle, and it is somewhat fragile - it\nsometimes thinks there is non-sync io when there isn\u0027t.\n\nThe test compares the total sectors of io (disk_stat_read) with the sectors\nof resync io (disk-\u003esync_io).  This has problems because total sectors gets\nupdated when a request completes, while resync io gets updated when the\nrequest is submitted.  The time difference can cause large differenced\nbetween the two which do not actually imply non-resync activity.  The test\ncurrently allows for some fuzz (+/- 4096) but there are some cases when it\nis not enough.\n\nThe test currently looks for any (non-fuzz) difference, either positive or\nnegative.  This clearly is not needed.  Any non-sync activity will cause\nthe total sectors to grow faster than the sync_io count (never slower) so\nwe only need to look for a positive differences.\n\nIf we do this then the amount of in-flight sync io will never cause the\nappearance of non-sync IO.  Once enough non-sync IO to worry about starts\nhappening, resync will be slowed down and the measurements will thus be\nmore precise (as there is less in-flight) and control of resync will still\nbe suitably responsive.\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": "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": "08a02ecd28bad35a47357e611044dcbeab06e3d7",
      "tree": "31050d686e58d55411f95c89204321aa2ea2b63a",
      "parents": [
        "42b9bebe3fea3d3ce381bc6735a3fb50e6613f06"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: allow reshape_position for md arrays to be set via sysfs\n\n\"reshape_position\" records how much progress has been made on a \"reshape\"\n(adding drives, changing layout or chunksize).\n\nWhen it is set, the number of drives, layout and chunksize can have\ntwo possible values, an old an a new.\n\nSo allow these different values to be visible, and allow both old and new to\nbe set: Set the old ones first, then the reshape_position, then the new\nvalues.\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": "4d167f09375bd6c18447d3fcc18baaf3acd15fbc",
      "tree": "4132b4061678bf6124c3045035c023e83aebe825",
      "parents": [
        "e11e93facc38fb264a5ff1e154ebb2f11dc5cffa"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: stop using csum_partial for checksum calculation in md\n\nIf CONFIG_NET is not selected, csum_partial is not exported, so md.ko cannot\nuse it.  We shouldn\u0027t really be using csum_partial anyway as it is an\ninternal-to-networking interface.\n\nSo replace it with C code to do the same thing.  Speed is not crucial here, so\nsomething simple and correct is best.\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": "e11e93facc38fb264a5ff1e154ebb2f11dc5cffa",
      "tree": "0128d05a5a3d51704f25ad4622b5dad4078d1430",
      "parents": [
        "c3f94b40e1676172dfa88abfffd8baffe7ac607c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: move test for whether level supports bitmap to correct place\n\nWe need to check for internal-consistency of superblock in load_super.\nvalidate_super is for inter-device consistency.\n\nWith the test in the wrong place, a badly created array will confuse md rather\nan produce sensible errors.\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": "c3f94b40e1676172dfa88abfffd8baffe7ac607c",
      "tree": "c5440bae6c2a63cefbf87ef32936b45b46dd357d",
      "parents": [
        "50511da3da4d984fb944b2e373781b60915daf65"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Wed May 09 02:35:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: cleanup: use seq_release_private() where appropriate\n\nWe can save some lines of code by using seq_release_private().\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50511da3da4d984fb944b2e373781b60915daf65",
      "tree": "17a3d4526fdd87ca20393cd7deef5270b5c19cf9",
      "parents": [
        "bc0ca06e24545117b69c94b1219dbe19392a0c5a"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Wed May 09 02:35:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "drivers/md.c: Use ARRAY_SIZE macro when appropriate\n\nUse ARRAY_SIZE macro already defined in kernel.h\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f98393a64ca1392130724c3acb4e3f325801d2b6",
      "tree": "b02838bdf84156ac923bb37b6cf5f5ed6aaa3d48",
      "parents": [
        "0a27a14a62921b438bb6f33772690d345a089be6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: remove destroy_dirty_buffers from invalidate_bdev()\n\nRemove the destroy_dirty_buffers argument from invalidate_bdev(), it hasn\u0027t\nbeen used in 6 years (so akpm says).\n\nfind * -name \\*.[ch] | xargs grep -l invalidate_bdev |\nwhile read file; do\n\tquilt add $file;\n\tsed -ie \u0027s/invalidate_bdev(\\([^,]*\\),[^)]*)/invalidate_bdev(\\1)/g\u0027 $file;\ndone\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5792a2856a63cdc568e08a7d6f9b2413d9217b3e",
      "tree": "042a09fbfdf75dac5efa3bf61c7d6c6dd4c6ba7f",
      "parents": [
        "456a09dce9ca9b0013cabcda918aee851a04471d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 04 19:08:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:47 2007 -0700"
      },
      "message": "[PATCH] md: avoid a deadlock when removing a device from an md array via sysfs\n\nA device can be removed from an md array via e.g.\n  echo remove \u003e /sys/block/md3/md/dev-sde/state\n\nThis will try to remove the \u0027dev-sde\u0027 subtree which will deadlock\nsince\n  commit e7b0d26a86943370c04d6833c6edba2a72a6e240\n\nWith this patch we run the kobject_del via schedule_work so as to\navoid the deadlock.\n\nCc: Alan Stern \u003cstern@rowland.harvard.edu\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": "5e55e2f5fc95b355d8aa649f346cff69904c8ade",
      "tree": "6722b3f116bbeacb500ed6900219cfe54eaefa11",
      "parents": [
        "041ae52e265fc432ea5525b1c66720385c2d11f0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 26 21:32:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:15 2007 -0700"
      },
      "message": "[PATCH] md: convert compile time warnings into runtime warnings\n\n...  still not sure why we need this ....\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": "041ae52e265fc432ea5525b1c66720385c2d11f0",
      "tree": "b7bab39615cb591c7df82d70e3f5ad5dba200e3d",
      "parents": [
        "3d37890baa4ca962f8a6b77525b8f3d0698eee09"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 26 21:32:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 27 09:05:14 2007 -0700"
      },
      "message": "[PATCH] md: clear the congested_fn when stopping a raid5\n\nIf this mddev and queue got reused for another array that doesn\u0027t register a\ncongested_fn, this function would get called incorretly.\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": "b4c4c7b8095298ff4ce20b40bf180ada070812d0",
      "tree": "2c51fe8ef220be17c791f8aca1218cadcae22b7f",
      "parents": [
        "d1b5380c7f794da16e815c34e54ee7641db8a288"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 28 20:11:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:36 2007 -0800"
      },
      "message": "[PATCH] md: restart a (raid5) reshape that has been aborted due to a read/write error\n\nAn error always aborts any resync/recovery/reshape on the understanding that\nit will immediately be restarted if that still makes sense.  However a reshape\ncurrently doesn\u0027t get restarted.  With this patch it does.\n\nTo avoid restarting when it is not possible to do work, we call into the\npersonality to check that a reshape is ok, and strengthen raid5_check_reshape\nto fail if there are too many failed devices.\n\nWe also break some code out into a separate function: remove_and_add_spares as\nthe indent level for that code was getting crazy.\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": "d1b5380c7f794da16e815c34e54ee7641db8a288",
      "tree": "1e9d7752c751898e236d3af695a5221be5634f1a",
      "parents": [
        "7dd5e7c3dbe8c4ffb507ddc0ea8fab07c8b11b0b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 28 20:11:42 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:36 2007 -0800"
      },
      "message": "[PATCH] md: clean out unplug and other queue function on md shutdown\n\nThe mddev and queue might be used for another array which does not set these,\nso they need to be cleared.\n\nSigned-off-by: NeilBrown \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": "7dd5e7c3dbe8c4ffb507ddc0ea8fab07c8b11b0b",
      "tree": "c045b733c5cf959e8f4e8608f4344f49e69d4e6c",
      "parents": [
        "a723406c4aeedb9dc5d54fb81130d13c757f41bc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 28 20:11:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:36 2007 -0800"
      },
      "message": "[PATCH] md: move warning about creating a raid array on partitions of the one device\n\nmd tries to warn the user if they e.g.  create a raid1 using two partitions of\nthe same device, as this does not provide true redundancy.\n\nHowever it also warns if a raid0 is created like this, and there is nothing\nwrong with that.\n\nAt the place where the warning is currently printer, we don\u0027t necessarily know\nwhat level the array will be, so move the warning from the point where the\ndevice is added to the point where the array is started.\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": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff1d28efc56432c57f8e46542b4bb2c290b801ad",
      "tree": "130a1009ba5766f2f6feee2e6f67202e68f84bdd",
      "parents": [
        "01879db3f0f8205e04fbce06062349f258469247"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: md: remove unnecessary insert_at_head flag\n\nThe sysctls used by the md driver are have unique binary numbers so remove the\ninsert_at_head flag as it serves no useful purpose.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4",
      "tree": "64a6b20c6c6e19a731882f830bd70ca5c8d99943",
      "parents": [
        "2b8693c0617e972fc0b2fd1ebf8de97e15b656c3"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:33 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 4\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\n[akpm@sdl.org: dvb fix]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "1031be7a5fafd3a858dfaabb74d98f9ca20744a8",
      "tree": "b111bc6880571e3ad0720da828a029ecae066c8a",
      "parents": [
        "3eda22d19b76b15ef3420b251bd47a0ba0127589"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:02 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 sure the events count in an md array never returns to zero\n\nNow that we sometimes step the array events count backwards (when\ntransitioning dirty-\u003eclean where nothing else interesting has happened - so\nthat we don\u0027t need to write to spares all the time), it is possible for the\nevent count to return to zero, which is potentially confusing and triggers and\nMD_BUG.\n\nWe could possibly remove the MD_BUG, but is just as easy, and probably safer,\nto make sure we never return to zero.\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": "3f9d7b0d810f9fe3dc670901b694a9632b8d62b3",
      "tree": "fd130bc302aa1f982deecaa3e602872c44a4d2e7",
      "parents": [
        "fe0e5c4d947d34f10002b4cf272f0ebf110305b7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Dec 22 01:11:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:51 2006 -0800"
      },
      "message": "[PATCH] md: fix a few problems with the interface (sysfs and ioctl) to md\n\nWhile developing more functionality in mdadm I found some bugs in md...\n\n- When we remove a device from an inactive array (write \u0027remove\u0027 to\n  the \u0027state\u0027 sysfs file - see \u0027state_store\u0027) would should not\n  update the superblock information - as we may not have\n  read and processed it all properly yet.\n\n- initialise all raid_disk entries to \u0027-1\u0027 else the \u0027slot sysfs file\n  will claim \u00270\u0027 for all devices in an array before the array is\n  started.\n\n- all \u0027\\n\u0027 not to be present at the end of words written to\n  sysfs files\n\n- when we use SET_ARRAY_INFO to set the md metadata version,\n  set the flag to say that there is persistant metadata.\n\n- allow GET_BITMAP_FILE to be called on an array that hasn\u0027t\n  been started yet.\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": "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": "fdee8ae4498c48b44c0eac592f9c6ed24c4517c1",
      "tree": "9d77e7fec74adb9c3689f565dfcbf2890ab5ccbe",
      "parents": [
        "b875e531fc82db592d6093594593d5cafde0a1cd"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Dec 10 02:20:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:21 2006 -0800"
      },
      "message": "[PATCH] MD: conditionalize some code\n\nThe autorun code is only used if this module is built into the static\nkernel image.  Adjust #ifdefs accordingly.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d4ca600fcf5c5f3a0c195ccf37e989b83451dd4",
      "tree": "f2847c89d66b2099c3beb55647e00c0fff4fca68",
      "parents": [
        "a3d899839064b6924c3d8a6404dae14c79f657fd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Dec 10 02:20:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:20 2006 -0800"
      },
      "message": "[PATCH] md: tidy up device-change notification when an md array is stopped\n\nAn md array can be stopped leaving all the setting still in place, or it can\ntorn down and destroyed.  set_capacity and other change notifications only\nhappen in the latter case, but should happen in both.\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": "c649bb9c55e78dcff0e1383c13d91e0bfc2abb4a",
      "tree": "2db97a161e909c22840d72ac15704b56b09a9094",
      "parents": [
        "225a719f79fbc4d0cd9d9ebc5b2e3ac0e95845aa"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:47 2006 -0800"
      },
      "message": "[PATCH] struct path: convert md\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d63a5a74dee87883fda6b7d170244acaac5b05e8",
      "tree": "8b12bc626b8f1507b7b550865c5f8282bcac6c27",
      "parents": [
        "6796bf54a64df36f96a42ae222423fffe36c58a5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Dec 08 02:36:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:39 2006 -0800"
      },
      "message": "[PATCH] lockdep: avoid lockdep warning in md\n\nmd_open takes -\u003ereconfig_mutex which causes lockdep to complain.  This\n(normally) doesn\u0027t have deadlock potential as the possible conflict is with a\nreconfig_mutex in a different device.\n\nI say \"normally\" because if a loop were created in the array-\u003emember hierarchy\na deadlock could happen.  However that causes bigger problems than a deadlock\nand should be fixed independently.\n\nSo we flag the lock in md_open as a nested lock.  This requires defining\nmutex_lock_interruptible_nested.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\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": "2e7b651df113c8a463853e4169951c52c39f9d19",
      "tree": "44749ea9d81931cbe5a753b972f6b9fde92a6496",
      "parents": [
        "32694850a91bd4fedcdd4a46292f870588be81d1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 08 02:36:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:38 2006 -0800"
      },
      "message": "[PATCH] remove the old bd_mutex lockdep annotation\n\nRemove the old complex and crufty bd_mutex annotation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7dfb71030f7636a0d65200158113c37764552f93",
      "tree": "276b812903d377b16d8828e888552fd256f48aab",
      "parents": [
        "8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@linuxmail.org",
        "time": "Wed Dec 06 20:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:27 2006 -0800"
      },
      "message": "[PATCH] Add include/linux/freezer.h and move definitions from sched.h\n\nMove process freezing functions from include/linux/sched.h to freezer.h, so\nthat modifications to the freezer or the kernel configuration don\u0027t require\nrecompiling just about everything.\n\n[akpm@osdl.org: fix ueagle driver]\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b438a23fb05b6566393f9f0a3987ea3dcc1c0c4",
      "tree": "3341d8c6da3aeabef790efd2f57faa1b21f33b04",
      "parents": [
        "0692c6b1cf5537b190f90fb5903f1af89a41b0a8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 08 17:44:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:24 2006 -0800"
      },
      "message": "[PATCH] md: do not freeze md threads for suspend\n\nIf there\u0027s a swap file on a software RAID, it should be possible to use this\nfile for saving the swsusp\u0027s suspend image.  Also, this file should be\navailable to the memory management subsystem when memory is being freed before\nthe suspend image is created.\n\nFor the above reasons it seems that md_threads should not be frozen during the\nsuspend and the appended patch makes this happen, but then there is the\nquestion if they don\u0027t cause any data to be written to disks after the suspend\nimage has been created, provided that all filesystems are frozen at that time.\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": "2f4713036114dd13d1f4fe433b7f236250b65f5a",
      "tree": "22943678121913e804dca81feb616f8cf77082a2",
      "parents": [
        "b5b9df697b166948f2770fb65d1b8809637a199b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Nov 08 17:44:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] md: change ONLINE/OFFLINE events to a single CHANGE event\n\nIt turns out that CHANGE is preferred to ONLINE/OFFLINE for various reasons\n(not least of which being that udev understands it already).\n\nSo remove the recently added KOBJ_OFFLINE (no-one is likely to care anyway)\nand change the ONLINE to a CHANGE event\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: 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": "7870db4c7fa1b03fec133c4f4e67fdaa04c5ac15",
      "tree": "90b821219d4841c8f77b2e0116a3460a0e71a13e",
      "parents": [
        "df66b8552be5fdab5c4b4d53ee08b99388b9bd02"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Nov 02 22:06:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:55 2006 -0800"
      },
      "message": "[PATCH] md: send online/offline uevents when an md array starts/stops\n\nThis allows udev to do something intelligent when an array becomes\navailable.\n\nAcked-by: Greg KH \u003cgreg@kroah.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": "01ab5662f573fe3a6bcefa200f15ab3069cec8a3",
      "tree": "6a3280e26f6f65673394dc8ab3b39897d1c11c18",
      "parents": [
        "2b6e845986347ef86729e8651908af3e8a8441f5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Oct 28 10:38:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:51 2006 -0700"
      },
      "message": "[PATCH] md: simplify checking of available size when resizing an array\n\nWhen \"mdadm --grow --size\u003dxxx\" is used to resize an array (use more or less of\neach device), we check the new siza against the available space in each\ndevice.\n\nWe already have that number recorded in rdev-\u003esize, so calculating it is\npointless (and wrong in one obscure case).\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": "2b6e845986347ef86729e8651908af3e8a8441f5",
      "tree": "dc58ac77e7b7e6ee1e6c320019b07808d3e324a6",
      "parents": [
        "ae74589cb381cc2838107f92d4e0e1f178c6825d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Oct 28 10:38:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:51 2006 -0700"
      },
      "message": "[PATCH] md: fix bug where spares don\u0027t always get rebuilt properly when they become live\n\nIf save_raid_disk is \u003e\u003d 0, then the device could be a device that is already\nin sync that is being re-added.  So we need to default this value to -1.\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": "1c05b4bc22cd640d3a534bd2851a8413d5df3709",
      "tree": "dceceabea9bdb92213e2a2d318cdd1b152832cbd",
      "parents": [
        "da3ed32fe568148ede256975d40825ffcdac767b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Oct 21 10:24:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 21 13:35:05 2006 -0700"
      },
      "message": "[PATCH] md: endian annotation for v1 superblock access\n\nIncludes a couple of bugfixes found by sparse.\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": "e24650c2e744f99541125a5b023f0d02cad19d14",
      "tree": "59f043a5bddb973feac1b1543cf87970665370c5",
      "parents": [
        "a649fd9271773dd0f78e2b9f347bcceecb8827f9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Oct 17 00:09:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:43 2006 -0700"
      },
      "message": "[PATCH] md: fix /proc/mdstat refcounting\n\nI have seen mdadm oops after successfully unloading md module.\n\nThis patch privents from unloading md module while\nmdadm is polling /proc/mdstat.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Akinbou Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5842730de179405d80649231faa0b3f254477434",
      "tree": "b7597063929ad3e0536d22077bde53b6d5ad13d4",
      "parents": [
        "ec5a19dd935eb3793e1f6ed491e8035b3d7b1df9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Oct 06 00:44:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:41 2006 -0700"
      },
      "message": "[PATCH] md: fix bug where new drives added to an md array sometimes don\u0027t sync properly\n\nThis fixes a bug introduced in 2.6.18.\n\nIf a drive is added to a raid1 using older tools (mdadm-1.x or raidtools)\nthen it will be included in the array without any resync happening.\n\nIt has been submitted for 2.6.18.1.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\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": "52e5f9d1cf0b10b24317037dcd1c9be38ca7011c",
      "tree": "a0646ee04b91d5d195075dc4ad8d38cf603179d8",
      "parents": [
        "70d63ccc71fe1a413ce82b88aa175b1dcf28654e"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Oct 03 23:33:23 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:33:23 2006 +0200"
      },
      "message": "BUG_ON cleanup for drivers/md/\n\nThis changes two if() BUG(); usages to BUG_ON(); so people\ncan disable it safely.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "3a0f5bbb1a36ed113065099d3dc69a66e1c8d567",
      "tree": "0a8e6aa5c069aa41e57cbe820f0876abea4e8876",
      "parents": [
        "d19c2ee0b8d1cd83f8bc0f1f5e94e6b6ec71ea10"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:19 2006 -0700"
      },
      "message": "[PATCH] md: add error reporting to superblock write failure\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": "e8703fe1f5cdcff686f7eb0a46487b5a04a9324a",
      "tree": "3b52bfa6ee57d59e059fd0e8d8504dbd3ee073b4",
      "parents": [
        "d33a56d3639eba077489c937943a32ef6237b1b8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: remove MAX_MD_DEVS which is an arbitrary limit\n\nOnce upon a time we needed to fixed limit to the number of md devices,\nprobably because we preallocated some array.  This need no longer exists, but\nwe still have an arbitrary limit.\n\nSo remove MAX_MD_DEVS and allow as many devices as we can fit into the \u0027minor\u0027\npart of a device number.\n\nAlso remove some useless noise at init time (which reports MAX_MD_DEVS) and\nremove MD_THREAD_NAME_MAX which hasn\u0027t been used for a while.\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": "61df9d91e986f1314af482e7ea5f2312a6cd0d14",
      "tree": "c8e21e589e75354e41089eaeb5fe0e2cb04d20d1",
      "parents": [
        "f022b2fddd97795bc9333ffb6862eacfa95c6a95"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: make messages about resync/recovery etc more specific\n\nIt is possible to request a \u0027check\u0027 of an md/raid array where the whole array\nis read and consistancies are reported.\n\nThis uses the same mechanisms as \u0027resync\u0027 and so reports in the kernel logs\nthat a resync is being started.  This understandably confuses/worries people.\n\nAlso the text in /proc/mdstat suggests a \u0027resync\u0027 is happen when it is just a\ncheck.\n\nThis patch changes those messages to be more specific about 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": "9b1d1dac181d8c1b9492e05cee660a985d035a06",
      "tree": "af12b1eaac4e0f7f3528ec26a223faeabed35845",
      "parents": [
        "76186dd8b73d2b7b9b4c8629b89c845e97009801"
      ],
      "author": {
        "name": "Paul Clements",
        "email": "paul.clements@steeleye.com",
        "time": "Tue Oct 03 01:15:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: new sysfs interface for setting bits in the write-intent-bitmap\n\nAdd a new sysfs interface that allows the bitmap of an array to be dirtied.\nThe interface is write-only, and is used as follows:\n\necho \"1000\" \u003e /sys/block/md2/md/bitmap\n\n(dirty the bit for chunk 1000 [offset 0] in the in-memory and on-disk\nbitmaps of array md2)\n\necho \"1000-2000\" \u003e /sys/block/md1/md/bitmap\n\n(dirty the bits for chunks 1000-2000 in md1\u0027s bitmap)\n\nThis is useful, for example, in cluster environments where you may need to\ncombine two disjoint bitmaps into one (following a server failure, after a\nsecondary server has taken over the array).  By combining the bitmaps on\nthe two servers, a full resync can be avoided (This was discussed on the\nlist back on March 18, 2005, \"[PATCH 1/2] md bitmap bug fixes\" thread).\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": "fbedac04fa11d7f9f9f425c7ec253f55becaae57",
      "tree": "700b49b6ea0da293d07a6a32cc154347e134686f",
      "parents": [
        "999d816851c3e080412a19558f111d01852d2f04"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 01:15:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:16 2006 -0700"
      },
      "message": "[PATCH] md: the scheduled removal of the START_ARRAY ioctl for md\n\nThis patch contains the scheduled removal of the START_ARRAY ioctl for md.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "84692195969b83f0ba57dc33ecf73e6c124dd186",
      "tree": "6ef3e71914c83cf66330f5c0cf6cf2edebb0404a",
      "parents": [
        "45f17e0c2ae05c133a348452690de0e5fa863293"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Aug 27 01:23:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:31 2006 -0700"
      },
      "message": "[PATCH] md: avoid backward event updates in md superblock when degraded.\n\nIf we\n  - shut down a clean array,\n  - restart with one (or more) drive(s) missing\n  - make some changes\n  - pause, so that they array gets marked \u0027clean\u0027,\nthe event count on the superblock of included drives\nwill be the same as that of the removed drives.\nSo adding the removed drive back in will cause it\nto be included with no resync.\n\nTo avoid this, we only update the eventcount backwards when the array\nis not degraded.  In this case there can (should) be no non-connected\ndrives that we can get confused with, and this is the particular case\nwhere updating-backwards is valuable.\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": "d0a0a5ee7a0094231a11cfe3f86d2d8f5f994e01",
      "tree": "a6118e5bf43a4e60d9e555e74bac31e764e17aef",
      "parents": [
        "d69504325978c461b51b03cca49626026970307b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "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: fix oops in error-handling\n\nDuring early MD setup (superblock reading), we don\u0027t have a personality yet.\nBut the error-handling code tries to dereference mddev-\u003epers.  Fix.\n\nAcked-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": "67463acb646904d76a8e237cc31eaa87872f30cc",
      "tree": "4ccf373165581ed898328ca03365abfdd7d23a04",
      "parents": [
        "80ca3a44f563a763fa872390dcb393f2d82027bf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] md: require CAP_SYS_ADMIN for (re-)configuring md devices via sysfs\n\nThe ioctl requires CAP_SYS_ADMIN, so sysfs should too.  Note that we don\u0027t\nrequire CAP_SYS_ADMIN for reading attributes even though the ioctl does.\nThere is no reason to limit the read access, and much of the information is\nalready available via /proc/mdstat\n\nCc: Chris Wright \u003cchrisw@sous-sol.org\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": "80ca3a44f563a763fa872390dcb393f2d82027bf",
      "tree": "f11e4756575cf2d85ae4d3bba17634eaa933a475",
      "parents": [
        "5e3db645f890660ce8774a18bcd418570298937e"
      ],
      "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: unify usage of symbolic names for perms\n\nSome places we use number (0660) someplaces names (S_IRUGO).  Change all\nnumbers to be names, and change 0655 to be what it should be.\n\nAlso make some formatting more consistent.\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": "ff4e8d9a9f46e3a7f89d14ade52fe5d53a82c022",
      "tree": "e15fc4d8af0045a3947e3a25844773c6ee50289a",
      "parents": [
        "0b8c9de05c2a860fe6b02fedcb48763bcee648b3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:16 2006 -0700"
      },
      "message": "[PATCH] md: fix resync speed calculation for restarted resyncs\n\nWe introduced \u0027io_sectors\u0027 recently so we could count the sectors that causes\nio during resync separate from sectors which didn\u0027t cause IO - there can be a\ndifference if a bitmap is being used to accelerate resync.\n\nHowever when a speed is reported, we find the number of sectors processed\nrecently by subtracting an oldish io_sectors count from a current\n\u0027curr_resync\u0027 count.  This is wrong because curr_resync counts all sectors,\nnot just io sectors.\n\nSo, add a field to mddev to store the curren io_sectors separately from\ncurr_resync, and use that in the calculations.\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": "0b8c9de05c2a860fe6b02fedcb48763bcee648b3",
      "tree": "893228041dfcc44a216a6887e75c2424e0a8bca9",
      "parents": [
        "31b65a0d3894566191b91fbadd122c354a363b5d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:16 2006 -0700"
      },
      "message": "[PATCH] md: delay starting md threads until array is completely setup\n\nWhen an array is started we start one or two threads (two if there is a\nreshape or recovery that needs to be completed).\n\nWe currently start these *before* the array is completely set up and in\nparticular before queue-\u003equeuedata is set.  If the thread actually starts\nvery quickly on another CPU, we can end up dereferencing queue-\u003equeuedata\nand oops.\n\nThis patch also makes sure we don\u0027t try to start a recovery if a reshape is\nbeing restarted.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31b65a0d3894566191b91fbadd122c354a363b5d",
      "tree": "42836c0798c1a85d7bf1551a22293476cb70601e",
      "parents": [
        "f4370781d83cd2e52eb515e4663155e8091e4d4e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:16 2006 -0700"
      },
      "message": "[PATCH] md: set desc_nr correctly for version-1 superblocks\n\nThis has to be done in -\u003eload_super, not -\u003evalidate_super\n\nWithout this, hot-adding devices to an array doesn\u0027t always\nwork right - though there is a work around in mdadm-2.5.2 to\nmake this less of an issue.\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": "663d440eaa496db903cc58be04b9b602ba45e43b",
      "tree": "8af6967e175693f1c163a106a1d84be7a1bd0bfc",
      "parents": [
        "2b2d5493e10051694ae3a57ea6a153e3cb4d4488"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:10 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate blkdev nesting\n\nTeach special (recursive) locking code to the lock validator.\n\nEffects on non-lockdep kernels:\n\n- the introduction of the following function variants:\n\n  extern struct block_device *open_partition_by_devnum(dev_t, unsigned);\n\n  extern int blkdev_put_partition(struct block_device *);\n\n  static int\n  blkdev_get_whole(struct block_device *bdev, mode_t mode, unsigned flags);\n\n which on non-lockdep are the same as open_by_devnum(), blkdev_put()\n and blkdev_get().\n\n- a subclass parameter to do_open(). [unused on non-lockdep]\n\n- a subclass parameter to __blkdev_put(), which is a new internal\n  function for the main blkdev_put*() functions. [parameter unused\n  on non-lockdep kernels, except for two sanity check WARN_ON()s]\n\nthese functions carry no semantical difference - they only express\nobject dependencies towards the lockdep subsystem.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: 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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "ce7b0f46bbf4bff8daab2dd3d878b9e72a623d09",
      "tree": "7a860cf52fbf1ff768197702af60a8329d296dff",
      "parents": [
        "96192ff1a9d0c6ef365d21667080259d83ea2f5b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the gendisk devfs_name field as it\u0027s no longer needed\n\nAnd remove the now unneeded number field.\nAlso fixes all drivers that set these fields.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ff23eca3e8f613034e0d20ff86f6a89b62f5a14e",
      "tree": "826285f5daa660001d38cac6baaf34411fd40131",
      "parents": [
        "8ab5e4c15b53e147c08031a959d9f776823dbe73"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:08 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree\n\nAlso fixes up all files that #include it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ab5e4c15b53e147c08031a959d9f776823dbe73",
      "tree": "b851d4c1fdbd396379279e4475f7f778a667a208",
      "parents": [
        "7c69ef79741910883d5543caafa06aca3ebadbd1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:07 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_remove() function from the kernel tree\n\nRemoves the devfs_remove() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1a715c5cf917326a285533d1116d725f5f2593c2",
      "tree": "23833b5463940023bd4074a3a465c245adaff9fa",
      "parents": [
        "79021a625c36162d24c852bbbdb04f0c1cb32db3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:06 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_mk_bdev() function from the kernel tree\n\nRemoves the devfs_mk_bdev() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "95dc112a5770dc670a1b45a3d9ee346fdd2b2697",
      "tree": "899cd99bdc928ade94ddc7b003b0de7d275cac48",
      "parents": [
        "0e6c62da7cd929b0389fc4a7e41464bb738647dc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 21:15:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 26 12:25:06 2006 -0700"
      },
      "message": "[PATCH] devfs: Remove devfs_mk_dir() function from the kernel tree\n\nRemoves the devfs_mk_dir() function and all callers of it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "05381954243de2348def8e338ca23fb40a0a721d",
      "tree": "de3341922d1329cde035e7cd111c0ec6e9289199",
      "parents": [
        "f655675b3fe09c4d0506d357527fe07544623009"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 00:28:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:40 2006 -0700"
      },
      "message": "[PATCH] drivers/md/md.c: make code static\n\nMake needlessly global code static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: 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": "f655675b3fe09c4d0506d357527fe07544623009",
      "tree": "969a798b6ba25b88f08b0f9cfe1aed323be81d3e",
      "parents": [
        "a94213b1fa7b26dcc271bf4b4f9eebf1f1af33a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:28:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:40 2006 -0700"
      },
      "message": "[PATCH] md: Allow the write_mostly flag to be set via sysfs\n\nIt appears in /sys/mdX/md/dev-YYY/state\nand can be set or cleared by writing \u0027writemostly\u0027 or \u0027-writemostly\u0027\nrespectively.\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": "a94213b1fa7b26dcc271bf4b4f9eebf1f1af33a2",
      "tree": "4954e6e461e2edf25bb63e9b286bfaea7a07a84a",
      "parents": [
        "d4dbd0250ea1d24bb3d2d13559432fa069d795e2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:28:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:40 2006 -0700"
      },
      "message": "[PATCH] md: Allow resync_start to be set and queried via sysfs\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": "d4dbd0250ea1d24bb3d2d13559432fa069d795e2",
      "tree": "060ec90679ea9d7a535146a35b0e9a8c9d940252",
      "parents": [
        "45dc2de1e53a29f898b81326b8a16e6192d52e4e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Allow raid \u0027layout\u0027 to be read and set via sysfs\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": "45dc2de1e53a29f898b81326b8a16e6192d52e4e",
      "tree": "a1076950eef59cbe525435522d83757390f23c42",
      "parents": [
        "9e653b6342c94016f5cc9937061ef99e9c4b4045"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Allow rdev state to be set via sysfs\n\nThe md/dev-XXX/state file can now be written:\n\n \"faulty\" simulates an error on the device\n \"remove\" removes the device from the array (if it is not busy)\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": "9e653b6342c94016f5cc9937061ef99e9c4b4045",
      "tree": "ec6d984d1c6142a59a70308af511c3244276a8e5",
      "parents": [
        "42543769142d2375f2b5f8fc9cac999f84bd4c4c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Set/get state of array via sysfs\n\nThis allows the state of an md/array to be directly controlled via sysfs and\nadds the ability to stop and array without tearing it down.\n\nArray states/settings:\n\n clear\n     No devices, no size, no level\n     Equivalent to STOP_ARRAY ioctl\n inactive\n     May have some settings, but array is not active\n        all IO results in error\n     When written, doesn\u0027t tear down array, but just stops it\n suspended (not supported yet)\n     All IO requests will block. The array can be reconfigured.\n     Writing this, if accepted, will block until array is quiescent\n readonly\n     no resync can happen.  no superblocks get written.\n     write requests fail\n read-auto\n     like readonly, but behaves like \u0027clean\u0027 on a write request.\n\n clean - no pending writes, but otherwise active.\n     When written to inactive array, starts without resync\n     If a write request arrives then\n       if metadata is known, mark \u0027dirty\u0027 and switch to \u0027active\u0027.\n       if not known, block and switch to write-pending\n     If written to an active array that has pending writes, then fails.\n active\n     fully active: IO and resync can be happening.\n     When written to inactive array, starts with resync\n\n write-pending (not supported yet)\n     clean, but writes are blocked waiting for \u0027active\u0027 to be written.\n\n active-idle\n     like active, but no writes have been seen for a while (100msec).\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": "42543769142d2375f2b5f8fc9cac999f84bd4c4c",
      "tree": "404606c37da872639111c5b641f07fff2ded1dff",
      "parents": [
        "07d84d109d8beedd68df9da2e4e9f25c8217e7fb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Don\u0027t write dirty/clean update to spares - leave them alone\n\n- record the \u0027event\u0027 count on each individual device (they\n  might sometimes be slightly different now)\n- add a new value for \u0027sb_dirty\u0027: \u00273\u0027 means that the super\n  block only needs to be updated to record a clean\u003c-\u003edirty\n  transition.\n- Prefer odd event numbers for dirty states and even numbers\n  for clean states\n- Using all the above, don\u0027t update the superblock on\n  a spare device if the update is just doing a clean-dirty\n  transition.  To accomodate this, a transition from\n  dirty back to clean might now decrement the events counter\n  if nothing else has changed.\n\nThe net effect of this is that spare drives will not see any IO requests\nduring normal running of the array, so they can go to sleep if that is what\nthey want to do.\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": "acc55e220166a5ad898e66ad6153fd62eaaac76d",
      "tree": "c342dcd3303f01d97c5fe7718af9daf22ec086d2",
      "parents": [
        "0cdd02cabd86b5d547f882005e23a93929f0ace9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:38 2006 -0700"
      },
      "message": "[PATCH] md/bitmap: tidy up i_writecount handling in md/bitmap\n\nmd/bitmap modifies i_writecount of a bitmap file to make sure that no-one else\nwrites to it.  The reverting of the change is sometimes done twice, and there\nis one error path where it is omitted.\n\nThis patch tidies that up.\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": "d7375ab324971e7acbea9f02a0269ae7348f4147",
      "tree": "0a2e2f17a6ed37be1870b2bcc2b02cd6cf7e8cf2",
      "parents": [
        "52c03291a832d86c093996d0491a326de4a6b79b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:38 2006 -0700"
      },
      "message": "[PATCH] md/bitmap: fix online removal of file-backed bitmaps\n\nWhen \"mdadm --grow /dev/mdX --bitmap\u003dnone\" is used to remove a filebacked\nbitmap, the bitmap was disconnected from the array, but the file wasn\u0027t closed\n(until the array was stopped).\n\nThe file also wasn\u0027t closed if adding the bitmap file failed.\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": "5e56341d029f0c2cf31e78dc01d4c861ba4d6a5e",
      "tree": "e77087a31d3d1b86c563fb4461f07ee642de280b",
      "parents": [
        "c93983bf517c100a31e40ef087e19bd3d7aa2d28"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 00:27:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: make md_print_devices() static\n\nThis patch makes the needlessly global md_print_devices() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "7c7546ccf6463edbeee8d9aac6de7be1cd80d08a",
      "tree": "56c1f734db9f8a66a7c8c5ef11fb35e07dbb2f91",
      "parents": [
        "5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: allow a linear array to have drives added while active\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": "a8a55c387da28d67d98f56e4f5021462cb61f7a6",
      "tree": "b45bc26d02ed060a6d902beedd236f5ee436b041",
      "parents": [
        "16a53ecc35f2a80dc285be2e769768847d89ca37"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: remove nuisance message at shutdown\n\nAt shutdown, we switch all arrays to read-only, which creates a message for\nevery instantiated array, even those which aren\u0027t actually active.\n\nSo remove the message for non-active arrays.\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": "16f17b39f385212b73278a76d482cdcaaebe6c02",
      "tree": "b7b79b380257e7438516a8b38cd9fbd33284f64f",
      "parents": [
        "9443a1d1f72c688646278c06d0a9a3c79e895325"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: increase the delay before marking metadata clean, and make it configurable\n\nWhen a md array has been idle (no writes) for 20msecs it is marked as \u0027clean\u0027.\n This delay turns out to be too short for some real workloads.  So increase it\nto 200msec (the time to update the metadata should be a tiny fraction of that)\nand make it sysfs-configurable.\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": "9443a1d1f72c688646278c06d0a9a3c79e895325",
      "tree": "f4c536bb90c04bd71502921e85496a51bb033248",
      "parents": [
        "8932c2e0dcae52e73430878fd8a7a7800176eada"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] md: remove useless ioctl warning\n\nThis warning was slightly useful back in 2.2 days, but is more an annoyance\nnow.  It makes it awkward to add new ioctls (that we we are likely to do that\nin the current climate, but it is possible).\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": "c331eb04b995ad276a7ece4608326f1db4e137d8",
      "tree": "d3ef167648eb00266696039cc10b32592747e5fe",
      "parents": [
        "a835fa798ddfbfe4c63ff5e22c93fa5d24c95f7b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue May 30 21:27:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:11 2006 -0700"
      },
      "message": "[PATCH] md: Fix badness in sysfs_notify caused by md_new_event\n\nFrom: NeilBrown \u003cneilb@suse.de\u003e\n\nIf an error is reported by a drive in a RAID array (which is done via\nbi_end_io - in interrupt context), we call md_error and md_new_event which\ncalls sysfs_notify.  However sysfs_notify grabs a mutex and so cannot be\ncalled in interrupt context.\n\nThis patch just creates a variant of md_new_event which avoids the sysfs\ncall, and uses that.  A better fix for later is to arrange for the event to\nbe called from user-context.\n\nNote: avoiding the sysfs call isn\u0027t a problem as an error will not, by\nitself, modify the sync_action attribute.  (We do still need to\nwake_up(\u0026md_event_waiters) as an error by itself will modify /proc/mdstat).\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": "c71d48877e6f3d5e3eb22fcaaa612081bce3d089",
      "tree": "2adf081ab975f2f1f33b5ba1c04163fcbdf02077",
      "parents": [
        "309c68cc17ba1f6f733038562b7469b5340e1a1d"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Fri May 26 10:39:25 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 26 11:52:11 2006 -0700"
      },
      "message": "[PATCH] Unlock md devices when stopping them on reboot.\n\notherwise we get nasty messages about locks not being released.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2adc7d47c4dbf684e69ee3980c158ff684dc170e",
      "tree": "ec4d2891f17b67c91f29d8b748ae49b9ef39a3e7",
      "parents": [
        "8c7b389e532e964f07057dac8a56c43465544759"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat May 20 14:59:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:17 2006 -0700"
      },
      "message": "[PATCH] md: Fix inverted test for \u0027repair\u0027 directive.\n\nWe should be able to write \u0027repair\u0027 to /sys/block/mdX/md/sync_action,\nhowever due to and inverted test, that always given EINVAL.\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": "5dc5cf7dd2723430b6df3d91c5b22af49e063622",
      "tree": "f0c3575c153a82173e030fbd5a3538b10ece4903",
      "parents": [
        "72b38d436e4cd18185de11f4b48a6e62eb104644"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 20 02:43:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Apr 20 07:54:04 2006 -0700"
      },
      "message": "[PATCH] md: locking fix\n\n- fix mddev_lock() usage bugs in md_attr_show() and md_attr_store().\n  [they did not anticipate the possibility of getting a signal]\n\n- remove mddev_lock_uninterruptible() [unused]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-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": "4508a7a734b111b8b7e39986237d84acb1168dd0",
      "tree": "8fe535fbb97d619c9069da26367ead03d1a294aa",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 20 17:53:53 2006 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 11:41:24 2006 -0700"
      },
      "message": "[PATCH] sysfs: Allow sysfs attribute files to be pollable\n\nIt works like this:\n  Open the file\n  Read all the contents.\n  Call poll requesting POLLERR or POLLPRI (so select/exceptfds works)\n  When poll returns,\n     close the file and go to top of loop.\n   or lseek to start of file and go back to the \u0027read\u0027.\n\nEvents are signaled by an object manager calling\n   sysfs_notify(kobj, dir, attr);\n\nIf the dir is non-NULL, it is used to find a subdirectory which\ncontains the attribute (presumably created by sysfs_create_group).\n\nThis has a cost of one int  per attribute, one wait_queuehead per kobject,\none int per open file.\n\nThe name \"sysfs_notify\" may be confused with the inotify\nfunctionality.  Maybe it would be nice to support inotify for sysfs\nattributes as well?\n\nThis patch also uses sysfs_notify to allow /sys/block/md*/md/sync_action\nto be pollable\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "926ce2d8a7d446c720faec9d8c5105eeb04bcf7a",
      "tree": "3dd393c2d254a0bd151b00214d4e85b1bd833838",
      "parents": [
        "6b1117d50543e2484bee037ec2589fe52492a7e7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Mar 31 02:32:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] md: Remove some code that can sleep from under a spinlock\n\nAnd remove the comments that were put in inplace of a fix too....\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": "df5b89b323b922f56650b4b4d7c41899b937cf19",
      "tree": "d1578782a9d763174474fe2db08f4ce4c6dc6218",
      "parents": [
        "48c9c27b8bcd2a328a06151e2d5c1170db0b701b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:03 2006 -0800"
      },
      "message": "[PATCH] md: Convert reconfig_sem to reconfig_mutex\n\n... being careful that mutex_trylock is inverted wrt down_trylock\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": "48c9c27b8bcd2a328a06151e2d5c1170db0b701b",
      "tree": "804fb1c410e0a246c92105710f1cd22a9daa8edc",
      "parents": [
        "2f889129de148b0ba2e1fbc9e9d33a4ef4c5f2cb"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Mar 27 01:18:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:03 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/md\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: 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": "8ddeeae51f2f197b4fafcba117ee8191b49d843e",
      "tree": "f18b93cd8d9122dcf9a59cc9ff63d75be146bb11",
      "parents": [
        "f6344757a92e5466bf8c23a74ee8f972ff35cb05"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:03 2006 -0800"
      },
      "message": "[PATCH] md: Fix md grow/size code to correctly find the maximum available space\n\nAn md array can be asked to change the amount of each device that it is using,\nand in particular can be asked to use the maximum available space.  This\ncurrently only works if the first device is not larger than the rest.  As\n\u0027size\u0027 gets changed and so \u0027fit\u0027 becomes wrong.  So check if a \u0027fit\u0027 is\nrequired early and don\u0027t corrupt it.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.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": "e464eafdb4400c6d6576ba3840d8bd40340f8a96",
      "tree": "0c3f4003c883264ee08300c02007f06e4d1ebb91",
      "parents": [
        "16484bf59634e25d1299761e5ed8bacf22bc6368"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:02 2006 -0800"
      },
      "message": "[PATCH] md: Support suspending of IO to regions of an md array\n\nThis allows user-space to access data safely.  This is needed for raid5\nreshape as user-space needs to take a backup of the first few stripes before\nallowing reshape to commence.\n\nIt will also be useful in cluster-aware raid1 configurations so that all\ncluster members can leave a section of the array untouched while a\nresync/recovery happens.\n\nA \u0027start\u0027 and \u0027end\u0027 of the suspended range are written to 2 sysfs attributes.\nNote that only one range can be suspended at a time.\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": "16484bf59634e25d1299761e5ed8bacf22bc6368",
      "tree": "f11f049f5b60d766c402937bbb72c288a454ba4a",
      "parents": [
        "63c70c4f3a30e77e6f445bd16eff7934a031ebd3"
      ],
      "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: Make \u0027reshape\u0027 a possible sync_action action\n\nThis allows reshape to be triggerred via sysfs (which is the only way to start\nit 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": "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": "292695531ae4019bb15deedc121b218d1908b648",
      "tree": "fb205eae13c3f3410f6ea44557b1c96b075a4d44",
      "parents": [
        "ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Final stages of raid5 expand code\n\nThis patch adds raid5_reshape and end_reshape which will start and finish the\nreshape processes.\n\nraid5_reshape is only enabled in CONFIG_MD_RAID5_RESHAPE is set, to discourage\naccidental use.\n\nRead the \u0027help\u0027 for the CONFIG_MD_RAID5_RESHAPE entry.\n\nand Make sure that you have backups, just in case.\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": "ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e",
      "tree": "0c86fe6ba0f0bafd76f86f81b7425d6d497664aa",
      "parents": [
        "7ecaa1e6a1ad69862e9980b6c777e11f26c4782d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Core of raid5 resize process\n\nThis patch provides the core of the resize/expand process.\n\nsync_request notices if a \u0027reshape\u0027 is happening and acts accordingly.\n\nIt allocated new stripe_heads for the next chunk-wide-stripe in the target\ngeometry, marking them STRIPE_EXPANDING.\n\nThen it finds which stripe heads in the old geometry can provide data needed\nby these and marks them STRIPE_EXPAND_SOURCE.  This causes stripe_handle to\nread all blocks on those stripes.\n\nOnce all blocks on a STRIPE_EXPAND_SOURCE stripe_head are read, any that are\nneeded are copied into the corresponding STRIPE_EXPANDING stripe_head.  Once a\nSTRIPE_EXPANDING stripe_head is full, it is marks STRIPE_EXPAND_READY and then\nis written out and released.\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": "ad01c9e3752f4ba4f3d99c89b7370fa4983a25b5",
      "tree": "856868aa97332d6d15d4cad412e0ebe3576bb571",
      "parents": [
        "b55e6bfcd23cb2f7249095050c649f7aea813f9f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:18:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:45:01 2006 -0800"
      },
      "message": "[PATCH] md: Allow stripes to be expanded in preparation for expanding an array\n\nBefore a RAID-5 can be expanded, we need to be able to expand the stripe-cache\ndata structure.\n\nThis requires allocating new stripes in a new kmem_cache.  If this succeeds,\nwe copy cache pages over and release the old stripes and kmem_cache.\n\nWe then allocate new pages.  If that fails, we leave the stripe cache at it\u0027s\nnew size.  It isn\u0027t worth the effort to shrink it back again.\n\nUnfortuanately this means we need two kmem_cache names as we, for a short\nperiod of time, we have two kmem_caches.  So they are raid5/%s and\nraid5/%s-alt\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"
    }
  ],
  "next": "4588b42e9d0d0904a745c96cead66506c75bae21"
}
