New commits on branch fixes/udev-blkid
Michael Tokarev
mjt at alioth.debian.org
Tue Jan 10 18:28:30 UTC 2012
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=c13afa930290772452f9c6684a2eab6b4bd772f3
Merge: ae8fc20 cd9d1ac
Author: Michael Tokarev <mjt at tls.msk.ru>
Date: Tue Jan 10 16:48:21 2012 +0400
Merge commit 'refs/top-bases/fixes/udev-blkid' into fixes/udev-blkid
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>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=8efb9d16ac4026ca237a2d887240543b1763b634
Author: NeilBrown <neilb at suse.de>
Date: Fri Sep 3 13:33:29 2010 +1000
Fix compile error on non-x86 systems.
-z is not an option for 'gcc', it is an option for the loader!!
Reported-by: Debian build system
Signed-off-by: NeilBrown <neilb at suse.de>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=972ee7253a4f55a0f3e0e5ab89e02ed333481234
Author: NeilBrown <neilb at suse.de>
Date: Tue Aug 31 15:41:12 2010 +1000
Release mdadm-3.1.4
bugfix/stability.
Signed-off-by: NeilBrown <neilb at suse.de>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=93601c439c08b01808b219d038cbb1f7fb03f058
Author: NeilBrown <neilb at suse.de>
Date: Tue Aug 31 17:20:58 2010 +1000
Fix spare migration.
Spare migration uses major:minor device names.
When we added support for kernel style names, we broke that.
Signed-off-by: NeilBrown <neilb at suse.de>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=b1702f4826e29419fa368fe63dca38422a01fc7e
Author: NeilBrown <neilb at suse.de>
Date: Tue Aug 31 15:21:40 2010 +1000
Don't remove md devices with standard names.
If udev is not in use, we create device in /dev when assembling
arrays and remove them when stopping the array.
However it may not always be correct to remove the device. If
the array was started with kernel auto-detect, them mdadm didn't
create anything and so shouldn't remove anything.
We don't record whether we created things, so just don't remove
anything with a 'standard' name. Only remove symlinks to the
standard name as we almost certainly created those.
Reported-by: Petre Rodan <petre.rodan at avira.com>
Signed-off-by: NeilBrown <neilb at suse.de>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=6df6a774bff2fc6e2ab3f4092620ab7657c984aa
Author: NeilBrown <neilb at suse.de>
Date: Mon Aug 30 08:48:48 2010 +1000
Allow dev_open to work on read-only /dev
/dev could be read-only in which case we cannot make devices
there.
So dev_open should first try to use an existing device name,
and if that doesn't work try creating a node in /dev or /tmp.
Reported-by: Paweł Sikora <pluto at agmk.net>
Signed-off-by: NeilBrown <neilb at suse.de>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=ef83fe7cba7355d3da330325e416747b0696baef
Author: NeilBrown <neilb at suse.de>
Date: Thu Aug 12 11:41:41 2010 +1000
Allow --incremental to add spares to an array.
Commit 3a6ec29ad56 stopped us from adding apparently-working devices
to an active array with --incremental as there is a good chance that they
are actually old/failed devices.
Unfortunately it also stopped spares from being added to an active
array, which is wrong. This patch refines the test to be more
careful.
Reported-by: <fibreraid at gmail.com>
Analysed-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=172356c93a787fe9cddfa5bbc6008b9ded6dd6f0
Author: Dan Williams <dan.j.williams at intel.com>
Date: Mon Aug 9 10:26:24 2010 -0700
Incremental: accept '--no-degraded' as a deprecated option
Commit 3288b419 (Revert "Incremental: honor --no-degraded to delay assembly")
killed the --no-degraded flag since commit 97b4d0e9 (Incremental: honor
an 'enough' flag from external handlers) made this the default behavior
of -I, and brought -I usage for external/container formats in line with
native metadata. However, this breaks existing usages of '-I
--no-degraded', so allow it as a deprecated option.
Starting a degraded container, like the native metadata case, requires -R.
Signed-off-by: Dan Williams <dan.j.williams at intel.com>
Reported-by: Ignacy Kasperowicz <ignacy.kasperowicz at intel.com>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=fd4c9ba49120bb0885491e953d7872b541ffa5a7
Author: Dan Williams <dan.j.williams at intel.com>
Date: Tue Aug 10 08:44:45 2010 -0700
Incremental: return success in 'container not enough' case
Commit 97b4d0e9 "Incremental: honor an 'enough' flag from external
handlers" introduced a regression in that it changed the error return
code for successful invocations.
Signed-off-by: Dan Williams <dan.j.williams at intel.com>
Reported-by: Ignacy Kasperowicz <ignacy.kasperowicz at intel.com>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=5d40884d6b88db7dff80de25adafc54bb721e431
Author: NeilBrown <neilb at suse.de>
Date: Fri Aug 6 20:11:43 2010 +1000
Don't link mdadm with pthreads
Only mdmon needs pthreads, so link accordingly.
Signed-off-by: NeilBrown <neilb at suse.de>
Reported-by: martin f krafft <madduck at madduck.net>
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git/?a=commit;h=cdbe98cd5462dd37430c1c78d1026fe3a7ff8004
Author: NeilBrown <neilb at suse.de>
Date: Fri Aug 6 20:10:48 2010 +1000
Fix compiler warning concering bad use of snprintf.
Signed-off-by: NeilBrown <neilb at suse.de>
Reported-by: Mikael Abrahamsson <swmike at swm.pp.se>
More information about the pkg-mdadm-commits
mailing list