New commits on branch upstream

Martin F. Krafft madduck at alioth.debian.org
Fri Jul 29 13:39:23 UTC 2011


URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cd9d1ac71536a2f73b241ccadb8d68c1370025ca
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Jul 19 06:52:29 2011 +1000

    imsm: fix default chunk in the !orom case
    
    Set a valid default in the !orom case, otherwise we segfault, or
    otherwise fail.
    
    Cc: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca0748fa494425dc025441a8622088126e25e61d
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jul 14 15:42:10 2011 +1000

    imsm: getinfo_super_imsm_volume() doesn't fill all disk information
    
    getinfo_super_imsm_volume doesn't correctly set info.disk fields
    because it doesn't know which disk to set them from.
    It should be the last disk passed to add_to_super.
    
    So add a field 'current_disk' to record this disk in add_to_super, and
    use it in getinfo_super.
    
    This allows us to remove a hack in Create.c
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=19986c721c9ac4b353c8592998d70d0dc8860bfd
Author: Milan Broz <mbroz at redhat.com>
Date:   Thu Jul 14 13:58:36 2011 +1000

    mdadm: fix build failures (ppc64)
    
    This patch fixes these build issues:
    
    super-intel.c: In function 'getinfo_super_imsm_volume':
    super-intel.c:2327:4: error: format '%llu' expects argument of type 'long long
    unsigned int', but argument 3 has type '__u64' [-Werror=format]
    
    super-intel.c: In function 'imsm_reshape_super':
    super-intel.c:8665:7: error: 'devnum' may be used uninitialized in this function [-Werror=uninitialized]
    
    Signed-off-by: Milan Broz <mbroz at redhat.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=664d53258de31362475b43658add0ebcf95be168
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jul 13 12:38:50 2011 +1000

    super-intel: fix buffer overflow in detail-platform.
    
    The serial number is not necessarily nul terminated, so we need to be
    sure to only use the allowed number of chars.
    
    Signed-off-by: NeilBrown <neilb at suse.de>
    Reported-by: Arvin Schnell <aschnell at novell.com>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1e49aaa0696e843d5ec0ae6709558e0fe51afc06
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Fri Jun 24 13:26:50 2011 +0900

    md.4: fix possible typos
    
    Signed-off-by: Namhyung Kim <namhyung at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2f48b33d1d7da25cd54edf32edeb0a59a7f75f43
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Fri Jun 24 13:26:49 2011 +0900

    mdmon.8: fix possible typos
    
    Signed-off-by: Namhyung Kim <namhyung at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2d3603ba0cb497429d2841d2fb4a5e36879e808b
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jun 23 12:06:47 2011 +1000

    Show DELAYED, PENDING status of resync process in "--detail"
    
    Initially there is no proper translation mdstat's DELAYED/PENDING processes
    to "--detail" output.
    For example, if we have recover=DELAYED in mdstat, "--detail"
    shows "State: recovering" and "Rebuild Status = 0%".
    It was incorrect in case of process waiting on checkpoint different
    than 0%. In fact rebuild status is differnt than 0% and user is misled.
    
    The patch fix the problem. Current "--detail" command shows
    in the exampe: "State: recovering (DELAYED)" and no information
    about precentage.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c281a8041977cdd4bd7eaed4e1fbead50b5640e6
Author: Andrew Burgess <aab at cichlid.com>
Date:   Thu Jun 23 11:48:03 2011 +1000

    mdadm --detail was incorrect for shrinking reshapes
    
    Since info->delta_disks is signed it doesn't need to be special-cased.
    
    This allowed my 9->8 reshape to display correctly instead of as 8->7
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c0672664bffbca34f2c38ad25e4321d70e6845c1
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Thu Jun 23 11:40:14 2011 +1000

    .gitignore: ignore mdadm.8 file
    
    mdadm.8 is auto-generated from mdadm.8.in, so ignore it.
    
    Signed-off-by: Namhyung Kim <namhyung at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cb77f620767b98e1c508484b2671303d6fa14b55
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Thu Jun 23 11:40:10 2011 +1000

    mdadm.8: fix possible typos
    
    Fix random typos and add a few of missing words/macros.
    Also update RAID website URL as it is not accessible anymore.
    
    Signed-off-by: Namhyung Kim <namhyung at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3c7efacb7d4b9a54f0c1e24a50bb1099612e3e5b
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Wed Jun 22 01:19:03 2011 +0900

    mdadm.8: move description of --add under Grow mode
    
    It is supposed to be under Grow mode. Since Create/Build/Grow modes
    use common options and '-a' is already used for '--auto' in Create/
    Build modes, describe it to avoid confusion.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6cbf8fb8c164fa141cf3c097b2b8f61f923b0c23
Author: Namhyung Kim <namhyung at gmail.com>
Date:   Wed Jun 22 01:19:02 2011 +0900

    mdadm.8: change linux version 2.6.40 -> 3.0
    
    Signed-off-by: Namhyung Kim <namhyung at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f161d047eed634b3380262767f955eb888502e88
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jun 17 22:49:24 2011 +1000

    util: correctly parse shorter linux version numbers.
    
    The next version of Linux might be 3.0.  If it is, get_linux_version
    will fail.
    So make it more robust.
    
    Reported-by: Namhyung Kim <namhyung at gmail.com>
    Reported-by: Milan Broz <mbroz at redhat.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ef799cdd6968db25b3a3ea5d7d4e920391ec640a
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jun 17 15:15:37 2011 +1000

    Release mdadm-3.2.2
    Stability release

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b787bec6bd0ef74a65cc4fab28496996e4a3c12b
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jun 17 14:48:33 2011 +1000

    Don't index past the end of 'best' array in Assemble.
    
    The 'best' array only has 'bestcnt' entries allocated, so 'i' should
    always be "< bestcnt", not "<= bestcnt".
    
    Reported-by: "Lawrence, Joe" <Joe.Lawrence at stratus.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=73e658d8ccf2ac73d795866e1b568f04cf8ee565
Author: Luca Berra <bluca at comedia.it>
Date:   Fri Jun 17 14:41:01 2011 +1000

    Improvements to GPT reading code.
    
    looking at the gpt code in util.c i found i did not like it at all, a
    gpt partition entry is currently 128 bytes, but the spec does not say it
    is a fixed value, so the code that reads into a buffer with 512bytes
    chunk expecting this to be a multiplier of part_size is imho incorrect.
    my fix was to read each partition entry directly into a struct
    GPT_part_entry, the advantage is that the code is very simple to read,
    the disadvantage it is 128 reads of 128 bytes each, which is
    sub-optimal, but i believe readahead will mitigate this a lot.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3b7e9d0cbeb91d8567a229f26326ec77053b90a2
Author: Luca Berra <bluca at comedia.it>
Date:   Fri Jun 17 14:38:14 2011 +1000

    Fix some type-aliasing issues.
    
    Warnings for these are reported with -Wstrict-aliasing=2, and
    avoiding the cast is certainly an improvement.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e4c72d1dc69e576ca97163a3d4f44394e9bdd3ed
Author: Luca Berra <bluca at comedia.it>
Date:   Fri Jun 17 14:35:06 2011 +1000

    Fix some compiler warnings.
    
    Original by Luca, with various changes by Neil
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9e2d750d4c3a293db18115e255cc029d542f2528
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jun 16 17:13:50 2011 +1000

    Various fixes so that "make everything" works.
    
    In particular: protect some stuff from MDASSEMBLE and report and error
    from 'write'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4ccc2562ac8dd836cdb881c88a080441c5abd172
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jun 16 14:18:18 2011 +1000

    More fixes for tests.
    
    Some more fixes to help some tests run properly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=af538d59c184b210cb6988fabeb1826939afe334
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 16:30:12 2011 +1000

    test/ddf  add a udevadm settle
    
    We need to settle udev before assuming the devices exist.
    
    Signed-off-by: NeilBrown <neilb at suse.de

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=67480d7593fa90665a08693c00da533a292b4ab2
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 16:30:09 2011 +1000

    Remove more duplicated code
    
    Code from env-imsm-template is also in 09imsm-create-fail-rebuild,
    so remove it from there.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d338d8a8e038aa570396f9b7256fd4b3a97b9c76
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 16:06:57 2011 +1000

    tests/08imsm-overlap - remove duplicated code
    
    This test contains a lot of code that is also in env-imsm-template.
    So remove it and simple source the other.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fb204fb2e166774a8d8d1c73aa8362a6101d64fa
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 15:49:23 2011 +1000

    ddf: fix up getinfo_super_bvd
    
    Now that getinfo_super clears the info structure, we need
    to make sure the correct values are filled in to info->dev.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9ec11d1afd4abc303ec4a8ea25eea0cb155dcc8f
Author: Albert Pauw <albert.pauw at gmail.com>
Date:   Wed Jun 15 14:39:30 2011 +1000

    Remove compiler warning about signed/unsigned comparison.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=17f7da2f428a71470496ac3d9f5cb846a5564691
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 14:39:28 2011 +1000

    Fix imsm-overlap test.
    
    Now that we reserve space for migration buffer devices are a little
    bit smaller so we need to allow for that in the test suite.
    
    Also add a 'udevadm settle' - it seems to help
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=47c7a4be1436a8cae2fefc05bb227712d8b6f4ec
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 15 12:21:26 2011 +1000

    Incr: fix breakage in count_active.
    
    If the second device is much newer than the first, but has a lower
    raid_disk number, we clear 'avail' badly and don't set up
    'best' properly.
    
    Fix these things.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=19482bcc403cf785509a078dcb77f104a710b71d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 15:59:18 2011 +0200

    imsm: Metadata Attributes compatibility support
    
    IMSM's meta data contains Attributes field that contains information about
    supported features.
    To assembly an array mdadm has to support all features specified by attributes.
    
    The patch introduces new attributes support and validation of the attribuses
    during an array assembly.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f8b72ef517ea305f714230b0503f94ae5f1b8fa4
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 15 09:13:49 2011 +1000

    imsm: FIX: Sometimes reshape cannot be finished
    
    When array size is not aligned to copy area, number of migration unit
    is increased in init_migr_record_imsm():7665 to reshape whole array.
    During calculation of last migration unit, this should be in mind also,
    otherwise checkpoint (max-1) is always written and reshape
    is never finished in mdadm.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7534230b07cffa1cd74153a344090c1892fcebdc
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:48:58 2011 +1000

    imsm: FIX: klocwork: passed dev pointer to is_gen_migration() can be NULL
    
    Pointer dev2 passed in write_super_imsm():4451 can be equal to NULL.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7e45b5504c66d29b77c16f59dc4f8f0de72145ba
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:48:53 2011 +1000

    imsm: Fix: klocwork: targets variable can be used uninitialized
    
    When target_offsets allocation fails execution goes to abort label,
    where elements from targets table are closed.
    
    Initialize targets table after allocation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e1c1d4f4427c0b2bc61914930de55019fdd3dabd
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:46:53 2011 +1000

    imsm: FIX: Migration Raid0->Raid5 cannot be restarted correctly
    
    When array raid0 is migrated to raid5, reshape cannot be continued
    correctly due to wrong array parameters settings.
    Raid disks number is set too big.
    
    There is no need, during raid0->raid5 migration to increase
    info->array.raid_disks, it is already set to final value using
    designation map information.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d1877f697d8084755c80079bc3a8ee7f93788833
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:42:22 2011 +1000

    imsm: FIX: Raid5 data corruption data recovering from backup
    
    Sporadicaly when Raid5's data are restored from backup area,
    corruption occurs.
    It doesn't happen if reshape process is beyond critical section.
    
    Root cause of the problem is passing wrong starting point in
    restore_stripes(). It was hard coded to 0 so far.
    This causes that parity disks position in first stripe was always set
    to the last raid disk. This position should depend on data position in array.
    
    Proper start position was set and pointer for restoring data
    (copy area address) is adjusted to passed start parameter.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b66e591b145c84d59270410a34abcd5136caa24f
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:42:16 2011 +1000

    imsm: FIX: Disable automatic metadata rollback for broken reshape
    
    mdmon cannot rollback metadata changes automatically.
    It can break reshape process in the way that in case of reshape break
    user will not be able to deal with broken reshape due to lack of information
    about reshape geometry.
    
    mdadm (process that invokes reshape) doesn't make any rollback to allow
    for user action. mdmon should not do this either unless it knows for sure
    it is save. such knowledge is not available for automatic rollback.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=68eb8bc6cac325ed635dccd69b638bf1b46449ef
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:42:08 2011 +1000

    imsm: FIX: Use function to obtain array layout
    
    Function imsm_level_to_layout() should be use to get array layout.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=80e4abc99c7f5a16c56c1c4084bfad63aec03c01
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jun 14 12:42:06 2011 +1000

    FIX: Cannot create volume
    
    getinfo_super() can clear entire 'inf' structure before filling with new
    information. Disk number required later is lost.
    
    Restore disk number information after getinfo_super() call.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0de8d44ddeb80d73dcad8d28cf4c1e779f5c2040
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:56 2011 +1000

    MAN: Man update for check-pointing
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8016a6d42ecef8bff5b6f9d0020ae549e4324188
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:56 2011 +1000

    imsm: Optimize expansion speed when no backup is required
    
    When no reshape backup is required (e.g. OLCE after critical section),
    check-pointing can use bigger steps than backup space allows for.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a47e44fb966d8f212b589012686bba0d7b7fb0d9
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Remove timeout from wait_for_reshape_imsm()
    
    Timeout should not be used for select function in wait_for_reshape_imsm().
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ae9f01f89bb61537c0b65a095c1087d6ac3ec8a1
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: wait_for_reshape_imsm() cleanup
    
    This function needs to be corrected.
    It should check sysfs operations status and it should not interpret
    0 reshape position special meaning.
    
    Unused input parameter is removed also.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b2c59438169217eb1077f6cfddf2147a9c978588
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Do not continue reshape when backup exists
    
    When backup exists in copy area reshape cannot be continued.
    In such situation, array is in unstable state.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ccced3dc40a25c1bbfb6b998b273d02a9add0795
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    FIX: Move buffer to next location
    
    When no output file is given save_stripes() should collect amount of stripes
    in passed buffer. Currently all stripes are saved in the same area in passed
    buffer. This causes that last stripe is returned on buffer begin only.
    Increase buffer (buf) pointer when save_stripes() is about switch to next
    stripe operation. This allows for proper buffer filling as input parameter
    length directs.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a6b6d984e037a3424ce20e250d5e84a734ac7e90
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Remove unused variables and code
    
    Unused variables and code can be removed from imsm_manage_reshape()
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=befb629b0bbe7508b8c743f67bbcdf0fa3b3705b
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Move reshape_progress forward
    
    When array under reshape is assembled, reshape position used in sysfs_set_array()
    should be set to position after recovered from backup area.
    This avoids data corruption due to reshape the same array area again.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6c3560c0f2e16bafa2899cd1ca4df78ba9512170
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Detect failed devices during recover_backup_imsm()
    
    Detect in recover_backup_imsm() if not opened disks number is smaller
    than allowed degradation for given raid level. This allows for reshape restart
    on degraded array.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ab724b9862d7a8c4d85ed4b19be87ba9768a2432
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Use metadata information for restore_stripes() and save_stripes()
    
    For raid0 reshape imsm uses degraded raid4 for this operation.
    Using real raid level (raid0) for stripe calculation causes no need
    for parity calculation and can speed up reshape process.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aea9317117f143bb7a7cc09173a87aa75bf7e0d3
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Remove unused parameter from save_backup_imsm() interface
    
    new_data parameter is not used in save_backup_imsm().
    It is removed from function interface.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=92144abfbe2a3a80ff41e29f903e544f78bb2481
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Do not use pba_of_lba0 for copy position calculation
    
    imsm_manage_reshape() should not shift start copy position.
    This offset is passed to manage reshape function /and it is used/
    as input parameter in offsets table already.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1ab242d891e639f756a8f3be678e68d7d3d5b55d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Do not verify unused parameters
    
    Parameters that are not used by imsm_manage_reshape() should not cause
    failure of this function.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=75b69ea42012c2e0b052459ed81678845bec3399
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Calculate backup location based on metadata information
    
    Use metadata information to calculate backup write offset.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7b1ab482f6d68f30b8d05a3d1c30d1202d67c70c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Use macros to data access
    
    Metadata fields has to be accessed using proper macros.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e13ce846aa4b01475640cbf63650fa775c82cac6
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Check layout for level migration
    
    When user doesn't specify raid 5 layout for raid0->rai5 migration,
    layout structure member is uninitialized. Earlier it cannot be determined
    if it is correct or not.
    In metadata handle proper verification is placed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3ef4403cf63ea353c37fb34cf366ad1a0d146269
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Max position could not be rounded to MB
    
    When rounded array size information from metadata is used for number
    of migration units calculation it can occurs that result of units
    can be smaller (-1) than required due to used (rounded) array size).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0228d92ca3bf1b6a8b2d6d5aef9bb64d82d103fe
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:55 2011 +1000

    imsm: FIX: Detect migration end during migration record saving
    
    Checkpoint should be saved when migration is in progress only.
    End of reshape (based on passes status) should be detected and it should
    not cause abort of reshape/check-pointing/ operation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2e062e82102a5ee6c430e036a59071b9f1a5c475
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:54 2011 +1000

    imsm: FIX: Verify if migration record is loaded correctly
    
    Migration compatibility can be checked when general migration record
    is present.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6b7a407dceb603d62f8f650b9753fb35afa72b47
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jun 9 13:00:54 2011 +1000

    imsm: FIX: Opened handle is not closed
    
    Opened file handle should be closed before function exit.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c071a1cd8d2004839837bdf6521cb4e1e35c45ce
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jun 9 13:00:46 2011 +1000

    restripe: fix compile error in stand-alone program.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9894ec0d64a9faab719d016bbbf5fbc842757df6
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jun 9 12:42:02 2011 +1000

    Fix some fall-out from recent memset-zero for getinfo_super
    
    container_content_imsm was setting info->next before calling
    getinfo_super_imsm_container which now zeros everything.
    So move that assignment to afterwards.
    
    So both imsm and ddf were assuming info->disk.raid_disk means
    something but it doesn't.  So fix those.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6820c9ab02c77bb3d61c01d3064df1ae9b6883a1
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:15:04 2011 +1000

    imsm: Unit Tests - remove backup-file during grow command
    
    Update reshape/migration unit tests to not to use backup file.
    Imsm native check-pointing has to be used (internally) instead.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=480be363367db46ae6b87379350467601fa2965e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:14:33 2011 +1000

    imsm: Remove user warning before reshape start
    
    imsm's arrays supports imsm native check-pointing now.
    User warning is no longer required.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=13c37ad3f37a95d66cf66d3b3eaffa3ecacac106
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:13:30 2011 +1000

    Do not use backup file for external metadata
    
    When external metatdata handler supports manage_reshape()
    and recover_backup() functions in super switch backup file is not required
    and can be omitted. For backup purposes metadata specific mechanisms
    are used.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e919fb0af245512b02200b8e78c8bbbc0f966f9c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:13:26 2011 +1000

    FIX: Enable metadata updates for raid0
    
    When raid0 is takeovered to degraded raid4, metadata updates has to be
    applied via mdmon (raid4 has to be monitored).
    It is not possible due to no update_tail pointer initialization
    in supertype structure.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0ec5d470e00787e9b03ba3a880b1b98e0da034cd
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:13:21 2011 +1000

    imsm: Apply checkpoint metadata update for general migration
    
    mdmon has to update checkpoint information in metadata during
    general migration according to received metadata update.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c17608eac3cfd3aca667e971ece2511fda8785af
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:12:48 2011 +1000

    imsm: Prepare checkpoint update for general migration
    
    mdadm has to prepare checkpoint information update and send it to mdmon.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2d40f3a132ac438b15eaab275a93b6869bbca16d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:12:39 2011 +1000

    imsm: Add metadata update type for general migration check-pointing
    
    There are 2 places for keeping checkpoint information:
    - metadata (per volume information used during volume
      initialization and rebuilding).
    - migration record (per container information used during
      migration/reshape)
    
    During reshape both checkpoints has to contains the same information.
    To do this mdadm will send metadta update with checkpoint information.
    
    Note: Checkpoint information consistence is not critical. During general
          migration restart, information from migration record is used only.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5b83bacff6e27bd967858925a24044285c655251
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:11:49 2011 +1000

    imsm: Disable checkpoint updating by mdmon for general migration
    
    imsm contains 2 check-pointing mechanism. One (per array) is used for
    initialization and rebuild and second (per container) is used for general
    migration (reshape). First is controlled by mdmon, second by mdadm.
    To avoid conflicts disable mdmon checkpoints updating for general
    migration.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=276d77db1fd65eba4ef183635305e9ff297a6ce5
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:11:23 2011 +1000

    imsm: Implement recover_backup_imsm() for imsm metadata
    
    Add ability to restore data backed up in General Migration Copy Area
    in case of unexpected reshape interruption.
    Function restores data during an array assembly and then reshape
    is continues from next checkpoint.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ba53ea59adab4d08bb8ac1e15b39a9389ba26950
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:11:11 2011 +1000

    Add reshape restart support for external metadata
    
    Patch introduces support for reshape process restart for external metadata
    using metadata specific data handling methods.
    It introduces recover_backup() function that restores array to stable state
    It is equivalent to Grow_restart() functionality for native metadata.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c47b0ff69a50d6b74e3ad39e31826b5b90b370df
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:09:50 2011 +1000

    imsm: update blocks_per_migr_unit() to support migration record
    
    blocks_per_migr_unit() has to use information from migration record
    for general migration case. This causes to pass intel_super pointer
    to this function and some other interfaces changes.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=520e69e25cb028bc2ef364d468e0c41e06dec7c1
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:09:29 2011 +1000

    imsm: Add information about migration record to mdadm '-E' option
    
    Add ability to display information from migration record in examine
    option.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=146c6260370c9626330425fe9750bfb70b235dd6
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:09:16 2011 +1000

    imsm: Clear migration record when no migration in progress
    
    When metadata is saved and there is no general migration in progress
    /in container/ clear migration record in container.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b915c95fd3c37698b7e240b00830dbc0d576c16c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:09:09 2011 +1000

    imsm: Check if array degradation has been changed
    
    Before reshaping every "migration unit", check if array is still usable.
    In failed disks number is greater than allowed degradation level, reshape
    has to be aborted.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=10f228541c9ab498301cdbc7b4773819191e5168
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:09:08 2011 +1000

    imsm: Implement imsm_manage_reshape(), reshape workhorse
    
    Before reshape is started, mdadm should check again if there is only one
    array (in container) under reshape. Then function "divides" array in to
    "migration units" that can fits migration copy area and enters main loop.
    It checks if current "migration unit" requires to be backed up.
    If necessary mdadm saves it to copy area and updates migration record.
    Then MD-driver is directed to perform reshape step (by "migration unit" size)
    and checkpoint is moved forward. In this way reshape is executed until
    array ends.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eee67a47f26285b9b64c3c268dd422a0efa883a5
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 17:07:10 2011 +1000

    imsm: Add wait_for_reshape_imsm() implementation
    
    After each checkpoint mdadm should set new reshaped area and wait
    until md finishes reshape. Function wait_for_reshape_imsm() sets
    new reshape range and waits for job completion.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=90b60dfa48592e0118065060e91c8c498075a344
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 8 16:56:41 2011 +1000

    Grow: Add paranoid level checking to analyse_change.
    
    Just in case array.level is ever something that we don't expect, make
    sure we report an error clearly rather than get confused.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e2f41b2c6a8f97df211add545ed25b9e2bbb302b
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 16:46:37 2011 +1000

    imsm: check migration compatibility
    
    Under Windows IMSM can reshape arrays in 2 directions
    (ascending and decsending).
    Under Linux one (ascending) direction is supported at this moment.
    Block loading metadata when decsending reshape is detected
    
    Windows also uses optimalization area during reshaping array.
    Linux does not support it.
    The patch blocks this operation also.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=687629c2b25411c7fe299e0dbee2b7d146531a1e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 16:46:35 2011 +1000

    imsm: Add support for copy area and backup operations
    
    This patch adds methods of manipulating migration record:
    init_migr_record_imsm() - initiate migration record at the beginning of
         the reshape process
    write_imsm_migr_rec() - saves migration record to array.
         Migration record is stored on 2 first disks in array only.
    save_backup_imsm() - saves critical data stripes to Migration Copy Area
         and updates the current migration unit status.
         Uses restore_stripes() to format a destination stripe, and to write it
         to the Migration Copy Area.
    save_checkpoint_imsm() - Updates the current unit status in the
         migration record.
    
    Migration record is written to 2 first array disks only (similar to reading
    operation).
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=afbbf073eda5a4a9f7a67d4dd890c3c6af44fb83
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 16:28:40 2011 +1000

    Define dummy functions to mdmon.c
    
    Definitions are necessary to compile mdmon.
    Metadata specific source code is compiled to mdmon.
    Functions used for reshape check pointing:
    - restore_stripes()
    - save_stripes
    - abort_reshape
    are not used in mdmon, but they are compiled in it.
    To enable mdmon compilation, dummy functions are used.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2fcb75aea1378acb22c3ecacb7dfdafe093104fe
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 16:24:48 2011 +1000

    Support restore_stripes() from the given buffer
    
    For external metadata backup location and saving methods depends
    on metadata specific implementation details. Currently restore_stripes()
    function is able to restore data only from the given backup file handles
    and it is used only for assembling partially reshaped arrays.
    As this function will be very helpful for external metadata backup
    mechanism, add the support for restoring data from the given source buffer.
    Add possibility for save_stripes() to work without designation targets.
    Save_stripes() can now prepare data for restore_stripes() only.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8e59f3d88286e3c782a561e8179f5a8a702db2a0
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jun 8 16:19:06 2011 +1000

    imsm: Add migration record to intel_super
    
    IMSM for securing reshape process uses special disk area outside metadata
    for reshaped area backup purposes. If just reshaped array area requires
    backup, bunch of array stripes prepared for reshape is stored in to
    Migration Copy Area. In case of reshape interruption, Option ROM during
    restart or mdadm during reshape restart (when no reboot occurs) will
    restore Migration Copy Area to designation array. Reshape can be
    continued from stable array stable state.
    
    This patch adds support for IMSM migration record structure.
    IMSM migration record is stored on the first two disks of IMSM volume
    during the migration.
    
    Add function for reading migration record, so mdadm can read (if present)
    migration record. Migration record has to be cleared every time
    MIGR_GEN_MIGR is started.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=95eeceeb32775bffd06771c81c3dee547af0d62f
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jun 8 15:54:13 2011 +1000

    getinfo_super now clears the 'info' structure before filling it in.
    
    Some code currently clears 'info' before calling getinfo_super,
    some code doesn't.
    
    To be consistent, change it so no caller ever clears 'info',
    but ever getinfo_super function must clear it.
    
    Note that ->raid_disk may be meaningful if that 'map' is passed
    non-NULL.  In that case it is copied out before the structure
    is zeroed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=58b3c6976a61ed5481d3b67548b4f2fe43b86165
Author: NeilBrown <neilb at suse.de>
Date:   Mon May 23 17:21:37 2011 +1000

    Restore ability to create imsm array from specific devices.
    
    A recent change to improve error messages make it not possible to
    create an array from devices that are 'busy'.  However if they are
    made busy by a container, then the create should be allowed.
    
    So move one of the error messages later.
    
    Reported-by: "Wojcik, Krzysztof" <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3d9d18808772219ee44cae4bf413e7e0b3e3ab30
Author: NeilBrown <neilb at suse.de>
Date:   Mon May 23 17:21:36 2011 +1000

    Remove unused variable 'superrno' in Query.c
    
    This variable hasn't been used for 5 years!
    
    Reported-by:  Mathias Burén <mathias.buren at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9e6d9291275267d3fd4b6d85d7232081f89cd8e2
Author: NeilBrown <neilb at suse.de>
Date:   Mon May 23 17:21:35 2011 +1000

    Check all member devices in enough_fd
    
    The loop over all member devices in enough_fd could easily stop
    before it had found all devices.  This would cause --re-add to
    fail incorrectly.
    
    So change the loop to be based on the reported number of devices
    in the device - with a safe-guard limit of 1024.
    
    Change some other loops to be more careful too.
    
    Reported-by: "Schmidt, Annemarie" <Annemarie.Schmidt at stratus.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f4db7a6f3c3b9a0701f3063b287b7cb59ccecd07
