diff options
author | NeilBrown <neilb@suse.de> | 2011-03-22 14:47:55 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-03-23 11:09:48 +1100 |
commit | ce7a187b9a2c58783276c9da65088494f4f85124 (patch) | |
tree | c6701a88fa2e7d12818f9346d4958baef0aca11a | |
parent | 7c19b781d511211fcee0d9482bbccc7217a5f7f9 (diff) | |
download | mdadm-ce7a187b9a2c58783276c9da65088494f4f85124.tar.gz |
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@suse.de>
-rw-r--r-- | Monitor.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -369,7 +369,7 @@ int Monitor(mddev_dev_t devlist, } else if (mse && mse->pattern && i < (int)strlen(mse->pattern)) { switch(mse->pattern[i]) { case 'U': newstate = 6 /* ACTIVE/SYNC */; break; - case '_': newstate = 0; break; + case '_': newstate = 8 /* REMOVED */; break; } disc.major = disc.minor = 0; } |