diff options
author | NeilBrown <neilb@suse.de> | 2008-12-18 14:11:59 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-12-18 14:11:59 +1100 |
commit | 4e9a6ff778cdc58dcc6897e74cf5ee1d3f73e1f7 (patch) | |
tree | ecffef08ae41cfc71292394367a853352382c2a0 /Assemble.c | |
parent | 22eba5121632c4b26541fbb04209a90b93c24bcc (diff) | |
download | mdadm-4e9a6ff778cdc58dcc6897e74cf5ee1d3f73e1f7.tar.gz mdadm-4e9a6ff778cdc58dcc6897e74cf5ee1d3f73e1f7.tar.xz mdadm-4e9a6ff778cdc58dcc6897e74cf5ee1d3f73e1f7.zip |
Assemble: don't assume array is 'clean' unless all devices think it is.
This is only significant for --assemble --force where some old
devices might be included into the array. If anything looks like
it isn't clean, the kernel will not allow a degraded array to be started.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r-- | Assemble.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -749,6 +749,8 @@ int Assemble(struct supertype *st, char *mddev, int mdfd, continue; devices[j].i.disk.state = desired_state; + if (!(devices[j].i.array.state & 1)) + clean = 0; if (st->ss->update_super(st, &devices[j].i, "assemble", NULL, verbose, 0, NULL)) { |