Author: Michal Marek <mmarek at suse.cz>
Date:   Tue May 17 11:08:16 2011 +1000

    mdmon: Fix crash if /proc/mdstat lists 0.9 superblocks
    
    Signed-off-by: Michal Marek <mmarek at suse.cz>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8d8ab389a0ea4de7d2fd3bd0c20c34548cc53971
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Sun May 15 21:15:15 2011 +0200

    RAID-6 check standalone suspend array
    
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ce52f92f047a1d95246b20c091e2cc342af919bf
Author: NeilBrown <neilb at suse.de>
Date:   Mon May 16 17:28:27 2011 +1000

    Grow: accept --assume-clean with --grow --size
    
    When an array is resized to have larger members, --assume-clean will
    disable any resync if the kernel supports it (2.6.40 and later).
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ab80e597bae3df0209135a4130c93f57d5eb3e34
Author: NeilBrown <neilb at suse.de>
Date:   Wed May 11 13:43:27 2011 +1000

    Create: add error checking for 'write_init_super'.
    
    If this fails, we really must fail the whole 'create'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e9b11feec86972ee9a1afab4b6fb63d93221484b
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 17:58:41 2011 +1000

    Create: give better error message if member device unusable.
    
    Rather than just saying "unusable", report if device is busy
    or is no a block device.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a252c078142d938b716f8c8e9c5866bedb630a18
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 17:35:41 2011 +1000

    Create: allow chunksize to be non-power-of-2.
    
    RAID0 has accepted chunksizes that are not a power of 2 since 2.6.30.
    So it time mdadm allowed that to be used.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=dec18cae724516353ef911f5bed6c3bfee5845f1
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 16:30:40 2011 +1000

    Give suitable error for mdadm /dev/md0 --stop
    
    Options like --stop must come before the device that is being
    stopped.  If (in --misc mode) a  device does not have an option,
    nothing will be done to it, which can be confusing.
    So report an error in this case.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=873eec468c0b1b32332b5e4dd6b31e878e0e60e0
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 16:20:25 2011 +1000

    Manage: minor fix to add/re-add handling.
    
    If using an old kernel we should still check if a re-add might be
    intended, so we can refuse and require a '--zero' first if it is not
    possible.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f23aa88f81127eae744d60eedd4884f021562d0
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 16:17:12 2011 +1000

    config: restore the possibility of a NULL homehost
    
    As homehost defaults to the system name it is not possible to specify
    a NULL homehost.
    
    This patch restored this ability with either --homehost="" or
    --homehost="<none>".
    
    This allows the creation of v1.x arrays without a "hostname:"
    prefix in the name.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=815c8a7e0b11b69331211b59b880ba50f3ed2b5e
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 13:09:37 2011 +1000

    Grow: allow auto-readonly arrays to be reshaped.
    
    In an array is auto-readonly then a reshape will not start.
    But auto-readonly is only wanted until something is explicitly
    done to acknowledge that the array is really wanted.
    So it is perfectly correct to switch an auto-readonly array to
    'clean' if a reshape has been requested.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=621ea11b58562fff53d75fc343727c8007edba77
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 12:53:51 2011 +1000

    Grow: handle abort/restart of grow while being monitored.
    
    If a device fails while the grow is being monitored but the array is
    still functional, the Grow will appear to abort and then almost
    instantly restart from where it was up to.
    
    So if it appears to abort, wait up to 10 seconds for a restart (it
    should be much much less than this.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=907ea753259bd515cf24e88bbaab85a742d36bde
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 12:09:02 2011 +1000

    Grow: restore ability to configure 'faulty' arrays via mdadm.
    
    The big 'grow' refactor lost us the ability to configure 'faulty'
    arrays through --grow.
    So put that back as a special case.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=85f102879f02b9e377d19c77670fa7652ebdbe7a
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 11:56:38 2011 +1000

    Grow: report if a --size change has no effect.
    
    e.g. if "--grow --size=max" doesn't actually change anything, it is
    useful to report that.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d515d27f6045ec6d20d74991266f003e3aaba6a4
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 11:49:57 2011 +1000

    Grow: check if any changes needed before proceeding to analyse_change.
    
    Analyse_change can give unhelpful error messages if nothing was
    changed.  This is particularly awkward when only changing --size.
    
    So check and re-introduce a message that was list in commit
    5da9ab9874cb
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d1537ed19201222cf73bc55f844f100f1a70f6cb
Author: NeilBrown <neilb at suse.de>
Date:   Tue May 10 10:44:00 2011 +1000

    Grow: When setting component size make sure components are ready.
    
    If you change the size of a member of an array (e.g. it might be a
    dm device that can be resized, or on a smart storage device), md
    doesn't notice and so the space cannot be used without explicitly
    telling md that the device is bigger.
    
    This change causes "mdadm --grow --size=...." to make sure each
    component device is making at least that much space available if it
    can.
    
    Normally usage of "--size=max" will cause all devices to make max
    space available, the md will use as much as it can of that.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4bba04392170133ea3c9ae5ea54494288767efb4
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed May 4 17:13:22 2011 +0200

    imsm: add new chunk size to metadata update
    
    Put information about new chunk size change in to migration metadata
    update allowing simultaneous level change and re-striping.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a29911dac14c9a38a5c9cd3eeb17b852918cc3ab
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed May 4 17:12:48 2011 +0200

    imsm: process update for raid level migrations
    
    Received update and prepared memory is processed to update imsm metadata.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bc0b9d34968b5f681ab91ddbc27dbe5995aaa695
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed May 4 17:12:14 2011 +0200

    imsm: prepare memory for level migration update
    
    When level is changed from raid0 to raid5 memory is required for replace device
    smaller device/array object.
    This memory is allocated in manager context in prepare_update()
    
    Prepare_update() is called in manager context so memory allocation are
    allowed here. This allows us to look for spare devices for meta update.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c7958710e7ddd33914614cb73f52fd3e166e2877
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed May 4 17:11:41 2011 +0200

    imsm: fix: disable migration from raid5->raid0
    
    it is not supported yet, so start such transition is improper.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=48c5303aff71dcd60f1ba42d72dafb926ce8f4d8
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed May 4 17:11:07 2011 +0200

    imsm: prepare update for level migrations reshape
    
    Introducing raid0->raid5 level migration metadata update structure
    is prepared for future use.
    
    Adding spare device is required to hold additional raid5 parity.
    Mdadm just checks for spares, but it is not included in update.
    If there are no spares available, abort. Otherwise we will create
    degraded array what should be not allowed.
    Mdmon will decide what spare device is used for parity.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bfd80a56774f29661e5471b9c36e563fadace90f
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon May 2 16:12:03 2011 +1000

    imsm: FIX: Do not write check-point '0'
    
    When 2 arrays are configured in container and arrays are reassembled during
    rebuild or initialization, checkpoint for one array can be reset. It depends
    on arrays assembly order.
    
    Scenario:
    1. Create 2 arrays (e.g. raid5)
    2. Add spare to container
    3. Degrade arrays /rebuild starts on array #1 and continues to n%/
    4. Reassembly arrays
    5. Rebuild starts on array #2 /because of assembly order/ from 0%
    6. On first checkpoint stored for array #2 (non 0 value), checkpoint
       for array #1 is cleared /it is delayed rebuild in md, so progress is 0/
    7. Rebuild on #1 starts from n% /it was configured before checkpoint
       was cleared/.
    
    Any next reassembly during rebuild of #2 array (after p.6) causes
    checkpoint information lost for array #1.
    
    Solution is not store checkpoint for progress == 0.
    Checkpoint is set to 0 when rebuild/initialization starts.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7e90264df5060cd308ce56206ec7dfa29e2aa041
Author: NeilBrown <neilb at suse.de>
Date:   Wed Apr 27 09:58:49 2011 +1000

    Finally remove auto-home-host
    
    This was #if-ed out for 3.0, but it really should go.
    Gcc 4.6.0 complains that auto_update_home is set but not used
    (which is true).
    
    Reported-by: Tobias Powalowski <t.powa at gmx.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=384e9be1330c29b40559f85dd0e6124bd0dfa535
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Apr 19 17:25:43 2011 +1000

    FIX: Check correctly raid disks during reshape restart
    
    During reshape restart info->array.raid_disks contains new raid_disks number
    It cannot be compared against old disks number. Such check will always fail.
    
    Check raid disks array field against final disks number for restart.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7af0334155f43fc80da92cb35a37cd000ad2c56c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Apr 18 10:31:43 2011 +1000

    FIX: Count correctly added devices
    
    When array is in reshape state raid_disks field contains final disks number.
    To know how many disks were added, disk.raid_disk index has to be compared
    against old disk number computed using delta_disks.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a5062b1cb6ad51ebaa1f8b60e1cfe5408dbf17d7
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Apr 18 10:31:15 2011 +1000

    FIX: Set proper raid disks during migration
    
    During migration raid_disks field contains new disks number now.
    It should be set old disks number first and then new disks number
    to allow md to calculate e.g. delta_disks parameter.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=178b8f353c4b4ffdf3bd4cd8c9dde37f64097da8
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Apr 18 10:31:06 2011 +1000

    FIX: Fiddle raid_disks number when restarting reshape
    
    When restarting a reshape, the value of 'raid_disks' is the *new*
    value.  The old value is found by subtracting delta_disks.
    So before calling analyse_change we must set raid_disks to be the
    old value, and then reset it afterwards.
    
    All other fields are cleanly separated with the main field being
    the 'old' value and a new_* field available.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cd0430a17cddf5a05483f42a45cb791aab285ed0
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Apr 15 12:30:31 2011 +0200

    FIX: Always report new raid_disks during migration
    
    To behave in the similar way as native metadata during migration,
    new raid disks number has to be reported by metadata handler.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=77f8d358b574797453299ca9a3094b02552d02de
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Apr 14 17:50:17 2011 +1000

    FIX: Use successfully loaded metadata only
    
    Values greater than 0, means error. We exit from loop on error
    with empty super-block pointer when sd pointer is valid.
    This cannot be detected by check condition as error.
    For sure we shouldn't go forward with error condition.
    It leads to throwing exception with core file when metadata handler
    wants to access non existing super-block.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2cf311211179ba2456c8b73b0153c2afc6e401a5
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Thu Apr 14 17:28:31 2011 +1000

    RAID-6 check standalone fix component list parsing
    
    Fix the parsing of the component list, i.e. skipping the "spare" one.
    
    I also added a check in case the array is degraded.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4019ad07013a5d8618b867f724d1c4a13c5cb05d
Author: Jonathan Liu <net147 at gmail.com>
Date:   Tue Apr 12 18:28:01 2011 +1000

    Monitor: avoid NULL dereference with 0.90 metadata
    
    0.90 array do not report the metadata type in /proc/mdstat, so
    we cannot assume that mse->metadata_version is non-NULL.
    
    So add an appropriate check.
    
    This adds an additional check missed by commit
    eb28e119b03fd5149886ed516fa4bb006ad3602e.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b357ef43f926179b34fa3d9c78b96f1defd7e4b2
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Apr 11 15:00:13 2011 +1000

    FIX: Raid0 expansion cannot be restarted
    
    When raid0 expansion is restarted, mdadm refuses to correctly assemble
    array because critical section cannot be restored from backup file.
    mdadm exits with information:
    	mdadm: Failed to restore critical section for reshape - sorry.
    
    For raid0 new level is 0, current array level is 4.
    Function Grow_restart() doesn't allow for level change.
    
    Grow_restart really shouldn't be checking for level changes.
    As they are always instantaneous they should never appear
    in the metadata so it doesn't mean anything to check for them.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8ccca44dde83e91a162373c681d3ad3bf9023c0e
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Apr 11 14:54:42 2011 +1000

    mdadm/mdmon: use CFLAGS when linking
    
    People often put flags that control ABI options into CFLAGS (like -mcpu)
    and don't duplicate them in LDFLAGS because most build systems nowadays
    (like autotools) use both when linking.  So make that work with mdadm's
    custom build system too.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b1bac75b265f2dd07273ea0f6ee7e633fce8ecfc
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Apr 11 14:54:27 2011 +1000

    mdadm: respect --syslog in monitor mode
    
    A few places don't accept syslog as a monitor mode, so fix that.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=237d87904e7148dd80151b4c701589f283a627e9
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Apr 11 14:54:18 2011 +1000

    mdadm: add missing --syslog option to monitor help
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9e69baf3d4d2e0f2efd4f98777149f4607327923
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Apr 11 14:54:16 2011 +1000

    move .man targets from "all" to "man" - and "everything"
    
    These .man files are never installed, nor generally used, so don't force
    people who generally want to build/install mdadm to build them up.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=139dae1137839dfe41ec17d720e41aac3af60604
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Apr 6 12:40:31 2011 +1000

    imsm: fix: report aligned component size value
    
    OROM can create array with chunk size not aligned.
    To resolve this problem in mdadm, metadata handler has to report
    component size aligned value for mdadm operations
    while metadata value stays unchanged.
    
    Do not correct alignment for raid1 and in error case.
    
    Correction allows check in analyse_change() (Grow.c:905) to pass.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2a4a08e7d3a3a76094352a3c477d7901ac993554
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Apr 6 12:40:04 2011 +1000

    imsm: FIX: Check array alignment before expansion
    
    It can occur that OROM creates array not aligned properly.
    Expansion cannot be run in such cases. It is detected in analyse_change().
    It is too late. This causes that metadata is in migration state already,
    when expansion cannot be started.
    This problem has to be detected before metadata is updated,
    in all arrays in reshaped container.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6dc0be309d22db35f65edd283f72e2600b8d83c8
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Apr 6 12:38:50 2011 +1000

    imsm: Warn user about reboot risk
    
    Current check-pointing implementation doesn't allow for interrupting reshape of boot arrays
    due to checkpoint restore has to be done before system start.
    There is problem with passing backup file name to array automatically mounted during boot time,
    especially when scan mode is used.
    
    Until IMSM check-pointing implementation will be introduced, warning about reboot risk
    should be placed in mdadm.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d47a29257a189ffb9a85a0c39df4873a306be385
Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr 5 21:43:52 2011 +1000

    restripe: make sure zero buffer is always large enough.
    
    If restripe is called to restore stripes of one size and then
    save stripes with a larger chunk size, the 'zero' buffer will not
    be large enough and a double-degraded RAID6 will over-run the buffer.
    
    So record the current size of the zero buffer and use it when deciding
    if we need to allocate a new buffer.
    
    Reported-by: Brad Campbell <lists2009 at fnarfbargle.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=64385908bbec982d4d6cddd313c7594499087126
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Apr 5 09:29:45 2011 +1000

    Create: fix size after setting default chunk
    
    When -e option is given then the first validate_geometry
    sets default chunk. Size must be rounded there and do_default_chunk
    needs to be set to 0 so that we don't repeat the message below.
    
    If we start without st then what we find on the the first disk determines
    the st and sets chunk. So after running
    validate_geometry on the first disk we need to fix the size too.
    At this point chunk should always be set but it is safer to keep the check.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=db975ab5c3d68daef5e739c9263bb6c4e5b178b8
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Wed Mar 30 11:28:11 2011 +0100

    Create: check for UnSet when looking at chunk
    
    A default chunk size of 0 gets modified to UnSet, so any location that
    checks for !chunk really needs to check for !(chunk || chunk == UnSet).
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=84f3857fec97c9fd459c23e45d8d5abe9dae9da0
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Mar 28 13:56:49 2011 +0200

    FIX: After discarding array give chance monitor to remove it
    
    When raid0 expansion occurs, takeover operation is used.
    After backward takeover monitor remains in memory.
    
    This happens due to remaining just removed active array in mdmon structures.
    If there is no other monitored arrays, mdmon has to finish his work.
    
    Problem was introduced in patch (2011.03.22):
        mdmon: Stop keeping track of RAID0 (and LINEAR) arrays.
    Prior to this patch mdmon kicking occurs via replace_array() where
    wakeup_monitor() was called.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eb28e119b03fd5149886ed516fa4bb006ad3602e
Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr 5 09:16:57 2011 +1000

    Monitor: avoid NULL dereference with 0.90 metadata
    
    0.90 array do not report the metadata type in /proc/mdstat, so
    we cannot assume that mse->metadata_version is non-NULL.
    
    So add an appropriate check.
    
    Reported-by: Eugene <hdejin at yahoo.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=af3c3750348e62784861cde341835f69f36913b4
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Tue Apr 5 09:16:55 2011 +1000

    RAID-6 check standalone code cleanup
    
    
    Major change is code cleanup and simplification.
    Furthermore, a better error handling and a couple
    of bug fixes.
    Last but not least, the command line parameters are
    changed from "bytes" to "stripes", which is more
    convenient, I guess.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a9c2c6c697d2d3d01e1b6d1930ca971abceed5f7
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Tue Apr 5 08:56:41 2011 +1000

    RAID-6 check standalone md device
    
    Allow RAID-6 check to be passed only the
    MD device, start and length.
    The three parameters are mandatory.
    
    All necessary information is collected using
    the "sysfs_read()" call.
    Furthermore, if "length" is "0", then the check
    is performed until the end of the array.
    
    Some checks are done, for example if the md device
    is really a RAID-6. Nevertheless I guess it is not
    bullet proof...
    
    Next patch will include the "suspend" action.
    My idea is to do it "per stripe", please let me
    know if you've some better options.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=78c0a3b17fcf6972bfcd10f02a5f4520117281d0
Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr 5 08:44:54 2011 +1000

    Split some of util.c into a new lib.c
    
    Some of util.c is dependent on lots of other code, some of it
    is stand-alone.
    Move some of the stand-alone stuff into a new lib.c so it can be used
    by smaller utilities.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=32367cb5588be10b25c11a69795d18b9af9d2f8c
Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr 5 08:40:49 2011 +1000

    split name/number maps into separate file.
    
    This reduced some interdependencies between files.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=679eb882fc243bfeb6a2586ded92bf5331096a3d
Author: NeilBrown <neilb at suse.de>
Date:   Tue Apr 5 08:21:03 2011 +1000

    Move WaitClean from sysfs to Monitor.c
    
    It might not really belong in Monitor, but it really doesn't
    belong in sysfs.c, and fits well with Wait()
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7b0bbd0f7181cdc45c034459decc5a14549c15ec
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 28 13:30:29 2011 +1100

    Release 3.2.1
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=76ae48207530dcef54967da2c5fdaba3efe0f5f0
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 28 13:24:04 2011 +1100

    test: Don't use dev6 and dev7 together in a non-multipath test
    
    dev6 and dev7 refer to the same storage and are used for
    multipath testing.  So using them both in any other test will
    be confusing.  So change 11spare-migration test 5 to use
    dev10 rather than dev7
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aae4c1116639633ad7e48f0fd603f6d6cd39a653
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Mar 28 10:42:07 2011 +1100

    imsm: reading of UEFI variables needs an update
    
    Content of EFI variable is stored in "data" file. Moreover size of data
    provided by given variable can be initially validated by reading value of
    "size" file.
    Function read_efi_variable() has been introduced to simplify the code.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=96687b797fe65dbac75a1c5b3a00ae9a4e921efb
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Mar 28 10:41:35 2011 +1100

    imsm: remove OEM table from detection of OROM and EFI.
    
    OEM table does not suit our needs so it cannot be used.
    This patch removes feature added in commit 8a0bf4f378c8b.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ab65d72387c83a20d3ba3694d096a5fb38f60402
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 28 10:41:09 2011 +1100

    tests: Make sure config file is empty when required.
    
    We need to have no config at all for this test so
    make sure it is empty.
    
    Reported-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ed02d9cc0408f26fd22b91eaefc0266afbff2181
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Thu Mar 24 21:43:44 2011 +0000

    tests: use $config to store test config path
    
    We also need to tell Monitor where to look for Policy in 11spare-migration tests
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7187750e8dfa7a93135a145e10c88569d4e7d767
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 24 14:21:58 2011 +1100

    open_dev_excl: allow device to be read-only.
    
    For many operations we don't need a writable device.  So if
    opening O_RDWR fails in open_dev_excl, then try again O_RDONLY.
    
    If we really needed write, a subsequent operation will failed.  But
    if we didn't, we succeed when otherwise we wouldn't have.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=972728bb1b9e28afe8dd8a0d6bd89fb3f7b65f2b
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 24 12:45:23 2011 +1100

    tests: use /tmp/mdadm.conf rather than /etc/mdadm.conf.
    
    Modifying /etc/mdadm.conf for testing is just wrong.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=51d9a2ce33a6a60a75751a46bb93bf052a2dfc7a
Merge: b4add14 945f0fc
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 24 12:00:55 2011 +1100

    Merge branch 'master' into devel-3.2
    
    Conflicts:
    	Incremental.c
    	Manage.c
    	ReadMe.c
    	inventory
    	mdadm.8.in
    	mdadm.spec
    	mdassemble.8
    	mdmon.8

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b4add146a02286102916a815f2ed0ba3f76cfd7b
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Mar 24 10:15:01 2011 +1100

    FIX: imsm: Do not change serial if disk failed
    
    This patch rollback one change connected with mdadm-OROM
    compatibility:
    adding ':0' at the end of disk serial number if disk is
    detected as failed.
    Current mdadm's implementation does not distinguish two
    cases when disk is marked as failed:
    1. If disk is really failed- disconnected, broken
    2. Just marked as failed by mdadm- using "-f" option
    
    Second case is not yet fully handled and compatible with
    IMSM standard.
    Changing serial number of existing, operational disk causes
    problems in "thunderdome" and "load_super" functions that use
    serial numbers to disks comparisons and searching.
    The change must be recalled until full support will be
    developed.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e53d022c726ffbc83b8bfc574df76bb7984d1982
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Mar 24 10:11:58 2011 +1100

    FIX: Tests: raid0->raid10 without degradation
    
    raid0->raid10 transition needs at least 2 spare devices.
    After level changing to raid10 recovery is triggered on
    failed (missing) disks. At the end of recovery process
    we have fully operational (not degraded) raid10 array.
    
    Initialy there was possibility to migrate raid0->raid10
    without recovery triggering (it results degraded raid10).
    Now it is not possible.
    This patch adapt tests to new mdadm's behavior.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3a5d04735bf36af7fdbca9e516472e14fb80d803
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Wed Mar 23 16:04:20 2011 +0100

    FIX: imsm: Rebuild does not start on second failed disk
    
    Problem:
    If we have an array with two failed disks and the array is in degraded
    state (now it is possible only for raid10 with 2 degraded mirrors) and
    we have two spare devices in the container, recovery process should be
    triggered on booth failed disks. It does not.
    Recovery is triggered only for first failed disk.
    Second failed disk remains unchanged although the spare drive exists
    in the container and is ready to recovery.
    
    Root cause:
    mdmon does not check if the array is degraded after recovery of first
    drive is completed.
    
    Resolution:
    Check if current number of disks in the array equals target number of disks.
    If not, trigger degradation check and then recovery process.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=945f0fcd0179210ae5b72006c3621a73cc6e9205
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 23 15:43:19 2011 +1100

    Release mdadm-3.1.5
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ebdc4d125346c3514600a8c2d7455e1817e10e2c
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 23 15:42:35 2011 +1100

    Incr: don't exclude 'active' devices from auto inclusion in a container.
    
    For containers, it is always appropriate to include a device in the
    container.
    Whether it should then be included in an array is a separate question.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fb0d4b9ca2fca333d82fabd1a7aa55e138e83910
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 23 15:42:24 2011 +1100

    --stop: separate 'is busy' test for 'did it stop properly'.
    
    Stopping an md array requires that there is no other user of it.
    However with udev and udisks and such there can be transient other
    users of md devices which can interfere with stopping the array.
    
    If there is a transient users, we really want "mdadm --stop" to wait a
    little while and retry.
    However if the array is genuinely in-use (e.g. mounted), then we
    don't want to wait at all - we want to fail immediately.
    
    So before trying to stop, re-open device with O_EXCL.  If this fails
    then the device is probably in use, so give up.
    
    If it succeeds, but a subsequent STOP_ARRAY fails, then it is possibly
    a transient failure, so try again for a few seconds.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a28232b83f0f78898220c403600f6c2b1e51bdde
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 23 11:07:27 2011 +1100

    Assemble: improve efficacy of -Af in assembling degraded dirty arrays.
    
    If a degraded dirty array has some superblocks which are clean and
    others that are dirty, and the dirty ones are newer by precisely '1'
    in the event count, then the current code to force the array to be
    clean will not work.
    We need to make sure to find a superblock with most recent event count
    and force that one to be 'clean'.
    
    Reported-by: A J Wyborny <ajwyborny at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ea2bc72b0049f7d02156bae8f21736ddd93e731e
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Wed Mar 23 12:05:53 2011 +1100

    super-intel: enable loading metadata from non-IMSM compliant disks
    
    Honor ignore_hw_compat to load metadata from disk attached to non-IMSM
    controller or when there are no IMSM OROM/EFI capabilities.
    Used only for guessing and examining metadata format.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=df3346e675d731b4c847272fc40bb992ace7554e
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Wed Mar 23 12:04:46 2011 +1100

    examine: allows to examine a disk metadata on non-metadata compliant systems
    
    Allow for loading metadata from disk attached to non-metadata compliant
    system. Affects mdadm --examine and guess_super.
    
    Added ignore_hw_compat in supertype to pass information to load_super
    handler. If ignore_hw_compat is set the handler should load metadata
    also from disks that do not comply with metadata requirements (i.e. disk is not
    attached to native controller, etc).
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=246cebdb7601fc41ee0cca9a5379cdd7dc072380
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Mar 23 12:02:28 2011 +1100

    man mdadm: Add note about auto-assembly during array reshape
    
    Add note to man that auto-assembly cannot be used for reshaped arrays.
    
    Revisions: NeilBrown
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca24ddb08da4c86b60f7e049f0b0a2c30b19c95a
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Mar 23 11:45:03 2011 +1100

    man mdadm: add information for MDADM_EXPERIMENTAL flag
    
    Update man for MDADM_EXPERIMENTAL flag.
    
    Minor revisions by Mathias Burén <mathias.buren at gmail.com> and Neil Brown.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ce7a187b9a2c58783276c9da65088494f4f85124
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 14:47:55 2011 +1100

    Monitor: handle v.quick removal of devices better.
    
    If a device fails and then is removed before Monitor sees
    the failure, GET_DISK_INFO returns nothing so Monitor relies
    on mdstat info where '_' is incorrectly interpreted as 'a spare'.
    
    We should treat '_' as 'removed' - that is safer.
    
    Without this, a v.quick fail+remove gets reported as 'Failed' then
    'SpareActive'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7c19b781d511211fcee0d9482bbccc7217a5f7f9
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 10:32:09 2011 +1100

    ddf: fix up detection of failed/missing devices.
    
    If a device hasn't been found yet we can still tell if it is
    expected to be working, and we must to do to make sure
    'working_disks' is correct.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b306624e2bfd061339641295ed5cb52d40ab7ae3
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Tue Mar 22 10:09:38 2011 +1100

    restripe: allow test code to have an offset on each device.
    
    If device name ends :number, e.g.
       /dev/sda0:1234
    
    then assume the RAID data starts that many sectors from start of
    device.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=89ced23b58cfd4529ade47488ee37a5ffce7cd8e
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 23 11:07:27 2011 +1100

    Assemble: improve efficacy of -Af in assembling degraded dirty arrays.
    
    If a degraded dirty array has some superblocks which are clean and
    others that are dirty, and the dirty ones are newer by precisely '1'
    in the event count, then the current code to force the array to be
    clean will not work.
    We need to make sure to find a superblock with most recent event count
    and force that one to be 'clean'.
    
    Reported-by: A J Wyborny <ajwyborny at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7023e0b8aed8807b0c394f61a3c4ac937dbd6b86
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 17:23:17 2011 +1100

    mdmon: Stop keeping track of RAID0 (and LINEAR) arrays.
    
    Tracking RAID0 arrays doesn't really work.  There is no need,
    and there are some sysfs files which won't exist when the array
    appears and then won't be opened when the level is changed.
    
    So simply ignore RAID0 and LINEAR arrays - don't add them when they
    appear and if an array we are monitoring turns into one of these,
    discard it promptly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d998b738f5b91e6058659b459e5b9e3717d085f6
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 16:10:22 2011 +1100

    mdmon: don't wait for O_EXCL when shutting down.
    
    If mdmon is shutting down because there are no devices
    left to look at, then don't wait 5 seconds for an O_EXCL open,
    and that can block progress of --grow.
    
    Only wait for O_EXCL if we received a signal.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4e2c1a9a32c8e4c85bc699ff425a75bd5c594f8e
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 14:52:37 2011 +1100

    mdmon: allow manage_member to cope with ->container becoming NULL.
    
    As monitor() can set ->container to NULL, we need to be careful
    about dereferencing it.
    So take a copy in manage_member, return if it is NULL, and only
    use the copy.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0d5ac3c6efceaec95b47d734dcdaf4a5cd87bf57
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 14:52:36 2011 +1100

    Grow: increase raid_disks before adding specific spares.
    
    When we add spared that have been targeted at a specific slot,
    we need raid_disks to be bigger than the slot number.
    But currently we don't increase raid_disks until after we add
    these spares.
    
    So introduce an early increase of raid_disks to allow the spares
    to be added.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=38376c2e51fdc31b7e53d285729fb80b756d8d37
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 14:47:55 2011 +1100

    Monitor: handle v.quick removal of devices better.
    
    If a device fails and then is removed before Monitor sees
    the failure, GET_DISK_INFO returns nothing so Monitor relies
    on mdstat info where '_' is incorrectly interpreted as 'a spare'.
    
    We should treat '_' as 'removed' - that is safer.
    
    Without this, a v.quick fail+remove gets reported as 'Failed' then
    'SpareActive'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0cf5ef67bbc8dad949af945ab5dd4b1d9df0d0a9
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 10:32:09 2011 +1100

    ddf: fix up detection of failed/missing devices.
    
    If a device hasn't been found yet we can still tell if it is
    expected to be working, and we must to do to make sure
    'working_disks' is correct.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6f38d7ae107de0615232a64a1b16a470fa1f8a4b
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Tue Mar 22 10:09:38 2011 +1100

    restripe: allow test code to have an offset on each device.
    
    If device name ends :number, e.g.
       /dev/sda0:1234
    
    then assume the RAID data starts that many sectors from start of
    device.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=019ca1e1da0754473d85c96756b376c260f42b02
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 22 10:09:30 2011 +1100

    test: call "udevadm settle" after stopping array.
    
    If we don't do this, then the unlink from /dev might happen
    after the next step in the test creates something in /dev,
    and device names seem to go missing.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=979afcb82b16fe8d6386e77157a99786aca26dca
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Mon Mar 21 13:52:44 2011 +1100

    RAID-6 check standalone
    
    Hi Neil,
    
    please find attached a patch, to mdadm-3.2 base, including
    a standalone versione of the raid-6 check.
    
    This is basically a re-working (and hopefully improvement)
    of the already implemented check in "restripe.c".
    
    I splitted the check function into "collect" and "stats",
    so that the second one could be easily replaced.
    The API is also simplified.
    
    The command line option are reduced, since we only level
    is raid-6, but the ":offset" option is included.
    
    The output reports the block/stripe rotation, P/Q errors
    and the possible HDD (or unknown).
    
    BTW, the patch applies also to the already patched "restripe.c",
    including the last ":offset" patch (which is not yet in git).
    
    Other item is that due to "sysfs.c" linking (see below) the
    "Makefile" needed some changes, I hope this is not a problem.
    
    Next steps (TODO list you like) would be:
    
    1) Add the "sysfs.c" code in order to retrieve the HDDs info
    from the MD device. It is already linked, together with the
    whole (mdadm) universe, since it seems it cannot leave alone.
    I'll need some advice or hint on how to do use it. I checked
    "sysfs.c", but before I dig deep into it maybe better to
    have some advice (maybe just one function call will do it).
    
    2) Add the suspend lo/hi control. Fellow John Robinson was
    suggesting to look into "Grow.c", which I did, but I guess
    the same story as 1) is valid: better to have some hint on
    where to look before wasting time.
    
    3) Add a repair option (future). This should have different
    levels, like "all", "disk", "stripe". That is, fix everything
    (more or less like "repair"), fix only if a disk is clearly
    having problems, fix each stripe which has clearly a problem
    (but maybe different stripes may belong to different HDDs).
    
    So, for the point 1) and 2) would be nice to have some more
    detail on where to look what. Point 3) we will discuss later.
    
    Thanks, please consider for inclusion,
    
    bye,
    
    pg
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8a0bf4f378c8b9c6bf28b65542c8354eee836c7e
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Sun Mar 20 15:47:33 2011 +1100

    platform_intel: support EFI SCU OEM variable
    
    
    RstScuV and RstScuO variable names are supported.
    First try reading from RstScuV, when it fails try RstScuO.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Tested-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ceaf0ee19eaf72754cc8ec689654c06cb4194563
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Sun Mar 20 15:47:31 2011 +1100

    imsm: FIX: indicate that metadada has to be written
    
    During adding spare disks to raid0, spare metadata is not written.
    This is due to exit form sync_metadata() on empty updates_pending flag.
    
    When mdmon is absent indicate sync_metadata() to flush changes to disks.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c0f8269d5765d183311a21567330df87a866b9e7
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Sun Mar 20 15:47:17 2011 +1100

    FIX: Add spare throws exception (v2)
    
    sync_metadata() requires st->sb to be loaded, otherwise exception is
    generated.  This fails expansion, because spares cannot be added.
    
    metadata update uses tst instead st pointer, it is better than
    loading anchor for st as I proposed previously.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1ae42d9d99713ec40a56b9ba0289e362ace75f87
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Fri Mar 18 12:42:17 2011 +1100

    Retry writing 'inactive' state during stopping array
    
    Issue observed:
    Sporadicaly stopping arrays using "mdadm -Ss" command does not succeded.
    Cause:
    Writting "inactive" to the array state not succeded- array is busy
    (accessed by udev, blkid etc.)
    Resolution:
    If writing 'inactive' fails, wait and retry again (because it is possibly
    a transient failure)
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=983fff45a163e35f1a4d309b39ee9a0cbbc2195a
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Mar 18 12:32:16 2011 +1100

    FIX: ping_monitor() usage causes memory leaks
    
    When for ping_monitor() input devnum2devname() is used,
    received string pointer should be passed to free() for memory release.
    It is not made in several places. This use case should have function
    to avoid memory leak.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d6221e667f55c46505125ae182051de499000ed8
