diff options
author | NeilBrown <neilb@suse.de> | 2009-11-13 17:40:51 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-11-13 17:40:51 +1100 |
commit | 7ef90146a14c2bb1de2e22399f147ebec5b74f0b (patch) | |
tree | ab0e97fb85814f174ed5ec0645057bb65dd4bb1d /kernel/kmod.c | |
parent | 0261cd9f1cb42fa44ece314d27868d83742bdf03 (diff) |
Don't unconditionally set in_sync on newly added device in raid5_reshape
When a reshape finds that it can add spare devices into the array,
those devices might already be 'in_sync' if they are beyond the old
size of the array, or they might not if they are within the array.
The first case happens when we change an N-drive RAID5 to an
N+1-drive RAID5.
The second happens when we convert an N-drive RAID5 to an
N+1-drive RAID6.
So set the flag more carefully.
Also, ->recovery_offset is only meaningful when the flag is clear,
so only set it in that case.
This change needs the preceding two to ensure that the non-in_sync
device doesn't get evicted from the array when it is stopped, in the
case where v0.90 metadata is used.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'kernel/kmod.c')
0 files changed, 0 insertions, 0 deletions