Lines Matching full:replacement
443 rdev = conf->mirrors[dev].replacement; in raid10_end_write_request()
454 /* Never record new bad blocks to replacement, in raid10_end_write_request()
752 rdev = rcu_dereference(conf->mirrors[disk].replacement); in read_balance()
1212 struct bio *bio, bool replacement, in raid10_write_one_disk() argument
1226 if (replacement) { in raid10_write_one_disk()
1227 rdev = conf->mirrors[devnum].replacement; in raid10_write_one_disk()
1229 /* Replacement just got moved to main 'rdev' */ in raid10_write_one_disk()
1237 if (replacement) in raid10_write_one_disk()
1247 if (!replacement && test_bit(FailFast, in raid10_write_one_disk()
1351 conf->mirrors[d].replacement); in raid10_write_request()
1441 rdev = conf->mirrors[d].replacement; in raid10_write_request()
1704 if (tmp->replacement in raid10_spare_active()
1705 && tmp->replacement->recovery_offset == MaxSector in raid10_spare_active()
1706 && !test_bit(Faulty, &tmp->replacement->flags) in raid10_spare_active()
1707 && !test_and_set_bit(In_sync, &tmp->replacement->flags)) { in raid10_spare_active()
1708 /* Replacement has just become active */ in raid10_spare_active()
1721 sysfs_notify_dirent_safe(tmp->replacement->sysfs_state); in raid10_spare_active()
1772 p->replacement != NULL) in raid10_add_disk()
1775 set_bit(Replacement, &rdev->flags); in raid10_add_disk()
1782 rcu_assign_pointer(p->replacement, rdev); in raid10_add_disk()
1817 else if (rdev == p->replacement) in raid10_remove_disk()
1818 rdevp = &p->replacement; in raid10_remove_disk()
1832 (!p->replacement || p->replacement == rdev) && in raid10_remove_disk()
1848 if (p->replacement) { in raid10_remove_disk()
1850 p->rdev = p->replacement; in raid10_remove_disk()
1851 clear_bit(Replacement, &p->replacement->flags); in raid10_remove_disk()
1855 p->replacement = NULL; in raid10_remove_disk()
1951 rdev = conf->mirrors[d].replacement; in end_sync_write()
2089 /* Now write out to any replacement devices in sync_request_write()
2103 md_sync_acct(conf->mirrors[d].replacement->bdev, in sync_request_write()
2239 atomic_inc(&conf->mirrors[d].replacement->nr_pending); in recovery_request_write()
2240 md_sync_acct(conf->mirrors[d].replacement->bdev, in recovery_request_write()
2625 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
2666 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
2777 if (conf->mirrors[i].replacement) in init_resync()
2964 rcu_dereference(conf->mirrors[i].replacement); in raid10_sync_request()
3040 mreplace = rcu_dereference(mirror->replacement); in raid10_sync_request()
3068 /* Unless we are doing a full sync, or a replacement in raid10_sync_request()
3186 /* and maybe write to replacement */ in raid10_sync_request()
3360 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_sync_request()
3367 /* Need to set up for writing to the replacement */ in raid10_sync_request()
3393 conf->mirrors[d].replacement, in raid10_sync_request()
3776 if (test_bit(Replacement, &rdev->flags)) { in raid10_run()
3777 if (disk->replacement) in raid10_run()
3779 disk->replacement = rdev; in raid10_run()
3837 if (!disk->rdev && disk->replacement) { in raid10_run()
3838 /* The replacement is all we have - use it */ in raid10_run()
3839 disk->rdev = disk->replacement; in raid10_run()
3840 disk->replacement = NULL; in raid10_run()
3841 clear_bit(Replacement, &disk->rdev->flags); in raid10_run()
3853 if (disk->replacement && in raid10_run()
3854 !test_bit(In_sync, &disk->replacement->flags) && in raid10_run()
3855 disk->replacement->saved_raid_disk < 0) { in raid10_run()
4589 rdev2 = rcu_dereference(conf->mirrors[d].replacement); in reshape_request()
4681 rdev = rcu_dereference(conf->mirrors[d].replacement); in reshape_request_write()
4819 rdev = conf->mirrors[d].replacement; in end_reshape_write()
4865 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_finish_reshape()