Author: NeilBrown <neilb at suse.de>
Date:   Fri Mar 18 12:31:45 2011 +1100

    Manage: fix the mess I made in earlier patch.
    
    When I separated the 'native metadata' case more cleanly from the
    "external metadata" case for adding a drive, I left some 'external'
    code in the 'native' case, and didn't copy it to the 'external' case.
    
    When - in the external case - we add to super, we much check for
    mdmon first, so we know whether to do the metadata update ourselves
    or not, then afterwards call either flush_metadata_updates (to send
    to mdmon) or sync_metadata (to do it directly).
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eb0af52689656f6526540ee3a72b0647e7a7b20d
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 17 13:35:10 2011 +1100

    --stop: separate 'is busy' test for 'did it stop properly'.
    
    Stopping an md array requires that there is no other user of it.
    However with udev and udisks and such there can be transient other
    users of md devices which can interfere with stopping the array.
    
    If there is a transient users, we really want "mdadm --stop" to wait a
    little while and retry.
    However if the array is genuinely in-use (e.g. mounted), then we
    don't want to wait at all - we want to fail immediately.
    
    So before trying to stop, re-open device with O_EXCL.  If this fails
    then the device is probably in use, so give up.
    
    If it succeeds, but a subsequent STOP_ARRAY fails, then it is possibly
    a transient failure, so try again for a few seconds.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1d8862cf613d671bcfbb796ca023161d2b907402
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 16:31:20 2011 +1100

    Fix regression when using 'grow' to add a bitmap.
    
    When we allowed a devlist to accompany some --grow modes - but not
    --bitmap - we made --bitmap always fail, in stead of fail of a device
    was given to add.
    As 'devs_found' includes the md device, we need to  compare against
    '1'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=88b496c2697ed531ffecf2f8ced76f437297e5fe
Merge: e26c926 666bba9
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 15:35:04 2011 +1100

    Merge branch 'master' into devel-3.2
    
    Conflicts:
    	Manage.c
    	managemon.c
    	super-ddf.c
    	super-intel.c

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=666bba9b5011150ff01de421dd44b06c0a6610a5
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 15:24:03 2011 +1100

    mdadm.man: added encouragement to shrink filesystem before array.
    
    Suggesting by Rory Jaffe <rsjaffe at gmail.com> to make the danger
    of shrinking, and to recommended avoidance technique, more explicit.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b0edee6efb43aeafe0dfaa35232012f434ec8573
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:56:16 2011 +1100

    ddf: implement remove_from_super
    
    This is needed to remove devices from mdmon's knowledge when the
    device is removed from the md container.
    
    Now that ddf have a remove_from_super we don't need the code
    that allows some personalities not to implement this.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=258c3e921b5efae10116857971a9a2bfbfe99d4b
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Tue Mar 15 15:09:31 2011 +1100

    IMSM: Fix problem in mdmon monitor of using removed disk in imsm container.
    
    Manager thread shall pass the information to monitor thread (mdmon)
    that some devices are removed from container.  Otherwise, monitor
    (mdmon) might use such devices (spares) to rebuild the array that has
    gone degraded.
    
    This problem happens for imsm containers, since a list of the
    container disks is maintained in intel_super structure. When array
    goes degraded, the list is searched to find a spare disks to start
    rebuild.  Without this fix the rebuild could be stared on the spare
    device that was a member of the container, but has been removed from
    it.
    
    New super type function handler has been introduced to prepare
    metadata format specific information about removed devices.
    
    int (*remove_from_super)(struct supertype *st, mdu_disk_info_t *dinfo)
    
    The message prepared in remove_from_super is later processed by
    process_update handler in monitor thread.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=33b0edd78ad33207434f2944e81a09a91ddafd10
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 15:09:24 2011 +1100

    DDF Allow a RAID1 to be 'partially optimal'.
    
    If a RAID1 is meant to have more than 2 device and while it doesn't
    have that many, it still has more than 1, then according to the
    DDF spec it is "partially optional" rather than "degraded"
    So make that so.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c7079c84412848c11d21b99bd3702701fa5ca5d6
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 15:02:49 2011 +1100

    ddf: remove failed devices that are no longer in use.
    
    The DDF spec requires we have a phys disk record for every physically
    attached device.  But it isn't clear what that means in the case
    of soft raid in a general purpose Linux computer.
    So remove phys disk records for any failed device that is not
    active in any array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8401644c3a8b2a15bfed25cedc3c4ec0beff07c2
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 14:57:46 2011 +1100

    ddf: set Rebuilding flag when adding devices to a degraded array
    
    This is a big fragile, but DDF has wierd rules that we aren't really
    set up to handle properly.
    
    When we add a device to a degraded array it must be a spare, so
    mark it as Rebuilding.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e5cc7d469f09faa2f6666d61b7c719136e959d09
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 14:54:46 2011 +1100

    ddf: use correct loop variable in activate_spare
    
    Using 'i' when you mean 'j' just shows how silly it is to use
    variables named 'i' and 'j'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=77632af90637004deac013d1716727b15094b3ee
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 14:53:00 2011 +1100

    ddf: Don't consider 'dl' entries with state_fd < 0
    
    These have been marked as invalid (recently failed) so
    don't trust the major/minor associated with them.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0c4f6e378b4fd9518e1037caab4babacf41ea6c8
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 14:51:12 2011 +1100

    managemon: Don't do spare assignment while any updates are pending.
    
    Spare assignment requires full knowledge of array state.  A pending
    update might modify that state (such as a pending spare assignment)
    so don't try while there are updates pending.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=02c39ab1d5519d8d802e3c5d86034d68322c38e7
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 15 14:48:20 2011 +1100

    Manage/external: for external metadata, add_to_super needs lock on container.
    
    add_to_super could use information from the current superblock (ddf
    does), so add_to_super for external metadata should be called with
    the O_EXCL lock held on the container to ensure the update is complete
    before any other process tries to make any changes (like adding
    another device to array).
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e26c926209d84683815275bf8a3850b00731937e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Mar 14 15:09:29 2011 +0100

    imsm: FIX: existing backup file fails unit tests
    
    During normal test execution, backup file is deleted after test execution.
    If test is interrupted/broken, backup file can remain for next run.
    When backup file exists before unit test run, suits 12 and 13 fails.
    
    To avoid this remove backup file before grow is executed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4dd968cc546aadc168efa0c6dd96d789a7b0a08f
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:56:16 2011 +1100

    ddf: implement remove_from_super
    
    This is needed to remove devices from mdmon's knowledge when the
    device is removed from the md container.
    
    Now that ddf have a remove_from_super we don't need the code
    that allows some personalities not to implement this.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f50ae22e45848217d989f58ece290c1e8cc6acc0
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:54:21 2011 +1100

    ddf: zero space_list in ddf_activate_spare.
    
    Currently ->space_list is uninitialised here, which is obviously bad.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=de6a92199e12db17c760ace2735d691c973f33b1
Merge: 53ed6ac 1502a43
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:49:57 2011 +1100

    Merge branch 'master' into devel-3.2

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1502a43a08d0648a6b03d89b7cf189f15bea8647
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:47:47 2011 +1100

    ddf: set vcnum correctly when creating a new virtual device in conflist
    
    We weren't setting ->vcnum at all when an array was added.  This
    meant that a subsequent device failure could be assigned to the
    wrong array.
    
    Reported-by: Albert Pauw <albert.pauw at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e1316fab98d1ad5b3e07be7ee56b07b0e25353ec
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:45:26 2011 +1100

    ddf: teach set_disk to cope with new or changed devices.
    
    When set_disk is called, we need to check if the disk has changed or
    recently appeared, and update everything properly if it has.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8a38cb04de6fc90c00cd3ae337b49305c9ae442f
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:32:38 2011 +1100

    ddf: free_super should be add_list as well.
    
    It is possible there is data and even an open file descriptor
    on 'add_list' - so it must be freed too.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7590d5623b9f408a29886515ff4f576895d4c13f
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:30:34 2011 +1100

    ddf: minor activate_super fixes.
    
    1/ ignore devices with "state_fd < 0" as these have been removed.
    2/ Set update 'length' properly and clear 'space'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e40512fddbb3e8686296ca5100b5f60183981144
Author: NeilBrown <neilb at suse.de>
Date:   Mon Mar 14 18:24:01 2011 +1100

    monitor: close recovery_fd when closing state_Fd
    
    These should be open or closed together.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=53ed6ac36ef96e2327564b29ae06e3cc2820ba8f
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Mon Mar 14 18:21:21 2011 +1100

    Warn the user about too small array size
    
    If single-disk RAID0 or RAID1 array is created, user may preserve data on
    disk. If array given size covers all partitions on disk, all data will be
    available on created array. If array size is too small (not covers
    all partitions), data will be not accessible.
    This patch introduces warning message during array creation if given size
    is too small. User may interrupt creation process to avoid data loss.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9c747fa0ff6971608b66b9cfc705c36e6d36ca51
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Mon Mar 14 18:18:46 2011 +1100

    platfrom_intel: find OROM based on Intel AHCI and SAS driver device id
    
    We use PCI device id exposed by AHCI and ISCU drivers (SAS controller)
    to find OROM version table.
    In this way there is no need to maintain AHCI and ISCU device id list
    in mdadm. The consequence is that the OROM properties can be found by mdadm when AHCI or
    SAS drivers are loaded in the system.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6289d1e07912fe927a8f294eac8855a12241849c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Mar 14 18:17:53 2011 +1100

    imsm: FIX: Store checkpoint in per disk units
    
    While last_checkpoint is counter in per disk units, checkpoints
    should be stored in the same manner.
    Restoring from checkpoint should should recalculate checkpoint in to
    array position (reshape_progress).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0d51bfa20e231ebcbb15c2a278c837c8e3b6c2b1
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Mar 14 18:17:52 2011 +1100

    FIX: Last_checkpoint has to be initialized in per disk units
    
    last_checkpoint is variable that tracks sync_complete sysfs entry.
    sync_complete is per disk counter, so initializing during starting from checkpoint
    has to have this in mind and convert reshape position properly.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=138477db4b7e810d35fd1a8fd2d1c2f05ee55da5
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 15:05:54 2011 +0100

    FIX: Last checkpoint is not initialized on reshape restart
    
    When reshape is restarted and active array in mdmon is being initialized,
    mdmon has to know last checkpoint, otherwise reshape will be restarted
    form '0' position.
    mdadm when reshaped array is assembled stores reshape_position in sysfs
    and runs mdmon. Initialize last_checkpoint in active array structure
    to value present in sysfs for reshaped array start.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bcc9e9edd0669a1d99b77e38dc94ae8a644f4d36
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 08:30:42 2011 +0100

    FIX: Unfreeze array on success only
    
    Unfreeze array on success only.
    rv is initialized by restart variable so we have 2 cases.
    1. regular reshape start
    	rv == restart == 0
       this means that real error (returned by reshape) can cause leaving container frozen
       If array is not touched by reshape it can be unfrozen
    2. During reshape restart even untouched array under reshape is left unfrozen,
       If reshape is started do not unfreeze array on error also.
    
    This allows user for array repair action
    (mdmon will not change array state).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=18cb44962d1128ac5fc8f6922c591c0666b6de98
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 18:14:43 2011 +1100

    ddf: Failed should suppress Online and others.
    
    so the notes say, so make it so.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca6529edf6f7216003863a9ea847e6689693bd96
Merge: c64881d d6508f0
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 17:37:04 2011 +1100

    Merge branch 'master' into devel-3.2
    
    Conflicts:
    	Grow.c
    	Manage.c
    	managemon.c
    	mdadm.8.in
    	util.c

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d6508f0cfb60edf07b36f1532eae4d9cddf7178b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Manage:  be more careful about --add attempts.
    
    If an --add is requested and a re-add looks promising but fails or
    cannot possibly succeed, then don't try the add.  This avoids
    inadvertently turning devices into spares when an array is failed but
    the devices seem to actually work.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=37e430d163f71417f50371cb2871e4828490ed7a
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    ddf: remove duplicate container_member setting.
    
    We were setting ->container_member twice in ddf get_info.
    Once to currentconf->vcnum,
    once to atoi(st->subarray).
    
    Both should be the same.
    For consistency with super-intel, use the first.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=01afe516ce14d5e983e4b8c910393ea9c7cbee0a
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:25:26 2010 +1100

    Fix warning about host-endian bitmaps.
    
    Hostendian bitmaps should be warned about on all arch's.
    And fix a speeling mistake.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0d924c9a93ff23010d0d259834ba5d7c87160523
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:34:25 2010 +1100

    Grow: give useful message when adding bitmap gives EBUSY.
    
    If adding a bitmap fails with EBUSY, then it is because the array is
    currently resyncing/recovering/reshaping.
    As this is non-obvious, give a message explaining the fact.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1f9476aaf86cb465566b5a1cd5a2fb493531c2eb
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:46:01 2010 +1100

    Assemble: add --update=no-bitmap
    
    This allows an array with a corrupt internal bitmap to be assembled
    without the bitmap.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=321e575910214cb66212a436729c18736542f6bb
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:56:01 2010 +1100

    Assemble: call remove_partitions later.
    
    We shouldn't call remove_partitions until we have made a really firm
    decision to include the device into the array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=515afde355330a2a7643e979418e4d586504650c
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 18:35:36 2010 +1100

    mdmon: don't copy an invalid chunk_size
    
    As chunk_size in mdstat_ent is never set, we shouldn't copy
    it into a->info.array.
    In fact, it is safest to get rid of the field altogether.
    
    Reported-by: "Kwolek, Adam" <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=002a3de3d4a05692e9951cc3aba9fec5fb937623
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 09:55:35 2010 +1100

    ddf: fail creation of new subarray with same name as old.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e42eb35545652f0031436e3df20651ca5889f218
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 11:03:28 2010 +1100

    Create: report failure if array cannot be started.
    
    We weren't checking the result of writing 'active' to array_state
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=48b1fc9ddbd1c4f6a5d0cb43d0290ea75dbdbc5f
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 11:58:32 2010 +1100

    Grow: disallow placing backup file on array being reshaped.
    
    the tests here aren't perfect, but they could catch some cases.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f3bd5b6c47433628970115bfbe8be00641ecc39
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 14:51:27 2010 +1100

    Create/grow: improve checks on number of devices.
    
    Check on upper limit of number of devices was in the wrong place.
    Result was could not create array with more than 27 devices without
    explicitly setting metadata, even though default metadata allows more.
    
    Fixed, and also perform check when growing an array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5101e4681fd58566cddf500d48f9ee80067ece17
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 08:59:00 2011 +1100

    error check reading of 'degraded' from sysfs.
    
    I'm seen mdadm spinning while failing to read 'degraded'.
    This doesn't really fix it, but is a reminder that it needs to be
    fixed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3275e05ec139728e23afde2a04f1adc5a4be473b
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Mar 10 17:07:04 2011 +1100

    FIX: Reset disk state if disk is missing
    
    If we can't read actual disk state, it shoud be initiated
    to 0.
    Overwise it may be out of date value resulting false action
    later in code (e.g. set disk to improper state).
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=abe7250bc70d938f21ccdf0d7686feb39561fe7f
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 17:07:04 2011 +1100

    open_mddev: open RDONLY if RDWR doesn't work.
    
    If an array is read-only then "mdadm -S"
    cannot open it to stop it without this fix.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a4622ac62c92280318b43d479e9abc4415ac2bfa
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 17:06:59 2011 +1100

    Initialise all of file when opening backup file for reshape.
    
    Due to a miscalculation we didn't initialise the whole file.
    There is 4K (8 sectors) for the metadata, then the data.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=66dedd88e616a465fd26ca9a25574f285a6ab2d4
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 15 12:40:21 2011 +1100

    mdadm.man add encouragement to shrink filesystem before shrinking array.
    
    Before resizing an array with --size or --array-size, then filesystem
    should be resized.  mdadm cannot do this so the user should.
    
    Reported-by: Gavin Flower <gavinflower at yahoo.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d4f9ad2de82c918bae7b7f8408bde9739a40e9b9
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:22:27 2011 +1100

    Detail: report subarrays of a container properly.
    
    Due to the wrong variable being used, this part of --detail
    wasn't working at all.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a821dc7fdf2569a2ea371120771755c87a4f03d3
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 11:41:21 2011 +1100

    dev_open should always open read-only.
    
    When opening an array to manipulate it we never need to write to the
    array and  sometimes it might be read-only so the open for write will
    fail.
    So always open read-only.
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c64881d7a2a01e50b2275f5a0a9272bfc953e8a2
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 16:41:54 2011 +1100

    Man page updates for new --grow options.
    
    Describe all the new ways that mdadm can reshape arrays.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2d4de5f9801449b6643b3095831481e28ecd2b86
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 15:59:24 2011 +1100

    Grow: allow monitor thread to exit when there is nothing more to do.
    
    When an array using native metadata is increasing in size, we don't
    need to keep monitoring it after the initial 'critical section'.
    So detect that case.
    If a final level-change is still needed mdadm will wait for that,
    otherwise it will simply exit.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b3cf095a94848ab497477544cab3ea80c0643ea8
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 15:43:04 2011 +1100

    Grow: don't forget_backup when length of backup is zero.
    
    This is just a waste of IO
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8ff6d0946cba047a1263f61142b6aa2f07381ee5
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 15:36:07 2011 +1100

    Grow: make sure 'info' doesn't have confusing data.
    
    We now test ->reshape_active, but don't set it in a common case.
    
    So just zero out the whole structure to be on the safe side.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e2e53a2da5d9fe743fca0c995b5b720a058c5bab
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 15:05:23 2011 +1100

    Grow: support reshape of RAID0 arrays.
    
    This is done via conversion to RAID4 and back.
    
    To grow the array, extra devices will be needed which cannot
    already be present as spares - so allow a list of new devices
    to be included in grow request which changed the number of devices.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9468aeac5704bd01d6fd334a0b1c018deb7bf238
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 15:00:38 2011 +1100

    Grow: Allow for component_size not being set for RAID0 arrays.
    
    When an RAID0 is started using SET_ARRAY_INFO ioctl the
    component_size will be zero.
    This confused the code for reshaping a RAID0 via RAID4.
    
    So if that seems to be the case, fake a believable component_size
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d424212ed9c8d1ff95dca3c35177560baddf6a77
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 14:53:30 2011 +1100

    Make find_intel_hba_capability less verbose.
    
    mdadm has a convention in some areas of passing a device name
    if error messages about it are interesting, or NULL if not.
    
    Follow this convention with find_intel_hba_capability so that it
    doesn't complain when not appropriate - and so that it doesn't
    have to go and find a device name that it wasn't given.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d0bc5190d77a60ac4971601469bbdad6803b8b56
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:52:22 2011 +1100

    platform_intel: support for OROM OEM capabilities
    
    Scan memory to match $VER and $OEM.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f2f5c343ff0a452385ae370c3ba8d67ab5d6f374
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:52:15 2011 +1100

    imsm: introduce SAS controller support in imsm metadata handler
    
    
    OROM/EFI capabilities are retrieved based on disk's controller type.
    1/ alloc_super no longer retrieves OROM capabilities
    2/ find_imsm_capability replaces find_imsm_orom
    3/ new function find_intel_hba_capability gets disk's HBA and relevant
    capability
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f0f5a01660b4e9813949570cd598f477a5dbc10d
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:50:58 2011 +1100

    imsm: move code for retrieving HBA to a function
    
    Function find_intel_hba_capability attaches HBA information
    to intel_super structure based on fd of the component disk.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8603ea6f221478067e1f50cf1b4d54661403911b
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:50:57 2011 +1100

    imsm: verify that component disks are attached to the same type of HBA
    
    compare_super_imsm verifies that the component disks use the same type of HBA
    in platform dependent environment. Otherwise print-out error message and block
    the action.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=73408129505ddddc2559ec944ae83c6a1c8ec0f6
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:50:54 2011 +1100

    imsm: add maximum number of disk validation in RAID array
    
    
    Arrays exceeding the OROM/EFI maximum number of supported disk are
    blocked in validate_geometry_imsm_orom function.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d54559f08abf40f533b6d9242f3545668cce78c1
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:50:52 2011 +1100

    imsm: print-out error message when volume validation fails
    
    Print-out error message when volume geometry fails to comply with
    OROM/EFI controller's capabilities.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2db863023e82e7b7d93bc9ef336db3c4f15740e9
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:50:49 2011 +1100

    imsm: do not publish OROM/EFI unsupported arrays
    
    
    Container_content_imsm calls validate_goemtry_imsm_orom to verify that
    the array parameters are supported by controller's OROM/EFI.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a891a3c24d0d577acd9c5d0f8dfd27ee13537dac
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:46:11 2011 +1100

    imsm: detail_platform_imsm displays AHCI and SAS controller information
    
    The function uses find_intel_device and find_imsm_capability to present
    AHCI and SAS controller capabilities taken from OROM or EFI.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b4cf4cba74aeb3949c256ce0f8a2836ae31b497d
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:45:49 2011 +1100

    imsm: remove unused parameters in function attach_hba_to_super
    
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5a6baf6653107632707be296254d919f0395c6ff
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:45:35 2011 +1100

    read platform capabilities from EFI
    
    If operating system is installed using efi, IMSM platform capabilities are
     not available via option ROM, but are stored as efi variables. New
     mechanism has been introduced to obtain capabilities by variables.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1a90147116b680f9d5b93c82c4b96f28a7bf5645
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:45:15 2011 +1100

    Some guid manipulation utilities has been added.
    
    It will be used for reading efi variables with capabilities.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2a7e6de25060230a48470197a372e6001d1236bd
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:45:00 2011 +1100

    update of imsm_orom structure
    
    The structure is update according to current specification. These values
    are not used right now, but they are not "reserved" anymore.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fc13853f4e41f9bc6f39e4550dec94ce9f7d2c1b
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:44:21 2011 +1100

    Platform-intel: support for OROM SAS and AHCI controller
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3c8bfb5ddd08c929caf9bd6eb36e5c97d1e74dd1
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Thu Mar 10 11:41:46 2011 +1100

    probe_roms: allow to probe expansion ROMs using vendor and device id.
    
    Adds data offset to PCI expansion ROM Data Structure in resource
    describing Expansion ROMs. This allows AHCI OROM scanning function
    to identify AHCI OROM by device id 0x2822 and vendor id 0x8086.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b6796ce1ed740d7c1b0988e275a16deae64ed2e6
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 11:41:33 2011 +1100

    imsm : FIX: Assemble dirty array when reshape is in progress
    
    During reshape for dirty volumes reshape_progress has to be calculated
    also.  To keep the same logic for array creation:
      not setting info->resync_start = MaxSector when first condition is
      true,
      resync_start is initialized by MaxSector to allow proper array
      initialization.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fcdfb8148853e33757171cc2c12e4c95795063cd
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 11:41:28 2011 +1100

    FIX: Set 'active' array state before array configuration
    
    For not reshaped array in container during assembly array is in
    auto-read-only state.  It is not possible to set disk slot for such
    array and later reshape cannot be started also.  To move array from
    'auto-read-only' to 'active' state storing 'active' state to sysfs is
    added. This allows for disks configuration and reshape.
    
    During reshaped array restart it is disabled by condition on restart
    variable.
    
    When reshape is starting, storing 'active' state to already active
    array should not matter.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=82a7851e5f5575991967d953c33116f6f2d60072
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 11:41:21 2011 +1100

    dev_open should always open read-only.
    
    When opening an array to manipulate it we never need to write to the
    array and  sometimes it might be read-only so the open for write will
    fail.
    So always open read-only.
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b8b8eda80484a2d4ce4a1a00400924033d212c57
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 11:36:47 2011 +1100

    Remove incorrect use of open_dev
    
    open_dev can only be used for md array.  To open an
    arbitrary device, dev_open must be used.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f362d22b5bc492c60fa1ea7e0f8346b7837dd7da
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 10 11:36:47 2011 +1100

    Grow: make sure mdmon is running for Grow_continue arrays.
    
    when starting an array that is in the middle of a migration,
    we need to start mdmon, just as we do for arrays which are not
    in the middle of a migration.
    
    Repored-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=140320165221099dd637fc84b60fe53f0d714c77
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 09:58:35 2011 +1100

    FIX: Make expansion counter usable
    
    Currently whole array geometry is set in sysfs_set_array(),
    so none of disks (even for expansion) should fail during sysfs_add_disk()
    Due to this expansion counter should be used for reshaped array when
    disk slot is bigger than number of disks in array.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b8063f0770e2a5d4a6dedc3bdc6ee114d1a7c4b7
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 09:57:39 2011 +1100

    FIX: Block reshaped array monitoring
    
    When array under reshape is assembled it has to be disabled from
    monitoring as soon as possible. It can occur that this is i.e second
    array in container and mdmon is loaded already.
    Lack of blocking monitoring can cause change array state to active,
    and reshape continuation will be not possible.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3db2fdd83486c41eed7c65705f23c9ef9f8c4487
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Mar 10 09:54:56 2011 +1100

    FIX: Load container content for container reshape continuation
    
    st->sb is null. This is exception cause.
    reshape_container() function expects that super block will be loaded.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3cb2aed250ba4715b6906da134a6f1c860cda975
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:53:09 2011 +1100

    Grow: don't let analyse_change see new level from metadata.
    
    This is a bit of a hack - probably analyse change needs to be
    re-written a bit to handle this properly.
    
    However when the metadata deduced the intermediate state for a
    reshaping array, the 'new_level' it sets should not be used to
    interpret the 'delta_disks' number.
    So in that case, hide the new_level while calling analyse_change.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eff4954d9a3e067bf495f7ee1bbe957879b732b4
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:50:59 2011 +1100

    Grow: don't try to use 'raid_disks' value for a container.
    
    The 'raid_disks' for a container is zero, so subtracting it
    from the given raid_disks to get delta_disks doesn't make sense.
    
    Rather set delta_disks to UnSet and set raid_disks to the requested
    number of disks.   This then gets passed to reshape_super() which
    can use it as required.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=817ed7d6d6d92628aabc19e1216cbcbaf8c3450b
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:47:24 2011 +1100

    Grow: only check 'native format' when really needed.
    
    The check that the array info is already in 'native format' is
    only relevant when restarting a growth, so only perform it then.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eae35f5c55281caa3ba6be0d77ad9a1c6b74bbd8
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Mar 8 13:24:55 2011 +0100

    FIX: Check correct 'old' level to see if reshape is needed.
    
    Normally when reshape_array is called with restart == 0,
    info->array is the same as the 'array' read from the kernel
    (via ioctl) so both have the same level.
    
    However when called from reshape_container, info->array was
    generated by the metadata so it will have 'level' set to the
    intermediate (or final) level already.
    
    So to test if we need to change the level, we need to compare the
    desired level with that which was loaded from the kernel (array.level)
    rather than that which was read from metadata (info->array.level).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e06c4e59b328ed881007962d22db17bfe9e07b6c
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:37:00 2011 +1100

    Grow: add check that there are enough devices.
    
    The check for 'enough spares' doesn't apply to RAID0 as we don't
    mind it going degraded.  But add a test that there are enough spares
    to actually produce a working array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=83732c285b6208936b6fd371e3d8056d3cc5143e
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:31:56 2011 +1100

    Typo in dprintf
    
    Canot -> Cannot
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9e034f70aec5b6b87b9087fc9397bc680594adf0
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:31:15 2011 +1100

    Fix comment in progress_reshape
    
    The possible return values have changed since that comment.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5652f2d9cec5f03a698a86ef31700277e8699dc8
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:30:03 2011 +1100

    Grow: allow a RAID1 to be reshaped directly to 3-drive RAID5
    
    Self-tests require this but code didn't allow it any more.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bb7295f15e02d8cd8b52de14f40c1d7e10555cc9
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:27:19 2011 +1100

    Fix chunksize defaulting.
    
    the new code for defaulting chunksizes didn't work quite right
     - default was set to late in super1/super0/ddf
     - defaults would over-ride values of '0' imposed by some levels
     - default value wasn't applied to size properly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=66ccd96ebc5dd5801c8bd0ba9fc69b2fcdd1aa22
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 9 18:22:27 2011 +1100

    Detail: report subarrays of a container properly.
    
    Due to the wrong variable being used, this part of --detail
    wasn't working at all.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=633b5610736533f6ba49206803ad00705e6cd9bd
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Mar 9 09:03:54 2011 +1100

    imsm: FIX: Mark checkpoint and array state clean during reshape
    
    Array state has to be managed during reshape based on consistent flag.
    To achieve this existing code will be reused. Currently existing code for
    blocks_per_unit calculation can be removed
    and existing code can be reused also.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=493f5dd6b249da3b92822f9e8ee0f20b17b131ce
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 8 17:36:40 2011 +1100

    Allow Grow_continue for whole container as well as single array.
    
    Some grow operations must be applied to a whole container.  These
    are performed one array at a time, so only one array appears to
    be reshaping.
    
    When re-assembling such an array, we need to make sure that
    when the reshape finished, we move on to the next array.
    
    So require metadata to set ->reshape_active = 2 in that case,
    and use reshape_container to complete the reshape.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=04fa95230951582a4c5e8f022627d8baebd51af2
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Mar 8 17:18:44 2011 +1100

    imsm: FIX: Variables declaration cleanup
    
    Variables declaration moved a little bit up,
    to not mix declaration and code.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4968025884885c078336e231f8f117e7e50618ba
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 8 17:14:00 2011 +1100

    Run Grow_restart/Grow_continue when assembling the content of a container.
    
    As containers can now grow, we need to use both Grow_restart (to
    replay any backup-file) and Grow_continue when assembling the content
    of a container.
    
    Note that we don't pass a backup-file when doing incremental assembly.
    If such is needed in that case, the assembly will fail.
    
    To restart such arrays, explicit assembly is required.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=072b112dfb182c8e1f9c953b35c55e4c869dd15b
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Mar 8 16:10:35 2011 +1100

    imsm: FIX: Return blocks_per unit for general migration
    
    For general migration, blocks per unit are required for all disks,
    not for per-member.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=20a40eca4b40068f6a45b9eab67320bd5de56f11
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 8 16:10:29 2011 +1100

    Change way that reshaping arrays with external-metadata are assembled.
    
    Now that the external metadata handler must provide an md-compatible
    old/new geometry, sys_set_array can do all of the array set-up for
    an array that is undergoing reshape.
    That leave less for reshape_array to do.
    
    Also clean up how reshape_array tells if the reshape has started or
    not.
    Don't use ->reshape_active as that doesn't tell us anything consistent
    at this stage, only use the 'restart' flag passed in.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3f83228aa83f00e83c15c1331d9e27c50c7a9fdc
