i.e. if assembling with --name or --super-minor, then if we find two
different arrays with the same apparent identity, and one was built
for 'this' host, then prefer that one instead of giving up in disgust.
Signed-off-by: Neil Brown <neilb@suse.de>
We make sure all devices can are consistent before doing any --update
This saves us from updating some but not all of an array, and then
aborting.
It also means we can backtrack on out decisions, which we might want to
do later.
Signed-off-by: Neil Brown <neilb@suse.de>
When an array is created, if the homehost is know,
the superblock gets it, either in the uuid, (via sha1)
or in the name field.
Signed-off-by: Neil Brown <neilb@suse.de>
Use to avoid starting arrays if there are
fewer devices available than last time the array was started.
This is only needed with --scan, as with --scan, that behaviour
is the default.
Signed-off-by: Neil Brown <neilb@suse.de>
So when you say auto=md or auto=part in mdadm.conf, it give a preference
for type of array, but standard name will override.
But --auto=md is more insistant.
FIXME I'm not at all happy about handling of names that already exist.
I don't think that should be removed if the device is active.
Signed-off-by: Neil Brown <neilb@suse.de>
When creating a file bitmap, choose a default size that
results in fewer than 2^21 chunks. Without this kmalloc
failure in the kernel becomes likely.
Signed-off-by: Neil Brown <neilb@suse.de>
This means the output of "mdadm -Es" can be used as a complete
mdadm.conf file .... if you really want to do that.
Signed-off-by: Neil Brown <neilb@suse.de>
A pending patch to the kernel causes bitmap file updates
to not go through the page cache, so O_DIRECT is needed to
ensure that we read current data.
Signed-off-by: Neil Brown <neilb@suse.de>
For 'force' and 'assemble', update_super must return true
if anything was changed.
Also fix a bug with wonly handling in super0.
Signed-off-by: Neil Brown <neilb@suse.de>
### Diffstat output
./super0.c | 18 ++++++++++++++----
./super1.c | 7 +++++++
2 files changed, 21 insertions(+), 4 deletions(-)
diff ./super0.c~current~ ./super0.c
There are 64 partitions per device, not 16.
Signed-off-by: Neil Brown <neilb@suse.de>
### Diffstat output
./sysfs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff ./sysfs.c~current~ ./sysfs.c
NOTE: This is an incompatable change affecting raid5 reshape.
If you want to reshape a raid5 using version-1 superblocks,
use 2.6.17-rc2 or later, and mdadm-2.4.1 or later.
Signed-off-by: Neil Brown <neilb@suse.de>
The following patch makes it possible to tag a device as write-mostly on
--add and --re-add with a non-persistent superblock array. Previously,
this was not working.
Signed-Off-By: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: Neil Brown <neilb@suse.de>
mdadm.8 improved (I hope).
Rearrange some option documentation and add --backup-file, and other
general improvements.
Signed-off-by: Neil Brown <neilb@suse.de>
.. this causes silly warnings.
Unfortuantely there are 2.6 kernels which will still produce
warnings. We cannot reliable detect those.
Signed-off-by: Neil Brown <neilb@suse.de>
We generally don't want to follow symlinks in /dev, but if
/dev itself is a symlink, we want to follow it.
So nftw needs a bit of help.
Signed-off-by: Neil Brown <neilb@suse.de>
To support resizing an array without a spare, mdadm now understands
--backup-file=
which should point to a file for storing a backup of critical data.
This can be given to --grow which will create the file, or
--assemble which will restore from the file if needed.
Signed-off-by: Neil Brown <neilb@suse.de>