md: write bitmap information to devices that are undergoing recovery.
When we add some spares to an array and start recovery, and we have a bitmap which is stored 'internally' on all devices, we call bitmap_write_all to make sure the bitmap is correct on the new device(s). However that doesn't work as write_sb_page only writes to 'In_sync' devices, and devices undergoing recovery are not 'In_sync' until recovery finishes. So extend write_sb_page (actually next_active_rdev) to include devices that are under recovery. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
d0a4bb4927
commit
355a43e641
1 changed files with 0 additions and 1 deletions
|
@ -266,7 +266,6 @@ static mdk_rdev_t *next_active_rdev(mdk_rdev_t *rdev, mddev_t *mddev)
|
||||||
list_for_each_continue_rcu(pos, &mddev->disks) {
|
list_for_each_continue_rcu(pos, &mddev->disks) {
|
||||||
rdev = list_entry(pos, mdk_rdev_t, same_set);
|
rdev = list_entry(pos, mdk_rdev_t, same_set);
|
||||||
if (rdev->raid_disk >= 0 &&
|
if (rdev->raid_disk >= 0 &&
|
||||||
test_bit(In_sync, &rdev->flags) &&
|
|
||||||
!test_bit(Faulty, &rdev->flags)) {
|
!test_bit(Faulty, &rdev->flags)) {
|
||||||
/* this is a usable devices */
|
/* this is a usable devices */
|
||||||
atomic_inc(&rdev->nr_pending);
|
atomic_inc(&rdev->nr_pending);
|
||||||
|
|
Loading…
Add table
Reference in a new issue