Author: NeilBrown <neilb at suse.de>
Date:   Tue Mar 8 15:59:09 2011 +1100

    imsm: improve getinfo_super when reshape is in progress.
    
    If a reshape (migration) is happening, we might need to modify the information
    with provide to md so that it can cope with the reshape.
    For example, if a migration from 4-device RAID0 to 5-device RAID0 is
    happening, we need to tell md that it is reshape from degraded
    5-device RAID4 to degraded 6-device RAID4 so md doesn't handle direct
    reshape of RAID0.
    
    There may be other migrations supported by IMSM that need special
    treatment here.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e14e59602a3b0d1abd2a88ecc1e5fb895024b3e2
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Wed Mar 2 17:33:01 2011 +0100

    Enable error message in case of lack of spares for grow
    
    When we cannot find spare devices for grow operation we should
    print error message.
    This patch changes debug error message to 'stderr' print.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c8826c3e47dc25e3ad1bb6b747d7cad9dfb0eaa3
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Tue Mar 8 09:51:31 2011 +1100

    fix: generated udev rules does not work due to incorrect line format
    
    Problem consists of missing =sign in comparison with SUBSYSTEM and
    missing new line character at the end of line. As a result incremental
    for hot-plugs of bare disks does not work.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fa033beca9ad714d05b47b0e7d2df555797761ec
Author: NeilBrown <neilb at suse.de>
Date:   Thu Mar 3 09:04:42 2011 +1100

    ddf: exclude failed devices from container_content
    
    If a device is failed, then don't include it in the reported
    container_content, else it might get included in the array.
    
    Reported-by: Albert Pauw <albert.pauw at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=588bebfcc20d750b1d28f32888292e9605239434
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Mar 2 12:28:15 2011 +1100

    Continue reshape after assembling array
    
    assemble_container_content() cannot close mdfd handle, as it could be
    required by reshape continuation.
    mdfd handle is closed outside this function, when it is not longer
    necessary.
    Call to Grow_continue is added for reshape continuation after
    assembly.
    
    In the nearest future, simple condition:
        if (content->reshape_active)
    before Grow_continue() call will be replaced by check function
    for support container operation /reshape/.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2a093697741d11de7f48356d4da6a5bc4f7153af
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Mar 2 12:28:13 2011 +1100

    Add block_subarray()
    
    Put code for blocking subarray in to separate function.
    This little code/function will be used for blocking arrays from mdmon
    monitoring during assembly process. Arrays cannot wait for container
    assembly finish, because meanwhile monitor can enable arrays for writing.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ef5414b282ac79d04e3f9545acbcffc12eaf3468
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 28 16:07:19 2011 +0100

    FIX: Set readonly state in Grow_continue() when necessary
    
    When assembling array using assemble_container_content() for external
    metadata case, array is in 'readonly' state already.
    There is not necessary to duplicate this operation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=864a004f7e5059d845cb5dd177f23ec3c4e0565c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 28 16:07:11 2011 +0100

    FIX: Pass container name to reshape array for external meta data
    
    When calling reshape_array() for external metadata 'container name'
    parameter have to be passed.
    Find and pass container name in external metadata case.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=20c8698dfc04e591d36b0c101cbc61bb0967fc22
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 28 16:07:03 2011 +0100

    FIX: Spelling error in dprintf output
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c870b7dda3d22d2bd232125403b891706ce886c6
Author: NeilBrown <neilb at suse.de>
Date:   Wed Mar 2 11:34:49 2011 +1100

    mdadm.man: remove duplicate documentation for --array-size
    
    We somehow got to version of documentation for --array-size.
    So merge them it one.
    
    Reported-by:  Ville Skyttä <ville.skytta at iki.fi>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=882029c86d9617e838c5159496119c85bd87e27e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Feb 23 14:51:39 2011 +0100

    FIX: disks added beyond array should be counted during reshape
    
    During expansion there is more working disks that array can have.
    Disks with set raid_disk (not a spare disk) during reshape should be counted
    to allow array state transition to read_only state.
    
    Array reconfiguration to new geometry should be done before reshape will
    be started.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0ac3f649307280651f5f190101fa77ac61d5e4ea
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Fri Feb 25 07:30:51 2011 +0100

    Partitions could be meaningful on single-drive RAID0
    
    If we create a single-drive RAID0 array on partitioned drive,
    we do not lose information about disk structure after operation
    (partitions are visible on created array)
    Warning message:
    
    mdadm: partition table exists on /dev/sdX but will be lost or
           meaningless after creating array"
    
    is not necessary during creation single-drive RAID0 array.
    This patch removes the message.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1a2487c2cbb3a575ca26c4350d15dd9761fa02c1
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Fri Feb 25 02:17:18 2011 +0100

    FIX: imsm: OROM does not recognize degraded arrays (V2)
    
    Defect description:
    When we create an redundant array in mdadm and then degrade it
    by disk removing, Option ROM and Windows OS does not detect any array.
    Reason:
    Metadata created and updated after degrading array is not compatible
    with IMSM standard.
    
    This patch synchronizes the metadata according IMSM requirements.
    Following inconsistencies have been fixed:
    - reset all fields in imsm_dev during creation to avoid random values
    - init dev status during creation to proper state
    - not reset CONFIGURED_DISK flag when disk is missing
    - add ":0" suffix to the serial number for missing/failed disks
    - update medatada signature after takeover operation
    - mark map state as degraded after raid0->raid10 takeover
    
    Note:
    Patch reworked after Dan Willams review.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=866f509fb934a62ab2bc736214ee14636b8fb051
Author: Albert Pauw <albert.pauw at gmail.com>
Date:   Sun Feb 27 15:56:54 2011 +1100

    FIX: ReadMe.c -Y option missing in short_options
    
    Hi Neil,
    
    I noticed that the -Y option, as in mdadm -D -Y /dev/md0, doesn't work
    but used as --export it works.
    
    So I made a little patch to fix it, but it is simply sticking a Y in the
    list of short_options in ReadMe.c.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=75156c4690a0c9e037b60f53430f971b0c90c902
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 22 15:13:31 2011 +0100

    imsm: FIX: Report correct array size during reshape
    
    When reshape is started imsm stores new size in metadata.
    mdadm requires "old" size to proper initialization restarted array.
    
    When reshape is in progress getinfo_super_imsm_volume() should report
    computed array size value instead array size stored in metatda.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d2e6d5d65b49021e02af282191f46ae385f2cd23
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 22 15:13:23 2011 +0100

    imsm: FIX: initalize reshape progress as it is stored in metatdata
    
    reshape prodess cannot be restarted due to no checkpoint information
    in mdinfo.
    When metadata is read during reshape process or reshape restart,
    rehape_progress (mdinfo field) has to be initialized to value
    stored in metadata. This allows start reshape from stored
    in metadata checkpoint.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c21e737ba12903ecf3a4f42a119807d328f3f8c9
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Feb 22 11:25:07 2011 +1100

    set default chunk in validate_geometry
    
    When chunk size is not set from command line we need to guess it
    depending on metadata given on command line or found on listed devices.
    
    Validate_geometry sets the default for it's metadata if chunk is not set.
    For external metadata chunk is set only when creating in a container.
    For imsm validate_geometry_imsm_orom is responsible for finding default
    chunk depending on container metadata loaded. Container will already know
    which controller it is attached to, and have this controllers orom
    available.
    do_default_chunk indicates that we need to find default chunk and
    if validate_geometry fails for some metadata it tells us to reset chunk
    that may have been set.
    
    Current solution would set default chunk correctly for imsm only if
    container device was given on command line. With the list of devices
    chunk was always set to 512.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=55425f279ca20b43c151eaf0bc08e6882eef746e
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Thu Feb 17 22:46:00 2011 +0000

    fix: memory leak in Create
    
    match_metadata_desc allocates memory for st
    which is not needed after validate_geometry fails
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0081eb007cc5853fae716393307062f5d57a2cbc
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Thu Feb 17 22:43:19 2011 +0000

    modified message on failure to read metadata in Manage
    
    Loading container may fail if e.g. one of the disks in container
    has been detached but udev has not realized the change.
    Addition to such array will fail because reading superblock
    from one of disks in array fails.
    Current message is a bit confusing.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d43494fc3c074fc589d928aaf227806437ef530b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Feb 21 11:41:01 2011 +1100

    Teach --assemble --force to handle reshapes a little better.
    
    When we force-assemble an array which is in the middle of a reshape,
    we should repeat the reshape of any parts that aren't recorded in
    the oldest superblock.
    
    This is unlikely to make a significant difference, but could make
    a small difference, and is safer.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fa89bdeeafd200e8b496ba34da2fa54317093309
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Fri Feb 18 23:51:34 2011 +1100

    FIX: sysfs_disk_to_scsi_id() adapted to current sysfs format
    
    Problem: sysfs_disk_to_scsi_id() not returns correct scsi_id value.
    Reason: sysfs format has been changed
    
    This patch adapt sysfs_disk_to_scsi_id() to new sysfs format.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c4db530180e77ecf3fe0920b0f5c563655859dc1
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Fri Feb 18 23:51:19 2011 +1100

    User space RAID-6 access fix
    
    > I have applied some patch - with some formatting changes to make it consistent
    > with the rest of the code.
    >
    > I don't really have time to look more deeply at it at the moment.
    > Maybe someone else will?...
    
    Hi Neil,
    
    thanks for including this in git.
    
    Actually I did it look at it :-) and I already found a
    couple of issues, below is a small fix patch.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=51cf74194f70ff52ed460395c2bb6b61c2473e06
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Fri Feb 18 23:51:17 2011 +1100

    FIX: Seg Fault in incremental if BBM log detected
    
    Bug  detected for imsm metadata.
    Assembling of array using Incremental switch generate segmentation
    fault if BBM log is detected.
    Reason: missing return from Incremental_container if BBM is detected
    and unnecessary list=NULL assignment.
    This patch fix the problem and memory leak in this area.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c26d78fe040673b019e1c2e4a5507969d2869765
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 15 12:40:21 2011 +1100

    mdadm.man add encouragement to shrink filesystem before shrinking array.
    
    Before resizing an array with --size or --array-size, then filesystem
    should be resized.  mdadm cannot do this so the user should.
    
    Reported-by: Gavin Flower <gavinflower at yahoo.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=47573b0015943efd0564a6db6fd17fd8a7e76b39
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 15 10:45:01 2011 +1100

    Fix regression with removing 'failed' and 'detached' devices.
    
    If a request to remove all 'failed' or 'detached' devices chooses to
    remove the first device, it will not actually try the removal and will
    skip any following devices.
    
    This fixes it.
    
    Reported-by:  Rémi Rérolle <rrerolle at lacie.com>
    Tested-by:  Rémi Rérolle <rrerolle at lacie.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f58dd437412348b77bc09b79c656cf3472e9913d
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Mon Jan 24 18:54:06 2011 -0800

    fix extended partition detection
    
    # mdadm --detail --export /dev/md127p1
    
    Before:
    MD_LEVEL=raid5
    MD_DEVICES=4
    MD_METADATA=0.90
    
    After:
    MD_LEVEL=raid5
    MD_DEVICES=4
    MD_CONTAINER=/dev/md0
    MD_MEMBER=0
    MD_UUID=55746a20:925d24a7:4f9bd7e2:9c9a411f
    
    We parse the symlink target with a format:
    
    ../../block/mdXXX/mdXXXpYY
    
    ...and need the second '/' from the end of the string to read detect a
    'md' device.
    
    Reported-by: Krzysztof Wasilewski <krzysztof.wasilewski at intel.com>
    Cc: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5b660791b4afb9b24b13cbf4877ea62e4e832537
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 15 10:45:01 2011 +1100

    Fix regression with removing 'failed' and 'detached' devices.
    
    If a request to remove all 'failed' or 'detached' devices chooses to
    remove the first device, it will not actually try the removal and will
    skip any following devices.
    
    This fixes it.
    
    Reported-by:  Rémi Rérolle <rrerolle at lacie.com>
    Tested-by:  Rémi Rérolle <rrerolle at lacie.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b545e14a2142b946446cf80127c7c8801dab55c8
Author: NeilBrown <neilb at suse.de>
Date:   Mon Feb 14 12:17:08 2011 +1100

    analyse_change: fix calculation of after.data_disks and ->delta_disks.
    
    
    When changing level when a new number of raid disks was explicitly
    specified, we much make sure that the change implied by the
    change in level is properly incorporated into the final result.
    
    So explicitly track the change in number of parity disks
    (delta_parity) and use it together with delta_disks to determine
    final data_disks.
    Also set info->delta_disks so other code doesn't need to mirror
    this analysis.
    
    And add some errors in cases where a new number of disks was
    requested but is not currently supported
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f0cce4425b9dacadc22819163818284671d3008a
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 11:15:48 2011 +1100

    FIX: Add raid5 to raid0 case to analyse_change()
    
    Transition raid5 to raid0 was not covered in analyse_change()
    Missing case added.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=abef11a38d55c695d9fc94ffb370a98212e0a5a3
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 11:09:22 2011 +1100

    imsm: FIX: Add spare disks information to array description
    
    Spares that are specified on container can be used by any array in container.
    this means that for every array in container they should be reported.
    This let caller know how many spare devices (not used in any array)
    are still available.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=08f9e34bb5797e8681cddfec3a45ac3664df5710
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 11:06:31 2011 +1100

    FIX: Get spares from external metadata
    
    For external metadata cases, information about number of spares cannot
    be get via ioctl GET_ARRAY_INFO for particular array
    (as info variable is initialized by). In md this information is present
    in container object not array one.
    This causes need to get spare disks number from external metadata.
    
    This information is required for reshape_array() function to decide
    if spare disks number satisfy operation requirements.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=41784c88f3311d4d05bdec525af9aeb23f48eaa0
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 11:04:09 2011 +1100

    FIX: delta_disk can have UnSet value
    
    Delta_disk can be set to UnSet value.
    This can a cause to pass wrong parameter to reshape_super().
    To avoid such situations raid_disks and delta_disks parameters
    have to be passed to reshape_super() separately.
    It will be up to reshape_super() function validation
    and usage of this parameters to avoid not valid values.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=196b0d4497dcff4ab909e6ac7a2a581d2c744d47
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Mon Feb 14 09:27:43 2011 +1100

    fix: imsm: assemble doesn't restart recovery
    
    Because IMSM_ORD_REBUILD is set in second map not first.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=612e59d838b5480c2780a59f021eea2b32f3eb19
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Mon Feb 14 09:27:09 2011 +1100

    fix: imsm: size must be in K for rounding to chunk
    
    chunk is in K so size must be converted to K before it is rounded.
    Otherwise we may get wrong freesize returned
    resulting in creation failure.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7095bccbb0f367fd111869db29871e18560c1027
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 09:25:57 2011 +1100

    imsm: Add information about failed disk to '-E' option
    
    During metadata printout in '-E' option failed disk map field
    information is missing.  Add this information to mdadm '-E' option
    output.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e84f2c006ef41ad60064399f8352e82d34507961
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 09:23:37 2011 +1100

    FIX: array after migration should be unfrozen
    
    After level migration array is left frozen.
    When process is not externally forked reshape_array() should
    unfreeze array before exit (this is not container operation).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b53477997dedea4eb3f31263cce4afa3b16d36fb
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Feb 14 09:23:36 2011 +1100

    imsm: Use single migration type for all migrations
    
    Use single enum definition/migration type for all migrations.
    Using separate definitions causes limitation for number of changes
    in metadata implementation during single update for migration/reshape.
    Single CH_MIGRATION enum allows for many mtadata parameters change
    in single update. It will be possible to change i.e. chunk size together
    with raid level. In current implementation 2 metadata updates would be
    required for such action, one using CH_CHUNK_MIGR and second using
    CH_LEVEL_MIGRATION migration type.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=41bf155e122ef69b229538cf3e3a6c5969825104
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Feb 9 14:47:37 2011 +0100

    imsm: FIX: add raid5 to raid0 case to analyse_change()
    
    Transition raid0 to raid5 is not possible
    due to wrong condition in imsm_analyze_change().
    Current condition blocks migration possibility instead allow for it.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3600f9c168372eb9bfbadc8c99aabed1c4b78461
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Wed Feb 9 13:55:18 2011 +0100

    imsm: Test for raid1 -> raid0 takeover added
    
    Patch introduces test for raid1 to raid0 takeover operation
    verification for imsm metadata format.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d5312ebf6847a0e5529838e25a61ee7ece1141b7
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Feb 9 09:31:29 2011 +0100

    UT FIX: Pass all UT in suit 13
    
    Parameters in UT suit 13 were wrongly chosen. This causes that
    computed number of backup blocks was too big comparing to loop devices
    size used in test. Changes in test parameters (chunk, array size)
    causes that backup blocks passes mdadm condition for very small
    loop devices.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3cd4e7c4dd1f58eb4d3bc4069dec34a1422ead70
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Feb 9 14:07:33 2011 +1100

    FIX: md runs recovery instead reshape for growing single disk raid0 array
    
    Problem occurs when we want to expand single disk raid0 array.
    This is done via degraded 2 disks raid4 array. When new spare disk
    for reshape is added to array, md immediately initiates recovery before
    mdadm can configure and start reshape. This is due fact that 2 disk
    raid4/5 array is special md case.
    Mdmon does nothing here because container is blocked.
    This is caused because after takeover array is not in frozen state in md.
    
    Put array in to frozen state after takeover to allow mdadm to finish
    configuration before reshape is executed in md.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9e3254422dbce93aad7c24bfc81e15e9fcab8237
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Feb 9 14:07:26 2011 +1100

    FIX: Container can be left frozen
    
    When container operation fails before child process starts,
    array can be left frozen because container_reshape() doesn't make
    unfreeze() operation in all error cases, as it is responsible for.
    
    add unfreeze() operation for error case scenarios in reshape_container()
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8200f09e8fad8f67cc0f1231b4967ea373b0d56c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 8 14:30:45 2011 +0100

    UT FIX: imsm container can have different blocks number
    
    When imsm container is created it have different blocks number
    in /proc/mdstat depending on containing array raid level (raid0/raid5).
    raid5 case:
    md127 : inactive sdd[3](S) sde[2](S) sdc[1](S) sdb[0](S)
          2884 blocks super external:imsm
    
    raid0 case:
    md127 : inactive sdd[3](S) sde[2](S) sdc[1](S) sdb[0](S)
          836 blocks super external:imsm
    
    Due to this, it cannot be compared to one value for both cases.
    
    Test imsm container existence before unit test run only.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e7ff7e4092dc9bd94bf9e50223061ecbf8b37e90
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 8 14:30:37 2011 +0100

    imsm: FIX: Wrong output string format
    
    On wrong starting container reshape conditions, mdadm returns information on console:
    mdadmimsm: Operation is not allowed on this container
    
    it is changed to:
    mdadm: (imsm) Operation is not allowed on this container
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f6539edf2e8322de3bdf88e2e6354411dd24d229
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Feb 8 11:44:50 2011 +1100

    Spare migration tests updated
    
    Added tests for cases when:
    0  - there is no config file at all
    0a - config file has no domains defined
    9a - spare is in global domain
    15 - spare is in global domain for $platform metadata
    
    Test 4 pass condition changed for imsm metadata.
    
    disk_policy only adds controller domain for imsm
    when config_rules_has_path=1.
    If there are any domains in config then every disk will have also
    a controller domain.
    As a result the array needing spares has at least
    one controller domain even when it doesn't have any other
    domains specified explicitly. In this case any spare in the same
    controller domain matches when it has no other domains from config.
    (This behaviour is different from the case when there is no paths
    in config at all as array domain then is null and no spare matches)
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=21f3b9cc44091f05d0d55a9c9afb64d73068d04b
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Feb 8 11:44:42 2011 +1100

    fix: array is reassembled inactive if stopped during resync
    
    If initial resync or recovery of a redundant array is not finished
    before it is stopped then during assembly md will start it as inactive.
    Writing readonly to array_state in assemble_container_content
    fails because md thinks the array is during reshape.
    
    In fact we only have a reshape if both current and previous map
    states are the same. Otherwise we may have resync or recovery.
    Setting reshape_active in such cases causes the issue.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9d0e78406a8ae36d5da0fbbbb98069db4ede2476
Author: Piergiorgio Sartor <piergiorgio.sartor at nexgo.de>
Date:   Tue Feb 8 11:44:23 2011 +1100

    User space RAID-6 access
    
    > test_stripe assumes that the data starts at the start of each device.
    > AS you are using 1.2 metadata (the default), data starts about 1M in to
    > the device (I think - you can check with --examine)
    >
    > You could fix test_stripe to put the right value in the 'offsets' array,
    > or you could create the array with 1.0 or 0.90 metadata.
    
    Hi Neil,
    
    thanks for the info, maybe this should be a second patch.
    
    In the meantime, please find attached a patch to restripe.c
    of mdadm 3.2 (latest, I hope).
    
    This should add the functionality to detect, in RAID-6,
    which of the disks potentially has problems, in case of
    parity errors.
    
    Some checks take place in order to avoid false positives,
    I hope these are correct and enough.
    
    I'm not 100% happy of the interface (too much redundancy),
    but for the time being it could be OK.
    
    Of course, any improvement is welcome.
    
    Please consider to include these changes to the next mdadm
    whatever release.
    
    bye,
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f49ee92d5518a6192c792f38d240a7bfe1e01699
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 1 14:49:20 2011 +0100

    imsm: FIX: Size is already set in metadata
    
    In metadata size is set already during migration initialization.
    There is no reason for second /the same/ calculation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9653001d8ba785aa6d2d1df217df2b5404f29806
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 1 15:24:54 2011 +0100

    imsm: FIX: size have to be calculated based on first map
    
    Before reshape finalization migration is still present in metadata.
    After patch 'imsm: FIX: crash during getting map'
    function get_imsm_map() returns correct value,
    this means in our case from second (start) map.
    
    We should calculate map size basing on first (final) map.
    For this we should request it by setting second function parameter to '0'
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=70bdf0dcc307bb88d3f7100ec3f4d8a3d2e4ea58
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:57:25 2011 +1100

    imsm: move common code for array size calculation to function
    
    Array size calculation is made in the same way in few places in code.
    Make function imsm_set_device_size() for this common code.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ed7333bd683e2168bb5b7a15a7ec6cca5bef732c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:57:10 2011 +1100

    imsm: FIX: Debug strings cleanup
    
    Some debug strings remains as they were introduced,
    before code was moved to separate function.
    Information displayed by debug information in not all cases
    was correct.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d55adef98e6a9ee0550857d79e7ce4568a388092
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:47:52 2011 +1100

    imsm: fix: imsm_num_data_members() can return error
    
    imsm_num_data_members() can indicate error by returning 0 value
    In such case size cannot be set based on 0 value.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e154ced310878c96700cd0f73e5c5df60e6352b3
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:46:17 2011 +1100

    imsm: FIX: put expansion finalization in to one place
    
    When a->last_checkpoint variable can reach array end,
    reshape finalization can be put in to single place.
    
    There is no need to reset migration variables.
    imsm_set_disk() will call end_migration() and this sets
    all migration variables to required values.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=02eedb57aa0c6f7fdeda1b612f35545ab4eee58f
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:40:18 2011 +1100

    imsm: FIX: array size is wrong
    
    Calculation of size is almost ok, except concept of blocks.
    Size for setting in md has to be divided by 2 to be correct.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6d4225a131ae1169717e6dd6e4c95ad4f49de64c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:34:27 2011 +1100

    FIX: Last checkpoint is not set
    
    When reshape is finished monitor has to set last checkpoint
    to the array end to allow metatdata for reshape finalization.
    Metadata has to know if reshape is finished or it is broken
    On reshape finish metadata finalization is required.
    When reshape is broken, metadata must remain as is to allow
    for reshape restart from checkpoint.
    
    This can be resolved based on reshape_position sysfs entry.
    When it is equal to 'none', it means that md finishes work.
    In such situation move checkpoint to the end of array.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5e7b0330669594ee79201d19ff45a7850fa0f951
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Feb 3 17:02:39 2011 +1100

    imsm: FIX: crash during getting map
    
    When get_imsm_map() is called with second_map parameter == '-1'
    and array is not in migration state NULL pointer is returned.
    This is wrong. '-1' means return map as migration record points.
    
    '-1' can be passed to get_imsm_map() from imsm_num_data_members().
    imsm_num_data_members() is called to get current map members based
    on migr_state information
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a201e6803f622d6f780edcabaaa6a3986485000b
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 16:11:13 2011 +1100

    Release mdadm-3.2 - developer only release
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=71204a50293035e5e7eb4807285ac0181c69e4f3
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 15:48:03 2011 +1100

    Various compile fixes.
    
    Make "make everything" succeed.
    This fixed some real bugs.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=87eb4fabe316461cd1ad1600d41a81cd29882961
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 15:06:44 2011 +1100

    Various man page fixes.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=152b223157ce2f48407bd3aad7fb533fc6390c96
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:44:02 2011 +1100

    tests: add IMSM_NO_PLATFORM to some places that were missing it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f54a6742b2fc0f874cbb46f404aa4b4f94dad896
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:44:02 2011 +1100

    managemon: don't try to add spares when resync/recovery is happening.
    
    kernel should reject this anyway, and we really should not be trying
    as it can only lead to confusion.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a5d10dcec81b46f68d18408dcdced4235df99c55
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:44:02 2011 +1100

    Allow explicitly listed spared to be included by default.
    
    When the metadata doesn't identify which array a spare belongs to
    we normally require an explicit domain match to connect a spare
    with an array.
    However when the spare is explicitly listed in argv, it should be
    safe to include as long as there is no domain conflict.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e5508b361d970a7657c9f81303223fa114bdcd9b
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:44:02 2011 +1100

    Allow domain_test to report that no domains were found.
    
    Sometime we will need to know the difference between no domains found
    and domains didn't match.
    So allow domain_test to return different values and fix up all callers
    to maintain current behaviour.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d11128690b61e61c1ff12b2c4b3d7028a0715b1d
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:44:02 2011 +1100

    test: remind where the log file is.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3cdcfda4b0d0f1cd94ab1d7e287765c82f15d4e4
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 14:43:59 2011 +1100

    test: remove all the environment handling.
    
    Instead, just include the environ explicitly in the test file
    or, where shared, source the shared file.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e5e5d7cea390fd33d6be09ee6d8a47bc7695eb50
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 13:07:36 2011 +1100

    Incr: don't exclude 'active' devices from auto inclusion in a container.
    
    For containers, it is always appropriate to include a device in the
    container.
    Whether it should then be included in an array is a separate question.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ac597b1c2134b4342df3c957fa054c34e522bee9
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 13:07:24 2011 +1100

    free_super after assembling a container
    
    Else the devices are held open.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d438679977ea49a23103d2cfa1014a075e9f0770
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 13:07:07 2011 +1100

    Assemble: ignore unknown devices not listed on command line.
    
    If we find a device that has not superblock, we currently fail
    unless in auto_assem mode.
    However we really should only fail if the device was explicitly listed
    in the arg list.  So add a test for that.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3c7b4a25950aac37edfef59e7f9f0b57eab18d14
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Feb 1 10:40:56 2011 +1100

    Assemble: allow to assemble container with uuid=0:0:0:0
    
    When there are any arrays in config file the spares with
    domain not matching any array are not assembled because
    auto assembly is not attempted.
    Addition of ARRAY line with uuid=0:0:0:0 in config will work
    with modified condition for gathering spares.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bfd76b93090a80a746869e8c3f826f91550e9b39
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Tue Feb 1 10:40:56 2011 +1100

    Monitor: do not move partitions to external container
    
    Arrays on partitions are not supported for external metadata
    so do not take such spare from native array.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1dfaa38015ec7536eee46cb3f814d7fd4d3f689d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Feb 1 10:40:56 2011 +1100

    imsm: FIX: map coping causes mdmon crash
    
    Too big map was copied (outside allocated memory) and this causes
    mdmon crash for 2 raid0 arrays in container.
    Map of correct (smaller) size should be copied,
    to not overwrite any internal data.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=401d313b7f48ab5c4eea9d151ab10244d2c8b227
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 31 15:25:16 2011 +0100

    imsm: FIX: mdmon crash during 2 raid0 arrays expansion
    
    When expansion is run on 2 raid0 arrays in container no update
    is sent to mdmon because mdmon is off (mdadm performs update)
    Memory size for first reshaped array is allocated to satisfy memory
    requirements for expanded maps.
    Memory for second device is allocated using old disks number, as in
    metadata there is no information about this array reshape.
    When mdmon initiates second array reshape it overwrites internal
    structures and crashes). There is no place to keep expanded maps.
    To avoid this situation during loading metadata, allocated memory
    should be performed using the maximum used disks number in particular
    container.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=820eb8dba77b3b0aa7351aedf1af252a725d8f6f
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 31 08:59:30 2011 +0100

    imsm: Update metadata for second array
    
    When second array reshape is about to start external metadata should
    be updated by mdmon in imsm_set_array_state().  For this purposes
    imsm_progress_container_reshape() is reused.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d098291aec0152a52b4f80d7cb4486b5abe1e0d4
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 31 09:59:22 2011 +0100

    imsm:FIX: change arrays reshape order
    
    Reshape is started from second array, so it causes imsm incompatibility
    and problems during second array start.
    
    Reshape should be started in arrays metadata order.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e4b1107355815e16467cf8063c4a43996b55dc1e
Author: NeilBrown <neilb at suse.de>
Date:   Tue Feb 1 10:08:24 2011 +1100

    Grow: make sure to break out of the backup loop when finished.
    
    If there is nothing more to backup, then break out of the loop.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b8b286a639dd4ab19ace6f6c5dd092fbc3890276
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 17:09:20 2011 +1100

    Make sure odisks is consistent between creating and using the fdlist
    
    reshape_prepare_fdlist and child_monitor currently have slightly
    different ideas of the 'old number of raid devices' which can cause
    major confusion.
    
    So settle on one value, and assign it to odisks early and always use
    it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7f913e9b21cba3e522283b7f23d09fcddc37c218
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 17:04:37 2011 +1100

    Grow: round max_progress to old chunk size too.
    
    kernel requires sync_max to be a multiple of the current
    chunk size.  This is not really 'correct', but we need to work
    with it.  So round down.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0d711ba4d3b7fc72f6d02e3d452beb117379040b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 16:59:40 2011 +1100

    Allow test to detect 'resync=DELAYED' state
    
    There is no space around the '=' when resync is delayed,
    so allow for that in pattern matching.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca4fe0bfd3a070be087eb61da395c1d156cc95ac
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 16:57:40 2011 +1100

    Initialise all of file when opening backup file for reshape.
    
    Due to a miscalculation we didn't initialise the whole file.
    There is 4K (8 sectors) for the metadata, then the data.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1e971e71637c16b3694cc510b61cb451e2ae575c
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 15:32:19 2011 +1100

    Grow: when restarting, do set new details if they are already set.
    
    When restarting a reshape with internal metadata, the new geometry
    is already set and the reshape has been start (but has not been
    allowed to continue yet).
    
    So in that case, don't set things and don't ask for a reshape.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6ef421be178128544bfd488fba39503b7384a387
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 15:30:15 2011 +1100

    Grow:make sure 'array' is up-to-date before SET_ARRAY_INFO
    
    The value of 'array' might not be current, so SET_ARRAY_INFO
    and fail.  Just refresh it before setting raid_disks.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cdc60681488dfbe8fa855d474027b0f8e2c7c129
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 15:01:15 2011 +1100

    Grow: don't try setting new geometry when restarting a native reshape.
    
    md won't let us change raid_disks in this case, so don't even try.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c3f26510c6b2a9b634fd417e7fa3d4bf9674dd28
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 14:49:39 2011 +1100

    open_mddev: open RDONLY if RDWR doesn't work.
    
    If an array is read-only then "mdadm -S"
    cannot open it to stop it without this fix.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=562e70e4c4cec0f14125f9864770b6f228921b5c
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 13:53:35 2011 +1100

    Call free_super before attempting to add a new device
    
    Now that write_init_super doesn't close fds any more, we need
    to call free_super before the ADD_NEW_DISK ioctl.
    Also call free_super before some error returns, for cleanliness.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=210597d11f89cafb222435fed30abe977a968e30
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Jan 31 11:41:11 2011 +1100

    Man pages update for policy framework
    
    Includes description of POLICY line in /etc/mdadm.conf
    and of changes in Monitor and Incremental related to autorebuild.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c7cb34136a8d087d3098262dbb71cf90588da583
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Fri Jan 28 16:48:33 2011 +0000

    11spare-migration: pass conditions for tests 9 and 12 should be reversed
    
    Test 9: We do not block spare migration between different metadatas.
    test 13: Migrated spare must belong the same domain as destination -
    there is no additional condition for action.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=61a31627c6b8ef32cfb4bc1957d724669ec584c8
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Fri Jan 28 16:48:27 2011 +0000

    env-11spare-migration: imsm requires IMSM_NO_PLATFORM set with loop devices
    
    By default IMSM checks if member device belongs to AHCI or ISCI controller.
    When using loop devices one must disable these checks by setting
    IMSM_NO_PLATFORM.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6946681db03c076897616bd9aae27b127456d8f5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 11:34:42 2011 +1100

    Call free_super earlier when creating an array.
    
    As free_super now closes fds for member devices, rather than
    write_init_super doing it, we need to call free_super earlier,
    so that the device (on which we hold an O_EXCL open) is closed
    before it is added to the array.
    
    So close at the end of pass-1 rather than after pass-2.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e8090005357b0536b43d5c1899f2c508d2d76d59
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 31 11:33:18 2011 +1100

    super1: fix regression in write_init_super.
    
    Now that a 'supertype' container more information, the simplistic
    copying of 'st' into 'refst' is incorrect and results in closing
    some fds when load_super1(refst) calls free_super().
    
    So do it more correctly using dup_super.
    
    Reported-by: "Labun, Marcin" <Marcin.Labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cb82edca142b22b005a035a2f9678c3606e60339
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Jan 28 14:37:51 2011 +0100

    imsm: FIX: not all disks are released in free_imsm_disks()
    
    Adding spare disks to imsm container fails due to problem with writing
    new_dev to sysfs. This problem was caused by not closed handle
    (opened exclusively) in Manage.c:803.
    
    Disk handle was not closed by free_imsm().
    This is due to not released disk_mgmt_list in free_imsm_disks().
    
    Proper release of imsm metadata allows for spare adding without problems.
    Memory leak was fixed also.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a1e49d6956c0aa0a2accf77f79841dd4d5b69560
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Mon Jan 17 10:06:10 2011 +0000

    Monitor: avoid adding too many spares to container
    
    Tests revealed that sometimes there are still more spares taken
    than needed. The reason for this is that after adding one spare
    to container with degraded subarray
    if between ioctl in main loop and load_container in try_spare_migration
    mdmon activates the spare we see active<raid but find no spares in parent
    container and so add an extra spare.
    
    To prevent such behaviour we count active disks in the list returned
    by getinfo_super_disks and compare it with subarray->active.
    If the number has increased it means new spare was added and activated
    so there is no need for more.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=24aebf3addf0a839d0e13a17f2d3123cebb0a3e7
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 27 17:46:58 2011 +0100

    FIX: Meet SET_ARRAY_INFO ioctl requirements
    
    Problem has been observed when raid10<->raid0 takeover operation
    is executed.
    In code updating layout, raid_disks and chunk_size for non-restriping
    operations in reshape array functions SET_ARRAY_INFO ioctl call was
    not succeeded.
    Takeover process finish execution with error, mdadm shows message:
    "mdadm: failed to set disks"
    
    Cause is not meeting SET_ARRAY_INFO ioctl requirements:
    - only one parameter may be changed at one time
    - level of current array info and new info should be the same
    
    Patch introduces solution for this issue.
    At the beginning of discussed code we read current information
    about array and then compare them with new values should be set.
    If particular value is different (and should be set),
    we are overwrite only this one in array info and then call ioctl.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d5ca4a23fc278d6cfd05610b3c7e3ca63c416f8a
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 27 17:46:50 2011 +0100

    FIX: Remove disks in mdmon for external metadata
    
    For raid10 -> raid0 takeover operation we should reject disks
    in mirror by marking them as 'failed' and then remove them from
    array by writing "remove" to disk state.
    
    For external metadata second action is executed by mdmon.
    According the description in monitor.c:175 when monitor detect
    "faulty" in device state, it blocks the device, mark it as failed
    in metadata, unblocks the device and finally writes "remove"
    to device state.
    For external case writing "remove" to device state in mdadm
    is not necessary and harmful.
    It may cause following issues:
    1. "remove" operation for external case in mdadm is not finish
    with successful result because monitor may block the device or disk
    has been already removed by monitor.
    2. If disk is removed by mdadm earlier than mdmon catch "failed" state,
    metadata is not properly updated- is not marked as failed.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=10d0d365eb4b441664de136410655df8ab902806
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 27 15:44:39 2011 +0100

    WORKAROUND: mdadm hangs during reshape (PART #2)
    
    After loop can occurs that due to 0 value reported by kernel
    we have 0 in completed variable.
    This is wrong. we are interested in real completed point.
    0 value means that we reached sync point set in md,
    so we can set completed variable to just reached point.
    this point value is stored in max_progress variable.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fab32c97025672c3dc9876978e05d59609f73b75
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jan 26 16:04:06 2011 +0100

    FIX: start_reshape status should be checked
    
    mdadm should verify if reshape is started before it goes
    in to check-pointing machine.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a9c3e78fdd02abd0738bccbbb10d3a08deda1d2c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jan 26 16:03:41 2011 +0100

    FIX: Array after takeover has to be frozen
    
    Problem occurs when we want to expand single disk raid0 array.
    This is done via degraded 2 disks raid4 array. When new spare
    is added to array, md immediately initiates recovery before
    mdadm can configure and start reshape. This is due fact that 2 disk
    raid4/5 array is special md case. Mdmon does nothing here because
    container is blocked.
    Put array in to frozen state allows mdadm to finish configuration
    before reshape is executed in md.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d7d205bd25d4b5f18907fee12cbc38b934dfc033
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jan 26 16:03:33 2011 +0100

    imsm: FIX: do not allow for container operation for the same disks number
    
    imsm_reshape_super() currently allows for expansion when requested
    raid_disks number is the same as current.
    This is wrong. Existing in code condition is too weak.
    We should allow for expansion when new disks_number is greater
    than current only.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aa4cab513d6afb775b2a97c6ed5432fdecfc768b
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Mon Jan 24 18:54:06 2011 -0800

    fix extended partition detection
    
    # mdadm --detail --export /dev/md127p1
    
    Before:
    MD_LEVEL=raid5
    MD_DEVICES=4
    MD_METADATA=0.90
    
    After:
    MD_LEVEL=raid5
    MD_DEVICES=4
    MD_CONTAINER=/dev/md0
    MD_MEMBER=0
    MD_UUID=55746a20:925d24a7:4f9bd7e2:9c9a411f
    
    We parse the symlink target with a format:
    
    ../../block/mdXXX/mdXXXpYY
    
    ...and need the second '/' from the end of the string to read detect a
    'md' device.
    
    Reported-by: Krzysztof Wasilewski <krzysztof.wasilewski at intel.com>
    Cc: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=20b60dcd6cea6cb517cea31056241607a2964e5d
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 15:59:32 2011 +0000

    Dynamic hot-plug udev rules for policies
    
    Neil,
    Please consider this patch that once was discussed and I think agreed with in general direction. It was sent a while ago
    but somehow did not merged into your devel3-2. This patch enables hot-plug of so called bare devices (as understand by domain policies rules in mdadm.conf).
    Without this patch we do NOT serve hot-plug of bare devices at all.
    
    Thanks,
    Marcin Labun
    
    Subject was: FW: Autorebuild, new dynamic udev rules for hot-plugs
    
    >>From c0aecd4dd96691e8bfa6f2dc187261ec8bb2c5a2 Mon Sep 17 00:00:00 2001
    From: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Date: Thu, 23 Dec 2010 16:35:01 +0100
    Subject: [PATCH] Dynamic hot-plug udev rules for policies
    Cc: linux-raid at vger.kernel.org, Williams, Dan J <dan.j.williams at intel.com>, Ciechanowski, Ed <ed.ciechanowski at intel.com>
    
    When introducing policies, new hot-plug rules were added to support
    bare disks. Mdadm was started for each hot plugged block device
    to determine if it could be used as spare or as a replacement member for
    degraded array.
    This patch introduces limitation of range of devices that are handled
    by mdadm.
    It limits them to the ones specified in domains associated with
    the actions: spare-same-port, spare and spare-force.
    In order to enable hot-plug for bare disks one must update udev rules
    with command
    
            mdadm --activate-domains[=filename]
    
    Above command writes udev rule configuration to stdout. If 'filename'
    is given output is written to the file provided as parameter. It is up
    to system administrator what should be done later. To make such rule
    permanent (i.e. remain after reboot) rule should be writen to
    /lib/udev/rules.d directory. Other cases will just need to write it to
    /dev/.udev/rules.d directory where temporary rules lies. One should be
    aware of the meaning of names/priorities of the udev rules.
    
    After mdadm.conf is changed one is obliged to re-run
    "mdadm --activate-domains" command in order to bring the system
    configuration up to date.
    All hot-plugged disks containing metadata are still handled by existing
    rules.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d6bd632c412456256432a3e8e568ac53ffba21fb
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 27 10:24:25 2011 +1000

    Ignore/don't set data_disks for level=1
    
    When analyse_change sets level=1, data_disks is meaningless
    as is layout.
    So don't set them, and make sure we ignore them.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c8b06d82399051217a4dd1ede6fc3b678e4c3cdb
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 27 08:42:43 2011 +1100

    Mistake in raid1->raid5 migration
    
    1. Mistake in target level comparison.
    2. Initialize reshape->after.data_disks field
    to proper spares_needed calculation
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=dfe77a9ed2436f59e9ca35870102e2b18e4939d3
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 27 08:42:41 2011 +1100

    Add raid1->raid0 takeover support
    
    Add support for raid1 to raid0 takeover operation in user space.
    This patch includes support for native and imsm metadata.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=26d6e1574a1673d98a4cdd5a76d9c6f7de72e9d4
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 27 07:56:21 2011 +1100

    WORKAROUND: mdadm hangs during reshape
    
    During reshape when reshape is finished in md, progress_reshape() hangs
    on select().
    This is because 'sync_completed' is reset to zero before 'sync_action'
    becomes 'idle', and we don't look for notification on 'sync_action'.
    
    So if completed becomes zero after reshape_progress has made some
    progress, then deduce that reshape has finished.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=16d4d84e5d71eee62048921565b73c611870cdb6
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 27 07:31:25 2011 +1100

    FIX: monitor doesn't handshake with md
    
    when in container are present raid0 and raid5 arrays, and reshape order is:
    1. raid0 array
    2. raid5 array
    
    mdadm cannot set new raid_disks for raid0 array. For this action md has to have
    handshake with mdmon. We have the following conditions:
    1. Raid0 is not monitored
    2. raid0 has been just takeovered to raid4/5 (it has to be monitored
    3. monitor has to start monitor new raid4/5 array
    4. monitor is not started (it is started to second raid5 array)
    In such situation pig_monitor is required to let know to m monitor about new array
    (not in the starting monitor case only)
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=96234762a6dd8fb5be96650273c62d97da68d1ed
Author: Labun Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 17:44:12 2011 +1100

    imsm: support for Intel SAS controller in get_disk_controller_domain handler
    
    get_disk_controller_domain recognizes Intel (R) SAS controller (isci).
    The function returns three different strings that differentiate disk attached
    to AHCI, ISCI or unknown controller types to create separate domains
    for each case.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=155cbb4c2c68c32ac8f390d8ccd776b1870c93d9
Author: Labun Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    imsm: detail_platform_imsm supports Intel SAS controller (isci driver)
    
    Added support in detail_platform_imsm for Intel (R) SAS controller.
    Function supports AHCI and ISCI controllers. RAID properties are derived
    from common OROM for both types.
    
    Based on code From: Artur Wojcik <artur.wojcik at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=120dc8874526b2ce2fee6fbeec5e4300a44af7e7
Author: Labun Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    imsm: prepare detail_platform_imsm to support different types of controllers
    
    Pull out the AHCI specific parts of detail_platform_imsm to separate functions.
    Introduce support new types of controllers.
    
    Based on code From: Artur Wojcik <artur.wojcik at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=88654014d4e7e5fdeeda0037d6d48e83ad956e99
Author: Labun Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    imsm: support for Intel(R) SAS controller in imsm handler
    
    add_to_super_imsm handler is able to recognize new type of controller.
    It stores the controller information in its structures and blocks
    mixing of different controller type in the same container.
    In this way it maintains compatibility between Linux and Windows IMSM RAID
    stacks. IMSM metadata does not allow arrays to span on devices attached to
    different storage controllers.
    
    Based on code From: Artur Wojcik <artur.wojcik at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a8e5382a54aec050e72775d0605466076ef8a4b8
Author: Labun Marcin <Marcin.Labun at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    imsm platform: support for Intel(R) SAS controller.
    
    
    This patch adds platform support for SAS controller(s) built in Intel(R) Patsburg
    chipset.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: Artur Wojcik <artur.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=10ce18083dd0847764494eec1d1bf652c453d740
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    FIX: Reset disk state if disk is missing
    
    If we can't read actual disk state, it shoud be initiated
    to 0.
    Overwise it may be out of date value resulting false action
    later in code (e.g. set disk to improper state).
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=43d5ec18441580469ee190b5fb21e629fbb11a83
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:44:11 2011 +1100

    Check number of failed disks durig raid10->raid0 takeover
    
    Number of failed disks MUST be half of initial number of disks.
    If number of failed disks is different we should not update
    metadata- data corruption may occur after array reassemlation.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8ca6df95a25bf7190111459793f4353ba902e182
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:44:10 2011 +1100

    raid0->raid10 takeover- process metadata update
    
    Implementation of raid0->raid10 takeover metadata update
    at process_update level.
    - We are using memory previously allocated in prepare_update to
      create two dummy disks will be inserted in the metadata and
      new imsm_dev structure with expanded disk order table.
    - Update indexes in disk list
    - Update metadata map
    - Update disk order table
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=abedf5fc46da5ac25454cad6aab86e1654726720
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:44:10 2011 +1100

    raid0->raid10 takeover- allocate memory for added disks
    
    Allocate memory will be used in process_update.
    For raid0->raid10 takeover operation number of disks doubles
    so we should allocate memory for additional disks
    and one imsm_dev structure with extended order table.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0529c688e8fc5c51a6e402f4d13788121c90f7a9
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:44:10 2011 +1100

    raid0->raid10 takeover- create metadata update
    
    Create metadata update for raid0 -> raid10 takeover.
    Because we have no mdmon running for raid0 we have to
    update metadata using local update mechanism
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bb025c2f22c9c0cdf2d77c7a0e8298b3e3972538
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Tue Jan 25 17:49:03 2011 +1100

    Add raid10 -> raid0 takeover support
    
    The patch introduces takeover from level 10 to level 0 for imsm
    metadata. This patch contains procedures connected with preparing
    and applying metadata update during 10 -> 0 takeover.
    When performing takeover 10->0 mdmon should update the external
    metadata (due to disk slot and level changes).
    To achieve that mdadm calls reshape_super() and prepare
    the "update_takeover" metadata update type.
    Prepared update is processed by mdmon in process_update().
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f897078e8b250d1534a31e111e3168e82bfe532b
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 26 08:47:06 2011 +1000

    Fix some issues with setting 'new' state of a reshape
    
    - when reshaping a container, ->reshape_active is already set
      even though it isn't really active yet, so we need to set
      the new geometry even when reshape_active is set.  This is safe.
    
    - When restarting a reshape, make sure the reshape_position is set
      appropriately when external metadata is used.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1cc7f4feb9a979fdf7ac4bb06e5632b065d4f4d9
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 25 07:56:53 2011 +1100

    Don't close fds in write_init_super
    
    We previously closed all 'fds' associated with an array in
    write_init_super .. sometimes, and sometimes at bad times.
    This isn't neat and free_super is a better place to close them.
    
    So make sure free_super always closes the fds that the metadata
    manager kept hold of, and stop closing them in write_init_super.
    
    Also add a few more calls to free_super to make sure they really do
    get closed.
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=446d2a5ad48671be2e23676d9ea93af1b8dddf0b
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 09:13:44 2011 +1100

    Fix up analysis of reshape from RAID1 to RAID5.
    
    Need to allow raid-disks to change at the same time.
    
    NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e7a71c6b77ac5c750cfc5dea26fa4b587a4b70e8
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 09:06:31 2011 +1100

    reindent/reformat some code.
    
    Indenting was all wrong here, so fix it up.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=10af14c4d29ee2ac5f555c674fdc5d1a90b4b716
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 09:03:53 2011 +1100

    Be more careful about adjusting reshape_progress based on backup.
    
    Only adjust reshape_progress based on the backup that was found
    if the backup covered the current reshape_progress point.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=25da62d9adc9009a7f9d1234b784efac3c4ac24c
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 09:01:09 2011 +1100

    Correctly initialise backup_point when reshaping backwards.
    
    When reshaping backwards we only backup from backup_blocks to
    the start, so initialise backup_point appropriately.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2c6ac128c4e9057c9afcdf4097b92488466e52fc
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 08:59:00 2011 +1100

    error check reading of 'degraded' from sysfs.
    
    I'm seen mdadm spinning while failing to read 'degraded'.
    This doesn't really fix it, but is a reminder that it needs to be
    fixed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ddee071d3e19c4127bb2b4cd24ef79438e84e054
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 08:56:35 2011 +1100

    Initialise reshape_progress properly in reshape_array.
    
    Previously uninitialised.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=38dad34a350da3d3bf07941a92f471a7981314ef
Author: NeilBrown <neilb at suse.de>
Date:   Fri Jan 21 07:59:53 2011 +1100

    Fix management of backed-up region for hi-to-low reshapes.
    
    When reshaping from the end of the array to the start, for times
    when the number of data devices is decreasing, the handling of the
    backup area isn't a simple mirror of the handling on low-to-hi
    reshapes as the backup areas is always low in the array.
    
    So re-write that to make it work.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=55f14721920616a538c6ff1b4fa3b3cd68e41c7e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 17 15:06:02 2011 +1100

    FIX: Arrays cannot be opened exclusively
    
    When reshaping it is correct to open containers exclusively, but not
    arrays.  The array could very easily be in use, e.g. by a mounted
    filesystem.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e35b189b4e8e7b7c900c388e5fd678c1db1c81ba
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Mon Jan 17 12:56:43 2011 +1100

    Unfreeze for non re-striping transitions
    
    For non re-striping transitions array must be unfrozen
    before end of processing.
    For restriping transitions we normally let the child
    unfreeze the array but in this case there is no child.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=031d445c18a91eb140ce87cd05b0d3fec1f1b215
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Mon Jan 17 12:53:31 2011 +1100

    Set reshape.after.data_disks for raid0<->raid10 takeover
    
    reshape.after.data_disks field must be initiated
    for raid0<->raid10 transition.
    Instead calculated spares_needed variable in reshape_array
    function has random value.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=471bceb68151d322a97810a52f07512beadf4bd7
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Mon Jan 17 12:52:36 2011 +1100

    Define imsm_analyze_change function
    
    Function intended to use for single volume migration.
    Function analyze transition and validate if it is supported.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=300f503323bc601ec7f5e30cc798c3a711c6d373
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Mon Jan 17 12:46:14 2011 +1100

    fix: Monitor: min_size must be set to 0
    
    Otherwise a random value will be used for comparison later
    for native and ddf metadata (until min_acceptable_spare_size is defined).
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2a9f840972baf0819c5a63508a6b24a6f9251c55
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 17 12:44:52 2011 +1100

    FIX: sync_completed == 0 causes reshape cancellation in metadata
    
    md signals reshape completion (whole area or parts) by setting
    sync_completed to 0.  This causes in set_array_state() to rollback
    metadata changes (super-intel.c:4977.  To avoid this do not allow for
    set last_checkpoint to 0 if reshape is finished.
    
    This was also root cause of my previous fix for finalization reshape
    that I agreed earlier is not necessary,
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cf6ac177b437d9307605d747fb85479eadaf65d5
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 17 12:38:13 2011 +1100

    FIX: mdadm throws coredump on exit in error case
    
    When mdadm falls in "reduce size" error on takeovered array it jumps
    to release and tries execute backward takeover. This time sra pointer
    is not initialized and coredump is generated.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c0dc0ad5f8b9f11c49016467628e9f37b80a0853
Author: Czarnowska, Anna <anna.czarnowska at intel.com>
Date:   Thu Jan 13 13:22:16 2011 +0000

    fix: segfault if subarray is monitored but container is not
    
    In this situation to->parent is null so "to" doesn't change to
    parent container and to->metadata is still null.
    This results in segmentation fault when checking
    to->metadata->ss->external.
    We should just skip this array as container is needed to move spares to.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a93f87eee607d17024b92dccec9c0eff4dc42565
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 17 09:53:56 2011 +1100

    Add 'restart' arg to various functions used for reshaping.
    
    When we restart an array in the middle of a reshape, we reuse a lot of
    the code for starting the reshape, but it needs to know that
    circumstances are slightly different.
    
    So add a 'restart' arg which is used:
     - skip checking and adding spares
     - activate the array (rather than start reshape)
     - allow the backup file to already exist
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6d5316f66aed11f464d115a9dead4b15ec2bb246
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 17 09:53:25 2011 +1100

    Be more careful checking why reshape has stopped.
    
    If reshape_position reports 'none', check array_state to see if array
    is still active.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=18eaf9e553f5749b3ba527cf3bc069839a33486b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 17 09:51:33 2011 +1100

    Ignore error when setting sync_min
    
    When restarting an array that is in the middle of a reshape,
    sync_min cannot be set.  So just ignore any errors we get
    when trying to set it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=77a73a17be5d09933ca188aca0a2fb1e740a6715
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jan 17 09:51:25 2011 +1100

    Make sure child_monitor reliably reports whether reshape completed or aborted.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=631d7405f10aae55922eaf590e812c0f42390bb5
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 13 15:20:21 2011 +1100

    Clean up return path for reshape_array.
    
    
    Particular problem was that we didn't unfreeze if a reshape
    wasn't needed.
    
    But all that 'rv' stuff isn't needed and some of it was wrong,
    so simplify it all.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5dad078d992c8afce9486e33c5d7a79297e99a47
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 13 13:37:31 2011 +1100

    FIX: Mistake in delta_disk comparison.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=694575e7862eb53236b7626b6db264aa3e4d2f3a
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 13 13:02:44 2011 +1100

    reshape_super reorganization
    
    Function has been divided into two clear parts:
    1. Container operations
    2. Volume operations
    
    Prototype of imsm_analyze_change function has been added.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1cbc5680c8675d2e37a00988dbbe261ef40046cf
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 13 12:57:25 2011 +1100

    Clean up exit paths from reshape_array.
    
    We only 'goto release' on error, but that branch contained handling
    for non-error conditions:  reloading metadata.  Obviously that doesn't
    work.
    
    So re-arrange the code to make it more of a straight line that is
    easier to follow and reload the metadata if that might be at all
    needed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6b2d630c7d9b5103a31f6353f31c4ea2564b86f6
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 13 10:44:52 2011 +1100

    reshape_array: move lots of code out of a 'switch'.
    
    Everything other than the 'child' part of the 'switch(fork)' returns
    quickly, so leave them inside the switch but move the other large bit
    out so as to make the flow of code more natural.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9202b8eb6a239cf3c3518087db8725740b3a5b80
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 13 10:39:34 2011 +1100

    Fix up calls to unfrozen at end of reshape.
    
    1/ don't pass 'frozen' as an arg to unfreeze - just use it
       to conditionally call 'unfreeze'.
    
    2/ Always unfreeze at end of reshape_container
    
    3/ Only unfreeze at end of reshape_array if not 'forked'.  So when
       reshape_array is called from reshape_container it doesn't unfreeze,
       but when called directly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=04c3c514136a7bbda05def7538f6dfae5be8b14d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 13 10:16:07 2011 +1100

    imsm: FIX: spares are not counted
    
    Field info->array.spare_disks is used on begin of reshape_array() to
    check if there is enough number of spares to process reshape.  During
    container_content_imsm() call spare disks are not counted.  This
    causes that reshape_array() reports that there is not enough spares to
    execute reshape.
    
    Patch adds spares counting for reshape process.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=eb744788d10fd038fd57920149615775bc4b121c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 13 10:15:54 2011 +1100

    FIX: Cannot load container information
    
    When container is passed to grow_reshape(), load_container() function
    has to be used to get all required information from metadata.
    So load_super is never correct here - in particular, cfd is a
    'container fd' so we must 'load_container' on it.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=819bc6345e0e039bce2c1effe0e6603a5cb4bf95
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 13 10:06:29 2011 +1100

    imsm: FIX: old devices memory has to be released
    
    When process_update() replaces memory for bigger devices, old memory
    areas are collected in a list and has to be assigned in to pointer in
    update for later release.
    
    List created from old devices is created and attached to space_list
    for later releasing.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f557efbb3f517437bbcce1a2053254d7f443168b
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 13 10:05:31 2011 +1100

    imsm: FIX: local mdadm update shouldn't be done in update creation function.
    
    Local update is performed based on created update, so this code can broke
    local update and it is not necessary as prepare and process update functions
    are used.
    
    Code removed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8dd70bce5b0c5f498474e3a8183c3cf1872ff7fb
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 13 10:04:33 2011 +1100

    imsm: FIX: mdadm should process local data
    
    When update is created by mdadm, local information should be updated
    also.  This makes us to prepare one update for mdmon and second
    "update" to maintain local changes.  we can use prepared update for
    "local/mdadm" metadata update purposes.
    
    We have 2 cases:
    1. when metadata is updated by mdmon, we avoid metadata reloading in
       mdadm.
       we proceed the same updtate 2 times:
    	- one time in mdadm for "local update"
            - second time in mdmon for real metadat update
    2. when metadata is updated by mdadm (no mdmon running) updates are
       processed in the same way.
    	- one time in mdadm for "local update"
    	- there is no "second time" update but mdadm just flushes
              metadata to array
    
       This let us to avoid code duplication by using prepare and process
       update functions as for update via mdmon. This makes update
       preparing mdmon independent and there is no need to maintain the
       same thing in 2 places in code.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d8eb27f71a19b203e86d778a4edf92b2f0aaf5bb
Author: Kwolek, Adam <adam.kwolek at intel.com>
Date:   Wed Jan 12 21:42:44 2011 +1100

    FIX: size is passed incorrectly
    
    reshape_super() called from reshape_container() with size set to
    info->component_size gives size in reshape_super == -2 due to unsigned
    signed conversion (info->component_size is not initializes).
    
    As size is not changed during container reshape '-1' value is passed
    to indicate this.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3fa436ace267a11708b235593dca48a028fc6453
Author: Marcin Labun <marcin.labun at intel.com>
Date:   Wed Jan 12 17:11:56 2011 +1100

    Make text_version available to reshape_array for subarray processing.
    
    reshape_array uses text_version to reload the container content,
    so make sure it is available.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bbd24d86168c6a16ed99dc7a454262e6a9fd6930
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jan 11 15:04:19 2011 +0100

    imsm: FIX: only one spare is passed in update
    
    Only one spare is passed in update.
    When more than one disk is added first spare is passed multiple times.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ee4beede22cc5f413b8b2430c136706a39ea2090
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jan 11 15:03:55 2011 +0100

    imsm: FIX: set correct slot information in metadata (raid0)
    
    Slot was set based on anchor information.
    Disks information was copied outside disk list area.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4a011f1009c4d99e8df63bc7d7f538f4b01ff989
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 16:18:04 2011 +1100

    load_super  should not try to load_container
    
    Now that load_container is a separate operation, load_super
    should not try it first.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=de697acc4c8d0bc361cf5bd2edca33ade1274405
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Tue Jan 11 11:36:37 2011 +0100

    Monitor: skip array if error getting size
    
    load_super tries to load container first anyway but if it fails
    eg. after physically removing a disk
    then it tries to read metadata from container device.
    This will always fail and print confusing errors.
    So use load_container instead of load_super on container.
    
    On failure to read metadata we should skip this array.
    It will be dealt with the next time round.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2dd0d6971ca499b32ff9c0a4b2af6e66ad859723
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Jan 10 12:29:12 2011 +0100

    FIX: Fill sys_name for disk add
    
    Add disks fails due to empty sys name field.
    sysfs_init fills out required fields for add disk operation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=88c1a083919b53b2e6b4ca71d17e86a26d6e4b8b
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 15:59:24 2011 +1100

    Don't complain about missing spares when reshaping a raid0.
    
    To reshape a RAID0 we convert to RAID4 first.  This makes it look
    like it could be degraded and so we are tempted to ensure there are
    enough spares.  However this is not appropriate for RAID0, so
    explicitly exclude new_level == RAID0 in this check
    
    Reported-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=86e3692b06f255ead5c290288f0fe9318f75440d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Jan 12 15:12:44 2011 +1100

    imsm: FIX: update disks status in container_contents()
    
    Based on status information disks are added to array during grow (in reshape_array()).
    This information currently is not present and all disks (old and new) were added to md.
    To avoid adding already present disks, disk.state has to be set.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=999b497251a9db3c284c3ebd69d0d5e1903dd8dd
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 14:46:17 2011 +1100

    Make child_monitor a candidate for ->manage_reshape
    
    Child_monitor was design to perform 'manage_reshape' for native
    arrays.  So change the signature for ->manage_reshape to match
    child_monitor and move the all to the same place that child_monitor
    is called from.
    
    Also give super-intel a manage_reshape handler which simple calls
    child_monitor.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=da8100ca48c1f0b80d61a9c39e4a409ca09f6a19
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 14:42:51 2011 +1100

    Move setup of backup superblock into child_monitor
    
    child_monitor has overall responsibility for backups using the generic
    bsb, so move all handling under it's control.
    
    signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=832b2b9a7ed4f5f4ff3f1501552487e7fdf78caf
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 14:04:09 2011 +1100

    Add comment about future enhancement
    
    We currently suspend rather large sections of
    the array which can take a while to process.
    Possibly smaller sections are better.  Possibly it should be
    adjusted on a timeout basis.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e97ca00244fafec5d1ead0d90e86569616d9e3c6
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 14:01:36 2011 +1100

    Correctly handle the final partial backup of an in-place reshape.
    
    The array might not be a multiple of the chosen backup size, so
    the last bit to be backed up might be a bit smaller.  Handle that
    correctly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=49cd738ba240eecfda175f8eeca38861c6656c3f
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 10:51:44 2011 +1100

    Handle edge case with suspend_point updates.
    
    If reshape_progress equals suspend_point, it is also appropriate to
    update the end of the suspend region.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=60204e4e54c554fe1190d07635d96b8bdb71bb7f
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 10:44:58 2011 +1100

    Be more enthusiastic/flexible in backing up data.
    
    At some points we need to perform 2 backups at once so as to
    start the 'double buffering' approach.  So rather than assuming
    what the next backup should be, example suspend_point and backup
    as much as possible up to there.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=223c5c999ef9942e16455885f37752d0991f582f
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 10:40:56 2011 +1100

    Fix issues with the finish of monitoring a reshape.
    
    1/ We need to clean up the backup file after the reshape finishes.
    2/ We need to remove the suspended region and clear the resync
       controls after the resync finishes.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=965330727279c6d77d0c333a8d9fdddb03d1033d
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 10:37:26 2011 +1100

    fix array_size in child_monitor
    
    The array_size we need to consider is the largest possible size of the
    array, which is a different calculation depending on whether the array
    is growing or shrinking.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=92d1991fffcc56c7b7ce4667f847559e2df23449
Author: NeilBrown <neilb at suse.de>
Date:   Wed Jan 12 10:34:44 2011 +1100

    Fix calculations for max_progress and completed.
    
    
    'sync_completed' can sometimes have a value which is slightly high.
    So round-down relevant values to new-chunk size and that is what we
    want.
    
    Subtract from component_size after scaling down rather than before as
    that is easier.
    Make sure max_progress never goes negative when reshaping backwards.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d0ab945ee11ddc5d4ff301d09b6b91b95770bf31
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 15:20:40 2011 +1100

    Improve determination of when a backup is needed.
    
    The current code is right.
    Instead compute where we might eventually need to back up to, and
    then compare that to how far we have progressed.
    
    Also move suspend_point up towards where we might need to backup to,
    rather than just as far as max_progress - as max_progress can never
    exceed where we are currently suspended to.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2f3dd5e4bc8a7b895cf450294cbad9a3215311e0
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 15:07:57 2011 +1100

    Remove write_range from calculation of max_progress
    
    It isn't needed as we always work in multiples of full
    destination stripes.
    
    Also multiply by 'after' disks, not before.
    
    We can progress until the point we would write then lines up with
    where we would read now.
    We read now from
      array-address: reshape_progress   device-address: read_offset
    So we write then to
      device-address: read_offset    array-address:  read_offset * after.disks
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ec757320c24df8041b7cb56c1d9dd512e99e7043
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:57:14 2011 +1100

    Switch calculations of read_offset and write_offset
    
    These were backwards...  we read from 'before' and write to 'after'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b4f8e38b94dc10d7754e19dcc85f88a92c2a4387
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:51:09 2011 +1100

    Avoid confusing with 'blocks' number.
    
    The 'blocks' number computed by analyse_change is the number of
    blocks that it makes sense to back-up at a time.
    It is the smallest number of blocks that is a whole number of
    stripes in both the old and the new layout.
    
    However we are also using it as the smallest amount of progress
    that can be made at a time, which is wrong as it is always valid
    to progress a single stripe in the new layout.
    
    So change 'blocks' to be called 'backup_blocks' to make it more clear.
    And pass new_chunk size down so it can be used for 'minimum forward
    progress' calculations.
    
    Also set 'stripes' (the amount actually backed up) from the
    possibly-scaled 'blocks' number rather than ignoring it and using
    backup_blocks.
    
    Finally, get rid of 'read_range' as it isn't used (or needed).
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6eb48844a5c3f3638c0ff0359c6e1fc9c3debf8f
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:41:49 2011 +1100

    Correctly abort level change when reshape_array fails.
    
    We were returning too early.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=374ba335cb1a4f34f49a9f8c522349742988579e
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:41:48 2011 +1100

    Misc reshape_array fixes.
    
    1/ test on spares_needed is backwards
    2/ stray white space
    3/ reuse a goto instead of explicit exit().
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f94eedafc1ebdb463bef972d325ab6d20a531283
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:41:47 2011 +1100

    Avoid double-unfreeze of arrays  during grow.
    
    Once we have called reshape_container or reshape_super we have handed
    on the responsibility for unfreezing the array, so Grow_reshape
    shouldn't call unfreeze.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4a8703648aaf40a53f73298bd1351ea92682ee52
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:41:46 2011 +1100

    analyse_change fixes
    
    When converting to RAID6, the new layout should match the old
    layout, not the RAID6 version of the old layout.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b6b951557d4e53257e1e4b3e3c0aa34445339980
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:41:42 2011 +1100

    Fix some typos in fprintf messages.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3656edcdc65cfff6e6647a3e13fc2b3a6b3ee435
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 14:16:11 2011 +1100

    Grow: fix type when 'or'ing flags together.
    
    '||' should have been '|'
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f28668b93b94521f8ffafa9aab0c608b7c99081
Author: NeilBrown <neilb at suse.de>
Date:   Tue Jan 11 13:23:16 2011 +1100

    Ensure start_reshape copes with unexpected state
    
    We want start_reshape to work no matter what the current values
    of suspend_lo/suspend_hi are.  So initialise suspend_lo very high
    as this allows suspend_hi to be set to anything.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4867e068e3cc790fe084f0687b5aea70524dfbfb
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 19:27:25 2011 +1100

    Raid0: detect reshape on array start
    
    When raid0 array is takeovered to raid4 for reshape it should be possible to detect
    that array for reshape is monitored now for metadata update.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=89c6788213f59080261cc678815548cd1d2268a1
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 19:20:25 2011 +1100

    imsm: FIX: do not repair raid4 arrays
    
    As raid4 is not supported by imsm (this is takeovered raid0)
    do not fix degraded raid4 arrays.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1b3cbac57fd8256d4b1609e5b2a6fba4773cc096
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 19:20:01 2011 +1100

    Raid0: execute backward takeover
    
    After raid0 reshape is finished backward takeover has to be executed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=57f8c76946f0b445433f045d6cf522df45590be5
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 19:17:29 2011 +1100

    Detect level change
    
    For level migration support it is necessary to allow mdmon to react for level changes.
    It has to have ability to change configuration of active array,
    and for array level change to raid0 finish array monitoring.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ed08d51c1a923c07d99a9d33357817afeff95238
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 19:14:24 2011 +1100

    imsm: Update raid0 metadata for reshape
    
    When raid0 reshape is performed metadata has to be applied by mdadm.
    (without mdmon)
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2e5dc01050958ef1c606fc0bda3371658093969d
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 6 19:10:04 2011 +1100

    imsm: Move reshape update processing to function
    
    For code reuse in raid0 reshape case when monitor is not loaded.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=73cb8d43f4b5d307651b6bd1074675a88ceb686e
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:42:53 2011 +1100

    Add spares to raid0 in mdadm
    
    When user wants to add spares to container with raid0 arrays only
    it is not possible to update metadata due to lack of running mdmon.
    To allow for this direct metadata update by mdadm is used in such case.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0e2d1a4e68976eeee97950fd5e9127c6a2f31266
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:23 2011 +1100

    imsm: Update metadata for second array
    
    When second array reshape is about to start metadata should be updated
    by mdmon in imsm_set_array_state().
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=582496b2c207d0e9e7978992518eab3e8d44e70d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:20 2011 +1100

    Set array size after adding new disks
    
    When new disks are added array size has to be set by mdadm as array grows.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ef83fa1a7c48d356df0ef4408ee4ac89bab6c48a
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:15 2011 +1100

    imsm: update array size information in metadata
    
    When disks are added size has to increase in metadata.
    This size should be used by common code to set size in md when reshape will be finished.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6345120e387df797bb734bea907112ef1b226030
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:11 2011 +1100

    imsm: FIX: Division by 0
    
    For general migration function blocks_per_migr_unit() has to return valid value.
    If there is no valid return, 0 is returned instead and causes division by 0 error.
    Additionally guard in function was added for such case.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a4546b618996b3a239936062ad5c3015d6d83f28
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:07 2011 +1100

    imsm: Finalize reshape in metadata
    
    When reshape is finished monitor calls set_array_state() and finishes migration in metadata.
    This change allows for finishing metadata migration on reshape end.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7477d51305f2daf410f19c476aee882f2cf9c560
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:03 2011 +1100

    FIX: Use sysfs to change array parameters
    
    For external metadata parameters has to be changed via sysfs.
    i.e. change of raid_disks requires handshake mdmon<->md (md_allow_write())
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9ff87c16ce8981f62441c86dac95d25d98061a35
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:29:02 2011 +1100

    FIX: Get array information in reshape_array()
    
    Uninitialized array structure is used.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b335e593058ed42c055ade9b37ea8cd752e3824f
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 18:28:56 2011 +1100

    imsm: FIX: support general migration by getinfo_super_imsm_volume
    
    Add support for reading volume information during migration process.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=834acc0bd203c4ccc31f9292187e5318058fca39
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Jan 4 15:36:57 2011 +0100

    imsm: FIX: update first array in container only
    
    During first metadata update imsm for compatibility reason should update
    only one array.
    Buffers in prepare_update() are prepared for second update as well.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1bb174ba0ba61bba95756dd873297897183b81a0
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 16:56:05 2011 +1100

    FIX: get updated information from metadata
    
    Metadata is not modified by metadata preparation handler.
    It has to be read again from array.
    There is 2 read required:
    1. before 'for' entry to get updated information after reshape_super() call
    2. inside 'for' loop to get updated information for every processed array
      (it can happen /i.e. imsm case/ that container operation is a set of array operations
       and information in metadata is changed after every loop).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d677e0b8ec1b643360375a69ff7bf26cd63c3f94
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 16:24:07 2011 +1100

    imsm: FIX: Perform first metadata update for container operation
    
    Meta data was not updated due to the following problems:
    1.disk index < 0 was treated as invalid, but this is spare device
    2. disk index greater than currently used disks is correct also
    3. newmap pointer has to be refreshed for second map copy operation
    4. size calculation has to be guarded for shrinking operation
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=690aae1ae5a65b56b4e9749c603fb314d94df1d2
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 16:22:01 2011 +1100

    imsm: FIX: display error message
    
    When container operation is not allowed user has to get proper information on console about it
    Currently this information was displayed as debug info only.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=dd8bcb3b69f810491f290525db613e289abe569b
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 16:11:35 2011 +1100

    imsm: FIX: display correct information for '-E' option
    
    Correct information displayed by '-E' option.
    1. FIX: Slot information during raid0 migration is displayed incorrectly
            (missing disk position is taken from wrong map)
    2. Improvement: information about (level, members, chunk size) migration is displayed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=98130f4013fe7c68f3bff42ee3b2367b7bff410d
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Jan 6 16:08:04 2011 +1100

    mdadm: second_map enhancement for imsm_get_map()
    
    Allow map related operations for the given map: first of second.
    For reshape specific functionality it is required to have an access
    
    Until now, the active map was chosen according to the current volume status.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f6f53092ffb0eea4bd1716cc38ce785b94748e8d
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Jan 6 16:07:20 2011 +1100

    FIX: Position calculation in mdstat_by_subdev
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7443ee81873b26516bc672cbe6a736030c5ec746
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 6 15:58:32 2011 +1100

    Refactor reshape monitoring.
    
    Combine all the non-backing-up code into a single function:
    progress_reshape.  It is called repeatedly to monitor a
    reshape and allow it to happen safely.
    
    Have a single separate function 'child_monitor' which
    performs backups of data and calls progress_reshape to
    wait for the next backup to be needed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5da9ab9874cb5896023afae1462550d83a869831
Author: NeilBrown <neilb at suse.de>
Date:   Thu Jan 6 15:58:00 2011 +1100

    Grow_reshape re-factor
    
    Significant rewrite/refactor of Grow_reshape to make it easier to work
    with externally-managed-metadata.
    
    This patch it too big, but we'll just have to live with that.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=037e12d6da9959308cf089077202b8b7aedbbc6e
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Jan 5 14:42:27 2011 +1100

    Incremental: move suitable spares to container when subarrays started.
    
    By default Incremental places all imsm spares in separate container
    with uuid=0:0:0:0. (patch giving spares uuid_zero needed)
    
    When we find enough members to start an array
    we are able to determine domain so we search spare container
    for suitable spares and move them to the container that
    is currently assembled.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d52bb542d406071d7be6c180703d981a07eb8aed
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Jan 5 14:34:32 2011 +1100

    move_spare function modified and moved to Manage.c
    
    It will also be needed for Incremental.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=326727d9c985b8f58fd53d6efcc4bd6e1721bfb5
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Jan 5 14:34:14 2011 +1100

    Use one function chosing spares from container
    
    container_chose_spares in Monitor.c and
    get_spares_for_grow in super-intel.c
    do the same thing: search for spares in a container.
    
    Another version will also be needed for Incremental
    so a more general solution is presented here and
    applied in two previous contexts.
    
    Normally domlist==NULL would lead an empty list but
    this is typically checked earlier so here it is interpreted
    as "do not test domains".
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ed7fc6b4d91a5342886ba6fe6d175f69f0875d3b
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Jan 5 13:54:18 2011 +1100

    Assemble: allow to assemble spares on their own
    
    If we find spares but no members of given array
    we create container with just spares.
    
    This allows auto assemble to pick up all lose imsm spares when there
    is no config file.
    When there is a valid config file and any array is assembled from it
    we don't try auto assembly so we will not assemble spares that don't
    match any array.
    To remedy this we must add
    ARRAY metadata=imsm UUID=00000000:00000000:00000000:00000000
    to config file.
    This container will include all remaining spares.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=26b05aeaede6fbdf92807324ab94f9c15c1cc2c5
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Jan 5 13:42:59 2011 +1100

    Assemble: we need to read policy to know array domains
    
    Policy must be read on all disks identified as array members
    to get array's domains list.
    Currently it is only read on first array member in auto assembly mode.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fee6a49ee80d1c93f7345eb3420abd229438794f
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Sun Dec 26 22:38:44 2010 +1100

    Consider target only for spare-same-domain
    
    otherwise, matching target will force spare-same-domain regardless of
    action that comes in domain.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4886570497e369550608666bd7c1d4638e47a8c1
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Sun Dec 26 22:38:42 2010 +1100

    Validate size of potential spare disk for external metadata (with containers)
    
    mdinfo read with sysfs_read do not contain information about the space
    needed to store data of all volumes created in that container, so that
    spare can be used as replacement for existing subarrays in the future.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b6b3f0f7ebb00c264421fb09e5634fd28994e0e7
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Sun Dec 26 22:36:46 2010 +1100

    Skip domain check for spare-same-slot
    
    If lost disk was the only one that belonged to particular domain, array
    won't match with that domain any longer. We can achieve this by moving
    domain check below the 'target' test.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b4924220f1ab5ae078287411058ec5294e360e2d
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Sun Dec 26 22:33:14 2010 +1100

    Added test for array degradation for spare-same-slot
    
    spare-same-slot allows re-adding of missing array member with disk
    re-inserted into the same slot where previous member was plugged in.
    If in the meantime another spare has been used for recovery, same slot
    cookie should be ignored.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5be68a0762f479724da5e579c2b8fbf9f6a28d6a
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Sun Dec 26 22:31:25 2010 +1100

    external: get number of failed disks for container
    
    Container degradation here is defined as the number of failed disks in
    mostly degraded sub-array. This number is used as value for
    array.failed_disks and used in comparison to find best match.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cbeeb0e5f016044190c4bcc61393048536608770
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Sun Dec 26 22:08:51 2010 +1100

    Assemble imsm spares in matching domain only
    
    Imsm spare will only be taken if it matches domain of
    identified members of currently assembled array.
    
    This implies that:
    - spare with null domain will match first array assembled.
    - if array has null domain then no spare will match
    
    If we allow spares to set st they may block assembly of subarrays.
    This is because in auto-assembly tmpdev->used=0 for a spare not matching
    any array. If we find such spare before container and set st, the content
    will not get assembled.
    
    We allow uuid_zero match any uuid in assembly as unsuitable spares will
    be rejected on domain check.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=22e263f64a7c1075f162615b700676514efca3c5
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Sun Dec 26 21:59:31 2010 +1100

    imsm: set imsm spare uuid to 0
    
    uuid_match_any is replaced by uuid_zero for imsm spares.
    
    Function fixup_container_spare_uuid not needed as it gives
    unwanted uuid to spares.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4f8a3e5baf77a3951b42d9522d75f0e7915912ec
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Sun Dec 26 21:59:14 2010 +1100

    Enable tests for OLCE, takeover, migrations for imsm metadata
    
    Patch provides set of tests for On-line Capacity Expansion,
    takeover, migrations operations for imsm metadata type.
    Tests are grouped by operation type:
    12 - On-line Capacity Expansion on one volume
    13 - On-line Capacity Expansion on two volumes
    14 - Negative tests for takeover, migrations
    15 - Chunk size migrations
    16 - raid0 -> raid5, raid5 -> raid0 migrations
    18 - takeover operations
    To run particular test group, following command should be executed:
    (from mdadm's source code root directory)
    ./test <group number>
    Example:
    To run On-line Capacity Expansion on one volume tests:
    ./test 12
    Tests execution results:
    - In case of test pass, "succeeded" word is printed on console
    - If test is failed, "FAILED" word is printed on console
    and logs are stored in <mdadm-root-dir>/tests/log/ directory
    
    Signed-off-by: Artur Wojcik <artur.wojcik at intel.com>
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a06d022db41ed624125e343f9a5de278c5d32ae3
Author: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
Date:   Thu Dec 16 14:34:54 2010 +0100

    FIX: Bad block verification during assembling array
    
    We need to refuse to assemble an arrays with bad blocks.
    Initially there was condition in container_content function
    that returns error value in the case when metadata store information
    about bad blocks.
    When the container_content function is called from functions NOT connected
    with assemble (Kill_subarray, Detail) we get faulty error return value.
    Patch introduces new flag in array.status - MD_SB_BBM_ERRORS. It is set
    in container_content when bad blocks are detected and can be checked by
    container_content caller.
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e53763098186f2a7708feb2b9b779c5b7cdb9a71
Author: NeilBrown <neilb at suse.de>
Date:   Tue Dec 21 09:14:10 2010 +1100

    Remove stray 'free' in block_monitor.
    
    This value is passed in by caller so we should not be
    freeing it.
    
    Reported-by: "Wojcik, Krzysztof" <krzysztof.wojcik at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8659d089983ff315c2322f904523b72fd2bccfc2
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Tue Dec 21 09:11:34 2010 +1100

    fix: incremental for bare disks returns invalid value
    
    return value should remain the same as result of Manage_Subdevs (last
    significant operation). Right now it is inverted what results in
    error status for successful operation.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ed690d36e26597aa8fdbebe4f3134d1213811416
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Tue Dec 21 09:10:32 2010 +1100

    fix: adding spare via incremental do not trigger recovery
    
    After incremental has added spare, monitor should be woken up in order
    to see if anything has changed. If mdmon is not waken up, recovery do not
    start.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5ec0f3738aaadfdf182b830df520731a544b45ee
Author: Marcin Labun <marcin.labun at intel.com>
Date:   Thu Dec 16 15:16:12 2010 +0100

    Monitor: Check destination array domain early.
    
    Destination arrays that do not have any domains are excluded
    from spare sharing. We can check it early, without searching
    for donor arrays.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0d30ccec0e1e9ea6a78e7b7d9d0c8a540868e265
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 22:12:26 2010 +1100

    mdmon-design.txt
    
    Add document discussing design on mdmon
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=81ac8b4d5672deee5920c51b3e729ab3cd205077
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 16 15:55:40 2010 +1100

    imsm: Fill delta_disks field in getinfo_super()
    
    delta_disks field is not always filled during getinfo_super() call.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4c9bc37b9719a9ea3e151b6234595e87a3b1ba62
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 16 15:48:27 2010 +1100

    imsm: Do not indicate resync during reshape
    
    If reshape is started resync is not allowed in parallel. This would
    break reshape.  If array is in General Migration state do not indicate
    resync and allow for reshape continuation.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aad6f216a1c667ddfbb9a4a4c379ff32f69f962f
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 15:48:05 2010 +1100

    Handle checkpointing during reshape
    
    We need to allow metadata to handle progress of reshape,
    completion, and abort-before-start.
    
    Include all those in ->set_array_state()
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1af97990a6c8930c97f7943f0dac4b775c688274
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 16 13:17:47 2010 +1100

    imsm: Block array state change during reshape
    
    Array state change is blocked due to reshape action in progress
    metadata changes are during applying.
    
    '1' is returned to indicate that array is clean
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d195167d9ca3eba2c8aea52e254d85d1f1e51e99
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 16 13:17:45 2010 +1100

    imsm: Process reshape_update in mdmon
    
    For this update prepare_update() allocates memory to relink imsm
    (bigger) device imsm structures. It calculates new /bigger/ anchor
    size.
    
    Process update applies update in to imsm structures.  This includes
     - converting selected spares into configured devices
     - marking the arrays as migrating
     - making a new 'map' for each array with the changed details.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cb23f1f4c33d495c05a37ded7acecdeaebdabf14
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 12:10:01 2010 +1100

    Allow a metadata update to have a linked list of allocated spaces.
    
    Sometimes one metadata update will require allocating several
    larger data structures.  As 'monitor' cannot allocate, 'manager'
    must, so it must be able to attach a list of allocates to the
    update, and importantly it must be able to easily free them.
    
    So add a 'space_list' element to metadata updates where each
    element on the list starts with a pointer to the next.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=78b10e663c35a301406facbda3f5be02973e2ba4
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 11:45:21 2010 +1100

    imsm: Prepare reshape_update in mdadm
    
    During Online Capacity Expansion metadata has to be updated to show
    array changes and allow for future assembly of array.  To do this
    mdadm prepares and sends reshape_update metadata update to mdmon.
    The update contains the old and new number of raid disks, and the
    indices of the spare disks that will be used to fill the spaces.
    
    This works as follows:
    1. reshape_super() prepares metadata update.
    2. mdadm discovers the spares and adds them to the array
    3. mdadm sends the update to mdmon
    4. managemon in prepare_update() allocates required memory for bigger
       device object
    5. monitor in process_update() updates the metadata to record the
       new sizes and the newly assigned devices.
    6. mdadm initiates the reshape
    
    Based on code From: Adam Kwolek <adam.kwolek at intel.com>
    
    Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=94827db3b336c59c23bb1c29692d5045af7f4bec
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 11:33:23 2010 +1100

    imsm: add spares to --examine output.
    
    When we examine a container, list the spare devices as well as
    the active devices.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f99b4bd73c916004fe94d17c7f37c8c6f68c8b8
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    mdmon: when a reshape is detected, add any newly added devices to the array.
    
    When mdadm starts a reshape, it might add some devices to the array
    first.  mdmon needs to notice the reshape starting and check for any
    new devices.  If there are any they need to be provided to be
    monitored.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b5420ef325eb2d80da9002a5805d6161f551dc0c
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    Grow: add disks chosen by metadata handler to array for growth.
    
    With externally managed container based metadata, the ->reshape_super
    method must choose any spares that are to be added to the array.
    They should be prepared so that ->container_content will find them
    as spares (disk.state == 0) which are assigned to a slot
    (raid_disk >= 0).
    We need to take those and add them to the array(s).
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4347544720e154698dac981292be4d9fea4148ee
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    Grow: call start/abort_reshape as appropriate when reshaping a container.
    
    This means that ->manage_reshape will be called with reshape ready to
    roll.
    
    Also move the current start_reshape call earlier so that it is before
    the other ->manage_reshape call.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d18bfbe3d0343ac735a4f35c122de7c48a2915ac
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    Grow: make sure rv is set correctly in reshape_container_raid_disks
    
    Whenever there is an error, rv must be -1.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=47eb4d5a180a2fc0cdf25c82ce35b5bd5f23c712
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    Grow: split out start_reshape for initiating reshape via sysfs.
    
    Rather than sprinkling various sysfs setting around, put them all
    in one place.  This will make implementing ->manage_reshape easier.
    
    This changes behaviour slightly.
    Previously we would not set 'sync_action' to 'reshape' until we were
    ready for the process to start.  Now we set sync_max to zero and set
    sync_action to 'reshape' at that time.  When we want reshape to
    actually start we advance sync_max.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7d469585fc55f042ab95ea6edad24ec9e9e15cb1
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:52 2010 +1100

    Grow: fix calculation of stripe_cache_size when reshaping.
    
    The two places that this was done were different.  The original was
    most correct, thought it used odisks rather than odata.
    
    So fix that and make them both use the same calculation.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=76266030d68d35a2342b7d0f7517daa6401bc5af
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:51 2010 +1100

    Grow: be more careful about metadata updates.
    
    1/ When we sunc_metadata, we must reset ->update_tail else
       future metadata updates might go direct to the device bypassing
       mdmon.
    
    2/ When converting to an array with redundancy so we can add disks
       it is neater to sync_metadata before starting mdmon rather that
       artificially setting update_tail early.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=885f984583a08bd64ea0e3e04abc0712828a1276
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:51 2010 +1100

    Grow: be extra careful about races when freezing an array
    
    If any subarray has any spare devices, then something raced,
    and we should abort the reshape.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d7ca196cbda7ec5e6d2a3139a5545e3e0d57a67e
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:51 2010 +1100

    Grow: check container is idle before freezing it.
    
    Before we freeze a container in preparation for growing a subarray, we
    need to be sure all the subarrays are idle.
    
    This test is racy as recovery could start at any moment following a
    failure.  However it is still useful as it stops us from even trying
    to start a reshape while a reshape or recovery is active.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=11877f4dc2c9943058eaa94788f523c6004a0d5f
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:51 2010 +1100

    Split fmt_devnum out from devnum2devname
    
    Sometimes we want to convert a devnum to a devname without allocating
    memory.  So provide function to do the formatting without allocation.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8bd67e345e1451f209722f892c9f8003498b2a5c
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 16 09:07:51 2010 +1100

    Update external reshape documentation.
    
    Revise documentation for external reshape, correcting some problems,
    and clarifying some issues.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6c932028981f82b69044214623d5175ebd06d8fa
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Wed Dec 15 10:38:15 2010 +0100

    imsm: FIX: imsm_add_spare() wrongly tests spares list
    
    For more than one disk tested additional_test_list was searched from last
    point, not from begin.
    
    This bug causes that more than 2 disks cannot be added to imsm array,
    when imsm_add_spare() is used for this.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=44d337f04d35321084b4e309b4d68cf828bf7ec8
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Wed Dec 15 15:51:53 2010 +1100

    fix: Monitor doesn't return after starting daemon
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=95d07a2cdd020ccde6c74d5d7c50bd7384816649
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Wed Dec 15 15:51:53 2010 +1100

    IMSM: do not rebuild the array if a non-redundant sub-array with failed disks is present
    
    Before looking for a spare to rebuild a degraded array, check if there
    are any failed disks in container.  Block rebuild if another sub-array
    is failed until failed disks are removed from container.
    
    Currently, Intel metadata handler rebuilds all sub-arrays even if one
    of them is non-redundant. In case of failed sub-array, failed disks
    are just replaced with new ones in the metadata mapping. The data for
    failed disk is not restored even the disk is present in the system.
    
    With this fix, we require the removal of the failed disk from
    container to start the process of rebuilding the array with failed
    member. If the disk is physically pulled out of the system, the disk
    is removed from container automatically by exiting udev rules.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1a64be565bb53f6388caa582bd82804890b2c6de
Author: Labun, Marcin <Marcin.Labun at intel.com>
Date:   Wed Dec 15 15:51:51 2010 +1100

    IMSM: Fix problem in mdmon monitor of using removed disk in imsm container.
    
    Manager thread shall pass the information to monitor thread (mdmon)
    that some devices are removed from container.  Otherwise, monitor
    (mdmon) might use such devices (spares) to rebuild the array that has
    gone degraded.
    
    This problem happens for imsm containers, since a list of the
    container disks is maintained in intel_super structure. When array
    goes degraded, the list is searched to find a spare disks to start
    rebuild.  Without this fix the rebuild could be stared on the spare
    device that was a member of the container, but has been removed from
    it.
    
    New super type function handler has been introduced to prepare
    metadata format specific information about removed devices.
    
    int (*remove_from_super)(struct supertype *st, mdu_disk_info_t *dinfo)
    
    The message prepared in remove_from_super is later processed by
    process_update handler in monitor thread.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1d54f2867b928bb1c3374f269599b8cbcb293193
Merge: 833bb0f a2973b6
Author: NeilBrown <neilb at suse.de>
Date:   Mon Dec 13 14:00:05 2010 +1100

    Merge branch 'master' into devel-3.2
    
    Conflicts:
    	super-intel.c

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a2973b6af235f993b3085cfb51bc50cc6ca38d38
Author: Luca Berra <bluca at comedia.it>
Date:   Sun Dec 12 11:33:55 2010 +0100

    segfault in imsm create with wrong arguments
    
    When calling mdadm -C --metadata=imsm -l 1 /dev/sd..
    mdadm segfaults in default_chunk_imsm()
    above syntax is incorrect, but mdadm should error instead of segfaulting
    
    Signed-off-by: Luca Berra <bluca at comedia.it>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=833bb0f8f61c576895a2ec90c344c148c08dadba
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 9 13:06:29 2010 +1100

    Allow --update=devicesize with --re-add
    
    This is useful with 1.1 and 1.2 metadata to update the metadata if
    the device size has changed.
    The same functionality can be achieved by writing to the device size
    in sysfs after re-adding normally, but in some cases this might be
    easier.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=691a36b76f871a63a327641589f41e968b05afa9
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 9 11:51:13 2010 +1100

    Grow: warn if growing an array will make it degraded.
    
    Growing an array when there aren't enough spares can make the array
    degraded.  This works but might not be what is wanted.
    So warn the user in this case and require a --force to go ahead
    with the reshape.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f80c8614b0014fde1220591fcc4a1365c9cde0c4
Merge: aa8d7dc cd19c0c
Author: NeilBrown <neilb at suse.de>
Date:   Thu Dec 9 11:16:42 2010 +1100

    Merge branch 'master' into devel-3.2
    
    Conflicts:
    	mdadm.8.in
    
    Same conceptual change was written with different words in each version.
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aa8d7dc71400fa7f7d70fed990defe012f49e835
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed Dec 8 11:30:28 2010 +0000

    fix: mdstat_read() incorrectly translates value of mdstat_ent->reshape for recovering
    
    it results in wrong output of mdadm --detail (shows reshaping instead
    of recovering)
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6f4cdfd92729ba1309fd7a82f31cee0441f243dd
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Tue Dec 7 06:44:21 2010 +0000

    fix: mdadm -Ss for external metadata don't stop container
    
    Sometimes (~50%) mdadm -Ss cannot stop container as mdmon opens its device
    and do not close it before exit(). The period between open and release of
    handle is too long and md is not able stop device. Releasing handle before
    exit does not block md.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a92b211229f4f8b3fd725b90f0517bc492cf70a4
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Dec 6 06:40:40 2010 +0000

    fix: incremental on invalid container causes segfault
    
    counterpart of 417f346ee0 for incremental.
    If md device has metadata_version="none" super_by_fd() matches
    supertype=super0.
    Call of load_container() dereferences null, so we have to forbid it.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9376b5aac29d89ee5b2be1bb2ced84faf1b50415
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Dec 3 21:33:55 2010 +1100

    FIX: wait_backup() sometimes hungs
    
    Sometimes wait_backup() omits transition from reshape to idle state
    and mdadm seams to be hung.  So check the 'complete' count
    *before* waiting rather than only after.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=92a19f1a78e040202e3d067960e3b1ecc8162881
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Dec 3 15:10:20 2010 +1100

    FIX: Honor !reshape state on wait_reshape() entry
    
    When wait_reshape() function starts it can occurs that reshape is
    finished already, before wait_reshape() start. This can lead to wait
    for change state inside this function for a long time.  To avoid this
    before wait we should test if finish conditions are not reached
    already.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a9d868c3a25e79c275de682e146f5238d3a446c6
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Dec 3 15:07:04 2010 +1100

    FIX: sync_completed_fd handler has to be closed
    
    sync_completed_fd handler has to be closed when array is closing.
    This is in pair to open handler code.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b6e317c83ac95354c18e4946c5505fbe1401b558
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Dec 3 15:03:25 2010 +1100

    FIX: Do not use layout for raid4 and raid0 while geo map computing
    
    After takeover, layout has no meaning for computing geo map for raid0
    and raid4.  Set layout to 0 for such cases.  It can happen after
    takeover operation when not all array information is reread.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e6e9d47b76227f4f30e27dcd00e6b0d815370b7c
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Dec 3 15:00:16 2010 +1100

    Grow: open backup file for reshape as function
    
    Move opening backup file to the function for future reuse during
    container reshape.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=899aead007628048b1664f92e74bfac0169aaa04
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 2 09:19:12 2010 +0100

    Add support to skip slot configuration
    
    When disk is added, set valid slot numbers (positive) only.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5158aef1261409bd2d7aba5b68f4d35e6de252a2
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Thu Dec 2 09:18:49 2010 +0100

    FIX: Cannot exit monitor after takeover
    
    When performing backward takeover to raid0 monitor cannot exit
    for single raid0 array configuration.
    Monitor is locked by communication (ping_manager()) after unfreeze()
    
    Do not ping manager for raid0 array as they shouldn't be monitored.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e9a2ac028eb66fdc50c079fc9bf03aa4325bcd5f
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Dec 3 14:11:29 2010 +1100

    Monitor: don't add more spares than needed
    
    When we add a spare to a container it takes a while
    before it is noticed by mdmon and recovery starts.
    During this time the array remains degraded but we don't want to add
    any more spares to this container. Therefore we must check container
    with degraded array if it doesn't already have a suitable spare.
    container_choose_spare is reused with from=to
    Domain check is not needed in this situation.
    
    Ping_manager after moving disk is needed to be able to see
    newly added disk in container after coming back through the loop.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f0b853063043b2e67521641db4524548841fa530
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Dec 3 14:05:11 2010 +1100

    Monitor: only get min_size once
    
    We may call chose_spare several times before we find a suitable one
    so it is better to get the size beforehand.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=83f3bc5f04ade599cb59c78807ab374b4c3b8b22
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Tue Nov 30 13:44:45 2010 +0100

    Monitor: pass statelist reference when adding new arrays
    
    Otherwise it will not get updated.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=acab7bb189f7f1e2ce1b8bbbc00e20358ce3149c
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 14:51:27 2010 +1100

    Create/grow: improve checks on number of devices.
    
    Check on upper limit of number of devices was in the wrong place.
    Result was could not create array with more than 27 devices without
    explicitly setting metadata, even though default metadata allows more.
    
    Fixed, and also perform check when growing an array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c82afc17a8fb132a4d0c843554a3b6135ac183b6
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 11:58:32 2010 +1100

    Grow: disallow placing backup file on array being reshaped.
    
    the tests here aren't perfect, but they could catch some cases.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=87f26d14f75cf565a5885b2a3426499a48987ac3
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 11:47:32 2010 +1100

    Assemble: allow an array undergoing reshape to be started without backup file
    
    Though not having the proper backup file can cause data corruption, it
    is not enough to justify not being able to start the array at all.
    So allow "--invalid-backup" to be specified which says "just continue
    even if a backup cannot be restored".
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=417f346ee0cc59607a236fd4db8c79dee0825fb1
Author: Hawrylewicz Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Wed Dec 1 11:06:09 2010 +1100

    fix: assemble for external metadata generates segfault if invalid device found
    
    An attempt to invoke super_by_fd() on device that has
    metadata_version="none" always matches super0 (as test_version is "").
    In Assemble() it results in segfault when load_container is invoked
    (=null for super0).
    As of now load_container is only started if it points to valid pointer.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4c8214543f5cffefd093722227d2fb1fb81a683e
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 11:03:28 2010 +1100

    Create: report failure if array cannot be started.
    
    We weren't checking the result of writing 'active' to array_state
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=97c9c10014f5c1392edcbd8da1870a4a68270ece
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 09:55:35 2010 +1100

    ddf: fail creation of new subarray with same name as old.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f49208ec699cf42fcec8587f6581b4268ef6dea3
Author: NeilBrown <neilb at suse.de>
Date:   Wed Dec 1 09:47:21 2010 +1100

    ddf: don't print warning on assemble
    
    Now that we check the error return of 'update_super' better, we
    much make sure that ddf doesn't incorrectly report that the
    superblocks are wrong during assemble.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ab2bb0b62177635b3f2a7336c31a59af9d1f6308
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 18:35:36 2010 +1100

    mdmon: don't copy an invalid chunk_size
    
    As chunk_size in mdstat_ent is never set, we shouldn't copy
    it into a->info.array.
    In fact, it is safest to get rid of the field altogether.
    
    Reported-by: "Kwolek, Adam" <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=484ae54d16d7e4c271a484cdd691a5ba7c52d6d6
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:56:01 2010 +1100

    Assemble: call remove_partitions later.
    
    We shouldn't call remove_partitions until we have made a really firm
    decision to include the device into the array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5a31170d95236fdfd35a62cd3d7345ac43a75104
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:46:01 2010 +1100

    Assemble: add --update=no-bitmap
    
    This allows an array with a corrupt internal bitmap to be assembled
    without the bitmap.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ff63406404b1a715282180570af7a4f1afabe634
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:34:25 2010 +1100

    Grow: give useful message when adding bitmap gives EBUSY.
    
    If adding a bitmap fails with EBUSY, then it is because the array is
    currently resyncing/recovering/reshaping.
    As this is non-obvious, give a message explaining the fact.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b3bd581b1d9afa3805367632b99d0455d3f2d014
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:25:26 2010 +1100

    Fix warning about host-endian bitmaps.
    
    Hostendian bitmaps should be warned about on all arch's.
    And fix a speeling mistake.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=36fad8ecb9b8d7835fa9563d065a608304327560
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 30 16:23:02 2010 +1100

    Allow K,M,G suffix on chunk sizes as well as device/array sizes.
    
    We already allow K,M,G suffixes for --size and --array-size.
    Allow it for --chunk and --bitmap-chunk as well.
    
    Also add this info to man page, and remove the duplication of info
    about --array-size.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1c009fc21861a30fd7c30fbb1cb50f9d03030d21
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Nov 30 13:30:22 2010 +1100

    Compute backup blocks in function.
    
    number of backup blocks evaluation is put in to function for code reuse.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=130994cb8327023f51fe1591118533249e41a246
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Tue Nov 30 13:27:08 2010 +1100

    Prepare and free fdlist in functions
    
    fd handles table creation is put in to function for code reuse.
    
    In manage_reshape(), child_grow() function from Grow.c will be reused.
    To prepare parameters for this function, code from Grow.c can be
    reused also.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8ba77d32818b6c64e61ab9e1fede9e2485dcf2b2
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Fri Nov 26 08:08:01 2010 +0100

    imsm: Allow multiple spares to be collected.
    
    Assumption for spares searching was that after picking new device, it
    has to be added to array before next search.  This causes returning
    different disk on each call.
    
    When creating a spare list during Online Capacity Expansion, we will
    first collect the devices list and then all devices are added to md.
    Picked device from spares pool has to be checked against picked
    devices so far. If not, the same disk will be returned all the time.
    Already picked devices are stored in the list and this list is used
    for new devices verification also.
    
    So add an extra arg to imsm_add_spare to hold a list of known
    spares to ignore.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=36988a3ddac7e2e1411dbb0e62944a4ae49d0915
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Nov 29 12:53:16 2010 +1100

    imsm: FIX: core dump during imsm metadata writing
    
    Wrong number of disks during metadata update causes core dump.  New
    disks number based on internal mdmon information has to used for
    calculation (not previously read from metadata).
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=28bce06f17bf5b791e67d845f1d72a9a949b3c43
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Nov 29 12:28:01 2010 +1100

    imsm: Add support for general migration
    
    Internal IMSM procedures need to support the General Migration.
    It is used during operations like:
    - Online Capacity Expansion,
    - migration initialization,
    - finishing migration,
    - apply changes to raid disks etc.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6d11ec6fc2a9d47d7af0773b03fa4104983ffc80
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Nov 29 12:11:09 2010 +1100

    Treat feature as experimental
    
    Due to fact that IMSM Windows compatibility was not tested yet,
    feature has to be treated as experimental until compatibility
    verification will be performed.
    
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=62a48395f60965d04da1a9cbb937bda79dd071c8
Author: Adam Kwolek <adam.kwolek at intel.com>
Date:   Mon Nov 29 11:57:51 2010 +1100

    Disk removal support for Raid10->Raid0 takeover
    
    Until now Raid10->Raid0 takeover was possible only if all the mirrors
    where removed before md starts the takeover.  Now mdadm, when
    performing Raid10->raid0 takeover, will remove all unwanted mirrors
    from the array before actual md takeover is called.
    
    Signed-off-by: Maciej Trela <maciej.trela at intel.com>
    Signed-off-by: Adam Kwolek <adam.kwolek at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=746a6567d37e7dac1b9174137ed50143de203e15
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 29 10:32:15 2010 +1100

    Improve comments for block_monitor.
    
    Also not that the leading '-' on the metadata names now
    simply means that mdmon must not reconfiure the array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ef15641fb54b45255c167c8b02ea0ed47496b85d
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Nov 26 14:31:15 2010 +0100

    Monitor: array that has disappeared doesn't need spares
    
    If a degraded array disappears we still have it in statelist
    with active<raid but it is pointless to look for spares for it.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a1bb206520f3fc58acc4ebde36c51d99c509b94b
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Nov 26 14:29:53 2010 +0100

    Monitor: fix writing autorebuild.pid
    
    If /var/run/mdadm doesn't exist we can never succeed writing
    so we should try to create it first. When we make sure it is there we
    write pid file as before.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=24baa548c4e66487b30a0c83349886dee5ecc76f
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Nov 26 11:51:59 2010 +0100

    Monitor: reset dev when size too small
    
    Cc: linux-raid at vger.kernel.org, Williams, Dan J <dan.j.williams at intel.com>, Ciechanowski, Ed <ed.ciechanowski at intel.com>
    
    Otherwise spare will be considered good anyway.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f0749ad93e82e4e46776cff92a7bb3692db5ecd
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Fri Nov 26 11:49:33 2010 +0100

    Monitor: devid should be dev_t
    
    For consistency with makedev().
    int is not sufficient.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ff044d6ba707c22ab33c508640dd14ab537c1c16
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 29 09:51:27 2010 +1100

    Monitor: few bug fixes for spare migration
    
    1. If array not changed we should still report any degraded
        - another array may have a new spare that we can move.
    2. Array with err=1 can't give a spare.
    3. We look for spares in "from" not "st" which is supertype
       and has devname=NULL.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=976915080efc2e829fff8efaffb3dc76dc294975
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 29 09:43:29 2010 +1100

    Spare migration tests
    
    This is a series of tests checking if mdadm Monitor migrates spares
    according to rules in /etc/mdadm.conf defined by POLICY lines.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=de6ae75015c1f277327a78bbf19bbf531659c134
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 29 09:40:15 2010 +1100

    Incremental - avoid including wayward devices.
    
    If a devices - typically in a mirrored set - is assembled
    independently of the other devices, and then attempted to be brought
    back into the set, it could contain inconsistent data.  It should not
    be included.
    
    So detect this situation by ensuring that the 'most recent' device is
    believed to be active by every other device.  If a device is wayward,
    it will only consider fellow wayward devices to be active and will
    think all others are failed or missing.
    
    This patches fixes --incremental, --assemble was done in an earlier
    patch.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1c7a808c4d696f6ba30c92941661a7f62eb3ff3a
Author: NeilBrown <neilb at suse.de>
Date:   Thu Nov 25 18:58:45 2010 +1100

    Improve opt parsing, and distinguish long from short.
    
    In several cases, two different long options map to the same short
    option.  So e.g. you could give '--brief' and it would be interpreted
    as '--bitmap'.  That isn't really good.
    
    So for every shared short option, define an option number and return
    that for the long option instead.  Then always check for both the
    short and long options.
    
    Also give some bugs like " mode == 'G'" which should be '== GROW'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2bf740b39403a6a8ae5a1c5f94554959424b6ebc
Author: NeilBrown <neilb at suse.de>
Date:   Thu Nov 25 18:58:44 2010 +1100

    Incr: reduce the number of times we load data from sysfs.
    
    Rather than calling sysfs_read whenever we want data from sysfs, call
    it once at the start will all the requests of interest, then just use
    that,
    
    Make sure we free it properly too.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5739e0d007a3eea80f5108d73d444751dbbde1ef
Author: NeilBrown <neilb at suse.de>
Date:   Thu Nov 25 18:58:27 2010 +1100

    Monitor: choose spare correctly for external metadata.
    
    When metadata is managed externally - probably as a container - we
    need to examine that metadata to see which devices are spares.
    
    So use the getinfo_super_disk message and use the info returned.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0fa21e85227ed207881f7636a00223c2397b0a37
Author: NeilBrown <neilb at suse.de>
Date:   Thu Nov 25 18:37:23 2010 +1100

    Monitor: separate 'choose_spare' out from 'move_spare'
    
    choosing a spare from a container is more complicated that
    from a native array.  So separate out choose_spare to make it easier
    to use an alternate implementation
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7f2ba464e464097ee5c150ead460ef52009209a7
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Nov 23 16:39:58 2010 +1100

    External reshape (step 2): Freeze container
    
    When growing the number of raid disks the reshape process will promote
    container-spares to subarray-spares (later the kernel promotes them to
    subarray-members in raid5_start_reshape()).  The automatic spare
    promotion that mdmon performs upon seeing a degraded array must be
    disabled until the reshape process has been initiated.  Otherwise, mdmon
    may start a rebuild before the reshape parameters can be specified.
    
    In the external case we arrange for the monitor to be blocked, and
    turn off the safemode delay.
    Mdmon is updated to check sync_action is not frozen before initiating
    recovery.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7bc7119671cceb8cba4c8b1622680b27e90417d4
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:22:59 2010 +0100

    External reshape (step 1): container reshape and ->reshape_super()
    
    In the native metadata case Grow_reshape() and the kernel validate what
    reshapes are possible / supported and the kernel handles all the metadata
    updates.  In the external case the metadata format may have specific
    constraints above this baseline.  External formats also introduce the
    constraint of only permitting some reshapes at container scope versus subarray
    scope.  For exmaple imsm changes to 'raiddisks' must be applied to all arrays
    in the container.
    
    This operation assumes that its 'st' parameter has been obtained from
    super_by_fd() (such that st->subarray is up to date), and that a snapshot of
    the metadata has been loaded from the container.
    
    Why a new method, versus extending an existing one?
    ->validate_geometry: this routine assumes it is being called from Create(),
    adding reshape complicates the cases that this routine needs to handle.  Where
    we find that checks can be shared between the two cases those routines
    refactored into common code internal to the metadata handler, i.e. no need to
    provide a unified external interface.  ->validate_geometry() also does not
    expect to update the metadata.
    
    ->update_super: this is meant to update single fields at Assembly() and only at
    the container scope.  Reshape potentially wants to update multiple fields at
    either container or subarray scope.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d54d79bdc47fd3f2c312c11d544fc02ec86a06d8
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Nov 23 15:53:00 2010 +1100

    Document the external reshape implementation
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5f7e44b29fe3fd9bf77c27e375c92046bf00d0c4
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Nov 23 15:31:18 2010 +1100

    Initialize st->devnum and st->container_dev in super_by_fd
    
    Precludes needing to deduce this information later, like in Detail.c and
    soon in Grow.c.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=30f58b2208778245963ee5562f4b2efbde3188cf
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:22:33 2010 +0100

    Create: cleanup/unify default geometry handling
    
    Support metadata specific level, layout and chunksize defaults.  Kill an
    uneeded superswitch methods ahead of adding more for the reshape case.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3e82d76d2e53237010bf9d36abc7b68fa85b697d
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:22:25 2010 +0100

    fix a get_linux_version() comparison typo
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=72e4a378221acbc786f2a8eefa4c0f240b21b308
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:22:09 2010 +0100

    Grow: fix check for raid6 layout normalization
    
    If the user does not specify a layout, don't skip asking about retaining
    the non-standard raid6 layout which may be implicitly changed.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=dcc4210f58ac500701d50a5fc32869eeae3df4ea
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:22:01 2010 +0100

    Assemble: fix assembly in the delta_disks > max_degraded case
    
    Incremental assembly works on such an array because the kernel sees the
    disk as in-sync and that the array is reshaping.  Teach Assemble() the
    same assumptions.
    
    This is only needed on kernels that do not initialize ->recovery_offset
    when activating spares for reshape.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4411fb174984d4ce01f5e28d638bc376a4b581fc
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:21:53 2010 +0100

    Grow: mark some functions static
    
    Going through the Grow api found some local routines that could be
    marked static.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9ea5a25217898a699a1ba0ba27693362f0d81456
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Nov 23 15:08:19 2010 +1100

    Manage: allow manual control of external raid0 readonly flag
    
    mdadm --readwrite <subarray> will clear the external readonly flag ('-'
    to '/'), but only for redudant arrays.  Allow raid0 arrays as well so
    the user has a simple helper to control this flag.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bc77ed535db05fc4b5b46f20dc4c27893f01610d
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Tue Nov 23 15:00:54 2010 +1100

    block monitor: freeze spare assignment for external arrays
    
    In order to support reshape and atomic removal of spares from containers
    we need to prevent mdmon from activating spares.  In the reshape case we
    additionally need to freeze sync_action while the reshape transaction is
    initiated with the kernel and recorded in the metadata.
    
    When reshaping a raid0 array we need to freeze the array *before* it is
    transitioned to a redundant raid level.  Since sync_action does not exist
    at this point we extend the '-' prefix of a subarray string to flag
    mdmon not to activate spares.
    
    Mdadm needs to be reasonably certain that the version of mdmon in the
    system honors this 'freeze' indication.  If mdmon is not already active
    then we assume the version that gets started is the same as the mdadm
    version.  Otherwise, we check the version of mdmon as returned by the
    extended ping_monitor() operation.  This is to catch cases where mdadm
    is upgraded in the filesystem, but mdmon started in the initramfs is
    from a previous release.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e5408a3202c09267f780d53334c369793534a7e8
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Thu Nov 18 10:21:29 2010 +0100

    Provide a mdstat_ent to subarray helper
    
    ...before introducing another open coded instace of this conversion.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=87477e6d5e4201bf2bd812f34f8321983310bd99
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 23 11:34:36 2010 +1100

    Assemble: get content before testing it.
    
    When checking that a container matches the required uuid,
    we need to call 'getinfo_super' before we have a 'content'
    to test.
    
    Reported-by: "Czarnowska, Anna" <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=062dc4817ddb60dcc59d4e98b3dbc784d77426b8
Author: NeilBrown <neilb at suse.de>
Date:   Tue Nov 23 11:11:45 2010 +1100

    Monitor: check spare group is non-NULL before adding to domain list
    
    ... otherwise we crash.
    
    Reported-by: "Labun, Marcin" <Marcin.Labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2cda7640f9e2d4eb880914260da6e61a01e5234c
Author: Marcin Labun <marcin.labun at intel.com>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Policy is aware of metadata disk's controller domains.
    
    Platform (metadata) domain let the metadata handlers differentiate
    disk domains based on controllers that the disk belongs to.
    Platform domain is sub-domain inside user specified domain
    in mdadm.conf configuration files inheriting all parameters from it.
    The metadata domain name is used disk domain matching functions.
    The disk with the same metadata domain name belong to the same metadata
    domain.
    
    New metadata handler is added that retrieves platform domain string based
    on disk path:
    const char *(*get_disk_controller_domain)(const char *path);
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=80e7f8c31a514b02d227a083cb2bcb34f70c0eee
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: Allow metadata to set minimum size for spare to migrate in.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=66f5c4b66562cfbe0f0fb65a9bfabb17441ae23e
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: teach spare migration about containers
    
    When trying to move a spare, move to the container of a degraded
    array, not to the array itself.
    And don't try to move from a subarray, only from a native or container
    array.
    And don't move from a container which contains degraded subarrays.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e78dda3bf5ff840b65e85dbd7fc24ec4ccd291a5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: policy based spare migration.
    
    Rather than only migrating between arrays with the same spare_group,
    we now migrate based on domains set in the policy.
    
    In order for spare_group to continue to work, we treat it as a domain
    of the destination array, and a domain of any device we might remove
    from a source array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2feb22efbc216e53486cc20c05df13f8340a9d49
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: split out check_donor
    
    Checking compatibility between arrays for spare migration is going to
    become a little more complicated, so split it out into a separate
    function.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6d3d44d98c20ea7cb03af34e4962d324335cca2b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: split out move_spare in spare migration.
    
    This is a simple refactoring with no functionality change.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e0bd6a96376f82dfb1312097ce3c0d2713a65fc1
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monior: create struct for holding alert info.
    
    Rather than passing mailaddr, mailfrom, cmd, dosyslog around in
    argument lists, create a structure to hold them all.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9bfc6a7d1a8335c4ec963f90a6c6ad4690a86310
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: use calloc rather than malloc
    
    calloc zeros the memory allocated, which is safer, particularly as
    we add more things to struct state.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a90e1050b56248858715aae34704fe3558a1f066
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: minor optimisation to spare migration.
    
    Only try spare migration if we know that at least one array is
    degraded.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5c4cd5da70b4ed1a5518caa234c38eab502a37e4
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:07 2010 +1100

    imsm: create mdinfo list of disks in a container from supertype
    
    If getinfo_super is called on a container supertype we only get information
    on first disk. As a parameter it uses reference to preallocated
    mdinfo structure. Amending getinfo_super to return full list of disks
    would require ammending all previous calls and subsequently freeing memory
    allocated for mdinfo list.
    Function container_content that returns a mdinfo list is written
    specifically for assembly, performing actions not needed to just fill
    mdinfo. It also does not include spares so is unsuitable.
    As an alternative a new function getinfo_super_disks is created
    to obtain information about all disks states in array.
    Existing function sysfs_free is used to free memory
    allocated by getinfo_super_disks.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c3621c0a5fe2344681388cf0439bdf978736d2a6
Author: Marcin Labun <marcin.labun at intel.com>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: link containers with subarrays in statelist
    
    Each containers has list of its subarrays. Each subarray
    has back link to its parent container.
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2e0172b1100ef1cb92098f2de8675759f5805566
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Break Monitor into smaller functions.
    
    Monitor() has become way too big.  Break it up into multiple smaller
    functions that are all called from the main loop.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca750d9830cca2454cd6c8d1679dfb9b62f57281
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: track metadata type or parent/container of arrays.
    
    For subarrays, record the devid of the parent.
    For others arrays, record the metadata type.
    
    This will be used in a subsequent patch to link related arrays
    together and allow spare migration between containers.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5d19bb23dd278fe8bfb7005c5c3ca1954afbb22f
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:07 2010 +1100

    Monitor: include containers in scan mode
    
    Signed-off-by: Marcin Labun <marcin.labun at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b1717f0afce1c294b6f03d12b5510175282770c8
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Monitor: avoid skipping checks on external arrays
    
    utime is not correct for external metadata so we must
    not risk the observed time ever matching the old time.
    
    Reported-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=edde9560fa19af53928059784c81a0cf5badefa2
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    mdadm: added --no-sharing option for Monitor mode
    
    --no-sharing option disables moving spares between arrays/containers.
    Without the option spares are moved if needed according to config rules.
    We only allow one process moving spares started with --scan option.
    If there is such process running and another instance of Monitor
    is starting without --scan, then we issue a warning but allow it
    to continue.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0eac199a2ce5d7febc071616450c26882779ed09
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Monitor: set err on arrays not in mdstat
    
    mse can be NULL when the array was not in mdstat when we read it
    but existed in statelist and was recreated after reading mdstat.
    In this case we set err as we can't get full update on this array
    this time.
    If the same array is given twice in command line it appears twice
    in statelist. The first one will mark mse->devnum=INT_MAX
    so the second one can't find mse. We set err on the second one as
    it's not needed. Also if it becomes degraded we would look for spares
    twice for the same array.
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=52d5d101a9d17b856aaa7884f7e290166f62d03c
Author: Anna Czarnowska <anna.czarnowska at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Util: get device size from id
    
    Signed-off-by: Anna Czarnowska <anna.czarnowska at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d2db30455891a97ac0ac17bb64848de52bfb1566
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Add action=spare-same-slot policy.
    
    When "mdadm -I" is given a device with no metadata, mdadm tries to add
    it as a 'spare' somewhere based on policy.
    
    This patch changes the behaviour in two ways:
    
    1/ If the device is at a 'path' where a previous device was removed
      from an array or container, then we preferentially add the spare to
      that array or container.
    
    2/ Previously only 'bare' devices were considered for adding as
      spares.  Now if action=spare-same-slot is active, we will add
      non-bare devices, but *only* if the path was previously in use
      for some array, and the device will only be added to that array.
    
    Based on code
      From: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=625b25071bb6db4d1c019d5bab0344d82d5ae4c4
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    incr/spare: recheck allowed action for each metadata.
    
    The current act_spare tests only test if it is allowed for some
    metadata.
    As we check each array or partitioning type, we need to double-check
    that sparing is allowed for that array or partitioning type.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6e57f80a9005ab354ce7602b3ce0c7d7a0d239cb
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Incr/spare: make sure failure to identify metadata if handled gracefully.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=aaccda440691a5f9d5c986a90333a218db1f8a6c
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Incr: fix up return value in try_spare
    
    We only want to try partition_try_spare if array_try_spare failed.
    If it succeeded, there is nothing more to try.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=52e965c2969723c80fd50d393a7e15658bc217c9
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Factor out is_bare test.
    
    Instead of open coding (and using horrible gotos), make this
    a separate function.
    
    Also fix the check for end of device - SEEK_END doesn't work on
    block devices.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=403410eb97e9ae77f99fd7632f0093660748197f
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    extension of IncrementalRemove to store location (path-id) of removed device
    
    If the disk is taken out from its port this port information is
    lost. Only udev rule can provide us with this information, and then we
    have to store it somehow. This patch adds writing 'cookie' file in
    /dev/.mdadm/failed-slots directory in form of file named with value of
    f<path-id> containing the metadata type and uuid of the array (or
    container) that the device was a member of.  The uuid is in exactly
    the same format as in the mapfile.
    
    FAILED_SLOTS_DIR constant has been added to hold the location of
    cookie files.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=08387a0473b3a2629c3e306d59a9720022e17af7
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Teach IncrementalRemove about containers.
    
    When we -I -R a device in a container, we must first fail it
    from each member array before we can remove it from the container.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=475a01b8bce8575dd1b2ab6495e65e854702ac0e
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Update of udev rules to support IMSM devices
    
    ID_FS_TYPE for IMSM members is set to isw_raid_member, so they must also
    be handled in udev.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=950bc34477adcaa8788f09255d2fcfa19c052b0f
Author: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
Date:   Mon Nov 22 20:58:06 2010 +1100

    added --path <path_id> to give the information on the 'path-id' of removed device
    
    <path-id> allows to identify the port to which given device is plugged
    in.  In case of hot-removal, udev can pass this information for future
    use (eg. write this name as 'cookie' allowing to detect the fact of
    reinserting device to the same port).
    
    --path <path-id> parameter has been added to device removal handle
    (and char *path has been added to IncrementalRemove() to pass this
    value) in order to pass path-id to this handler.
    
    Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=157e6e24b9790940918597e8a07020ca56ce6011
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Remove loaded_container
    
    This field is now only set, never used.
    
    So remove it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ab3cb6b3b7418e4d70e915c47ca48422eb43d182
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    imsm: always calculate container_enough in getinfo_super_imsm
    
    We are about to lose the loaded_container field, and we don't really
    need to use it to protect the calculation of container_enough.
    So drop the test.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0fb69d1dae8851316bee2a7c0b4ca557de7273ee
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Replace various load_super calls with load_container
    
    When we call load_super expecting to find a container, we now
    just call load_container directly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5083d66b9c46edc63575952c011f5675a2d37618
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Assemble: use load_container
    
    Separate the load_container call from the load_super call,
    and use different validity tests as appropriate.
    
    Add some general code tidying and a bit of indent change to make
    structure a little clearer.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3a3716107b614f679a4ea224e5bb882739d81cf9
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Add must_be_container helper.
    
    This checks a block device to see if it could be a container, and
    in particular cannot be a member device.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=88cef9b3e634987b1689b61c643552e2cdecdbf9
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Assemble: turn next_member goto loop into a for loop.
    
    It becomes much clearer what is happening now.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=02c2c474876ed66a016dbeef667e692a69bfec0d
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Assemble: simplify the handling of is_member_busy.
    
    This is somewhat inconsistent with the last member of a
    container getting special handling.
    Just simplify it so the code seems to make sense and important
    is easy to follow.
    
    Signed-of-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d76c4d889427a04a9d901152cf5cd902071ea6be
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:06 2010 +1100

    Assemble: remove the skip variable.
    
    it seems we don't need it any more
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=805d30b2886903d668dc306431e15d9d168f77ed
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: merge 'member' test into ident_matches.
    
    This is a more sensible place for it, gathering all the tests
    together.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fa0312397e105afee9c61d2b9c016b3fe6a1178f
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: change 'skip' label to a variable.
    
    This gets rid of some gotos which makes the code flow a bit
    more clear.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2b594614a153a94f2f061c9dfae079986d243ee5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Remove content from mddev_dev
    
    Now that the next_member loop is much smaller it is easy to
    just use 'content' rather than stashing it in 'tmpdev->content'.
    So we can remove the 'content' field from 'struct mddev_dev'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1415fe4b6c766caa5a3e57a15cac4a3ac395c543
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: contract next_member loop.
    
    We have a 'goto next_member' loop which is rather spread-out and
    confusing.
    Recent refactoring make it possible to contract that loop
    significantly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=bac0d92e931259a2d41be1b9fe779d39d5d011b7
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: merge to large 'if' statements.
    
    In assemble, we see (inside a 'for' loop):
    
     if (condition) {
        lots of stuff
     } else
        something
    
     small thing
    
     if (same condition) {
         lots more stuff
         break;
     }
    
    where 'condition' cannot be changed in the middle.
    
    So simplify this to
    
     if (condition) {
        lots of stuff
        small thing
        lots more stuff
        break;
     }
    
     something
     small thing
    
    which duplicates the small thing, but provides much
    conceptual simplicity.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a655e5506478c540db06649fe7833c3c0982f80c
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Improve type names for mddev_dev
    
    Remove the _t pointer typedef and remove the _s suffix for the
    structure,
    
    These things do not help readability.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fa56eddbd1ff1e007cfe588ddc97787d81a4fc3d
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Improve mddev_ident type definitions.
    
    Remove the _t typedef and remove the _s suffix from the struct name.
    
    These things do not help readability.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=08fb91a3630be9cb4efdb0586e9713dac104b22a
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: factor out ident_matches
    
    This will help future patch, and we need to make "Assemble()" smaller
    anyway.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d68ea4d775b3d447acb4b4ffaff4a1a159f9acef
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:58:05 2010 +1100

    Assemble: small cleanup of error checking.
    
    If we get an early error (e.g. not a block device) we need to
    not continue through and check e.g. uuid.
    
    Also make sure we set used=2 whenever we find an error, and don't
    bother with ->free_super as 'goto loop' does that.
    
    Now that we abort earlier, we can remove lots of tests on
      tst && tst->sb
    
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=47c74f3f50201e057bac74ed107c9eaba55e5f13
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:57:58 2010 +1100

    Use load_container in Incremental assembly.
    
    We more clearly separate out -I on a container, and use
    load_container in that case and load_super only for true members.
    
    This removes another use of loaded_container.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=3a97f210109f79f2f0f16dc04d9ba66c8658a867
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Incremental: Factor out search of mdstat
    
    As we will soon use it in two places.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7d91c3f547dbbbfb8eded1b141b095ad511aafb5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Make Incremental_container static
    
    as it is only used in Incremental.c
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=db20d4135e0db3830f0bbf99b81922b902628214
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Switch open_subarray to use the new load_container
    
    This removes another user of loaded_container
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1f49fb3ae5c76e7abc7e1fdd8690e4b8c21b7d31
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Use new load_container in Examine
    
    This makes explicit the two different ways to use Examine
    And removes a user of container_loaded.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=2b959fbf66d35f02ea57074428268bf7cc62c18b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    New method: load_container
    
    This handles the 'container' part of 'load_super', so we can
    soon make them completely separate - it is just confusing to
    overload these two.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e1902a7b6ceafde57eace1a5d1f19753df273141
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Remove keep_fd arg from load_super_XXX_all
    
    It is always set to 1, so we don't need it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=69b2fcc5bb7ee6608790513042110a15d36a21bc
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Remove subarray field in supertype.
    
    This is now only ever set, never used.
    So remove it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d1d599ea0d25b047bc0541e62431e635e1e29f18
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Create: user container_dev rather than subarray for some tests.
    
    It makes more sense to test for container_dev than for subarray
    for several places in Create where it then uses container_dev.
    
    This allows us to subsequently remove subarray.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=9b63e64836d207c4fb74f7647d54dd90162a8392
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Use container_member rather than subarray info ddf getinfo_super.
    
    We are in the processes of discarding the subarray field, so remove
    the unnecessary use of it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e32bd33f443ad49cf5f5e337bc24ac09959aca0a
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Remove subarray detection from load_super.
    
    Nothing relies on this any more, so remove it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a951a4f78f079b86328419d024a214ce0fb2aa04
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:50 2010 +1100

    Pass subarray arg explicitly to ->update_subarray.
    
    This is better than hiding it in the supertype structure
    where we are never quite sure who needs it.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a1f976a013ab738affd54a1ba737107aa05c26ad
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 20:24:35 2010 +1100

    Use new container_content rather than passing subarray to load_super.
    
    Now that we can ask container_content for a specific subarray,
    we don't need to pass the subarray name to load_super, and have it
    secretly modify the returned state.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=00bbdbdac69e6d90fc71b8a2bfe574928ec66da3
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:26 2010 +1100

    Add subarray arg to container_content.
    
    This allows the info for a single array to be extracted,
    so we don't have to write it into st->subarray.
    
    For consistency, implement container_content for super0 and super1,
    to just return the mdinfo for the single array.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ca145a1e4c9ec2c95f95f6283a3ce290f3d4da0d
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    mapinfo: simplify subarray handling.
    
    
    We don't need ->container_dev here, and we will soon be passing
    subarray as an explicit arg to load_super.
    So simplify extraction of subarray and move the strcpy close to
    ->load_super.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4725bc31fb3d7fc207671e851617852dc8034cd5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    super_by_fd: return subarray info explicitly.
    
    Rather than hiding this in the 'st', return it explicitly.
    
    In the one case we still need it, copy it into st where needed.
    This will disappear in a future patch.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=feab51f8f710f28a63a5b01ec59a5a609a45525b
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    open_subarray: pass subarray name as explicit arg.
    
    Rather than hiding this arg in the 'st' structure, pass it explicitly.
    
    This is a first step to getting rid of 'subarray' from 'supertype'.
    
    The strcpy in open_subarray should have better error checking, but it
    will disappear soon so there is little point.
    
    Signed-off-by: NeilBrown <neilb at suse.de.

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8d86ffefdf9c91d1d01e27c671735b7bd5301e66
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    ddf: remove duplicate container_member setting.
    
    We were setting ->container_member twice in ddf get_info.
    Once to currentconf->vcnum,
    once to atoi(st->subarray).
    
    Both should be the same.
    For consistency with super-intel, use the first.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1d1a9f87a4fbeeb76bcc6f9b4933f3d250a284db
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Incremental - fix small bug in count_active.
    
    If the first device found has a much smaller event count than a
    subsequent device, that device will not be entered in the 'avail'
    array properly.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=02e7c5b75cd4ad5176441add156389c71dab6e3a
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Assemble - avoid including wayward devices.
    
    If a device - typically in a mirrored set - is assembled independently
    of the other devices, and then attempted to be brought back into the
    set it could contain inconsistent data.  It should not be included.
    
    So detect this situation by ensuring that the 'most recent' device is
    believed to be active by every other device.  If a device is wayward,
    it will only consider fellow wayward devices to be active and will
    think all others are failed or missing.
    
    This patch only fixes --assemble, not --incremental
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=d7f7ebb73db9920232f4430bfe25a4d64cf67de2
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Assemble: handle devices array better.
    
    Only allocate when it is about to be used, and free it when finished.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a5d85af748aafe3e3830b9d16faa5c92e783b171
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    get_info_super:  report which other devices are thought to be working/failed.
    
    To accurately detect when an array has been split and is now being
    recombined, we need to track which other devices each thinks is
    working.
    
    We should never include a device in an array if it thinks that the
    primary device has failed.
    
    This patch just allows get_info_super to return a list of devices
    and whether they are thought to be working or not.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f94c116f56cb821bfd619481d94fcd78ab8b53c0
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    detail/wait: better handling of monitoring sync action.
    
    Detail: report reshape and check as well as resync and recovery
    Wait: if the resync is pending or delayed, wait for that too.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8453e704305b92f043e436d6f90a0c5f068b09eb
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Manage:  be more careful about --add attempts.
    
    If an --add is requested and a re-add looks promising but fails or
    cannot possibly succeed, then don't try the add.  This avoids
    inadvertently turning devices into spares when an array is failed but
    the devices seem to actually work.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b9b004ebc7abd5a4d8ddafef1fbf08409f24b330
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    policy: don't try to get policy when path == NULL.
    
    config_rules_has_path, we fail if path==NULL, so we should when
    config_rules doesn't has_path too.
    
    Signed-Off-By: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=37194990aae3dfdbaae55fb9d2ab491683ade7e1
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:25 2010 +1100

    Fix error in pol_sort.
    
    pol_sort could go into an infinite loop.
    
    The proof of this patch is left as a exercise for the reader :-)
    
    Reported-by: "Hawrylewicz Czarnowski, Przemyslaw" <przemyslaw.hawrylewicz.czarnowski at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=1e2b276535cea41c348292a019bdda8a58cb1679
Author: NeilBrown <neilb at suse.de>
Date:   Mon Nov 22 19:35:24 2010 +1100

    Report error in --update string is not recognised.
    
    If an --update is requested by the relevant metadata doesn't
    understand it, print a useful message rather than silently ignoring
    the issue.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cd19c0cf1c52ce765bf27791b5ef0ee4cdc4c8db
Author: John Robinson <john.robinson at anonymous.org.uk>
Date:   Tue Nov 2 23:08:00 2010 -0400

    mdadm.8: man page improvements concerning reshape and metadata types.
    
    - other differences between 0.90 and 1.x metadata explained
    - reshape text enhanced to properly acknowledge shrinks and in-place
      reshapes, particularly in the context of --backup-file.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=a2ce5a1af19e5dcfd59cad117c0e9fccabce7322
Author: NeilBrown <neilb at suse.de>
Date:   Thu Sep 16 20:58:31 2010 +1000

    Fix byte-order conversion in update_super1("assemble")
    
    This code is wrong is several ways, and failed on big-endian machines.
    Put in correct endian coversions: 'want' is cpu-order, dev_roles[] is little-endian,
    16 bit.
    
    Reported-by: Doug Nazar <nazard.michi at gmail.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=4e8d9f0a1650cd187554d7d34fd85c74441cbc7c
Author: NeilBrown <neilb at suse.de>
Date:   Thu Sep 2 21:21:36 2010 +1000

    Convert 'auto' config line to policy statements

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=61018da020ab3e25b21e0dffc7ecc4f708207a0b
Author: NeilBrown <neilb at suse.de>
Date:   Thu Sep 2 14:30:03 2010 +1000

    Add support for auto-partitioning base devices.
    
    If a device is bare and policy suggests that it can be used as a spare
    for virtual 'partitions' array, find an appropriate partition table
    and write it to the device.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=54887ad8cbb52ae3767b693c357a6c8d95af5da4
Author: NeilBrown <neilb at suse.de>
Date:   Thu Sep 2 11:54:06 2010 +1000

    Add guess_super_type
    
    This can select to only guess array types,
    or only guess partition types.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=73c9c47c70e52e4018f0adbaee136ec0d505382b
Author: NeilBrown <neilb at suse.de>
Date:   Thu Sep 2 10:04:26 2010 +1000

    Factor out path_policy functon.
    
    Allow disk-policy to be computed given the path and
    disk type explicitly.  This can be used when hunting through
    /dev/disk/by-path for something interesting.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=56e8be854ad5dfdf548941125cf07363a2e76776
Author: NeilBrown <neilb at suse.de>
Date:   Wed Sep 1 17:27:23 2010 +1000

    First steps to supporting auto-spare-add to groups of partitioned devices.
    
    Adding a spare to a group of partitioned devices is quite different
    from adding one to an array.  So detect which option is worth trying
    based on policy and then try one or the other - or possibly both - as
    appropriate.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0592faeb5e693d4317fb85d5ab013697a21c301d
Author: NeilBrown <neilb at suse.de>
Date:   Fri Aug 20 13:10:50 2010 +1000

    Add gpt pseudo-metadata
    
    This allows mdadm to work with gpt metadata to a limited extent.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=0f22b998fb9cf8478810b89cd50fa5b4fbf11d38
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 19 16:48:34 2010 +1000

    Add mbr pseudo metadata handler.
    
    To support incorpating a new bare device into a collection of arrays -
    one partition each - mdadm needs a modest understanding of partition
    tables.
    The main needs to be able to recognise a partition table on one device
    and copy it onto another.
    
    This will be done using pseudo metadata types 'mbr' and 'gpt'.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=64436f0628a14f4e979b93bea57aba4b4c6143e8
Author: NeilBrown <neilb at suse.de>
Date:   Wed Sep 1 16:14:26 2010 +1000

    intel: Don't try to read from tiny devices.
    
    If a device is less than 1K, avoid even trying to seek to 1K before
    the end.
    The seek will fail anyway so this is a fairly cosmetic fix.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f08605b3adb27aa19ce09e25497c930a4f849f66
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 23 16:34:23 2010 +1000

    Allow --incremental to add a device as a spare if policy allows.
    
    If policy allows act_spare or act_force_spare, -I will add a
    bare device as a spare to an appropriate array.
    
    We don't support adding non-bare devices as spares yet.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=7e83544bc43f7a7b96e769be6e4d20373496cefc
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 23 15:54:13 2010 +1000

    Use action policy to keep recently-disconnected devices in the array.
    
    When we find a device that was recently part of the array but is now
    out of date (based on the event count) we might want to add it back in
    (like --re-add) if the likely cause was a connection problem or we
    might not if the likely cause was device failure.
    
    So make this a policy issue: if action=re-add or better, try to re-add
    any device that looks like it might be part of the array.
    
    This applies:
      when we assemble the array:  old devices will be evicted by the
         kernel and need to be re-added.
      when we assemble the array during --incr for the same reason.
      when we find a device that could be added to a running array.
    
    This doesn't affect arrays with external metadata at all.
    For such arrays:
     When the container is assembled, the most recent instance of each
     device is included without reference to whether it is too old or not.
     Then the metadata handler must which slices of which devices to
     include in which array and with what state.  So the
     ->container_content should probably check the policy and compare the
     sequence numbers/event counts.
     When a device is added (--add) to a container with active arrays
     we only add as a 'spare'. --re-add doesn't seem to be an option.
     When a device is added with -I ->container_content gets another
     chance to assess things again.  So again it should check the policy.
    
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=15d4a7e44748e0b71315ec2e14f0a0f959b82568
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 23 16:59:50 2010 +1000

    Introduce single-exit pattern for Incremental
    
    All exits should goto the end for clean-up.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=f5f12c84ac14bd123b9fa59ecb4f4366ab948853
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 23 15:36:08 2010 +1000

    Add domain policy support.
    
    A device can be in a number of domains.
    
    The domains of an array is the union of the domains of all devices.
    
    A device is allowed to join an array when its set of domains is a
    subset of the array's domains.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=e3bb5f144bfdfb3ae66be8de2393e87162f01264
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 23 14:33:28 2010 +1000

    Add policy_action support
    
    Add code for easy working 'action' policies.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5527fc74620ecc831d7c854c200e34211ceb63de
Author: NeilBrown <neilb at suse.de>
Date:   Mon Jul 5 10:11:21 2010 +1000

    Add policy framework.
    
    Policy can be stated as lines in mdadm.conf like:
    
    POLICY  type=disk path=pci-0000:00:1f.2-* action=ignore domain=onboard
    
    This defines two distinct policies which apply to any disk (but not
    partition) device reached through the pci device 0000:00:1f.2.
    The policies are "action=ignore" which means certain actions will
    ignore the device, and "domain=onboard" which means all such devices
    as treated as being united under the name 'onboard'.
    
    This patch just adds data structures and code to read and
    manipulate them.  Future patches will actually use them.
    
    Signed-off-by: NeilBrown <neilb at suse.de>




More information about the pkg-mdadm-commits mailing list