Lines Matching full:replacement
471 rdev = conf->mirrors[dev].replacement; in raid10_end_write_request()
482 /* Never record new bad blocks to replacement, in raid10_end_write_request()
780 rdev = rcu_dereference(conf->mirrors[disk].replacement); in read_balance()
1271 struct bio *bio, bool replacement, in raid10_write_one_disk() argument
1285 if (replacement) { in raid10_write_one_disk()
1286 rdev = conf->mirrors[devnum].replacement; in raid10_write_one_disk()
1288 /* Replacement just got moved to main 'rdev' */ in raid10_write_one_disk()
1296 if (replacement) in raid10_write_one_disk()
1305 if (!replacement && test_bit(FailFast, in raid10_write_one_disk()
1346 conf->mirrors[i].replacement); in wait_blocked_dev()
1477 conf->mirrors[d].replacement); in raid10_write_request()
1624 rdev = conf->mirrors[dev].replacement; in raid10_end_discard_request()
1628 * replacement before setting replacement to NULL. It can read in raid10_end_discard_request()
1787 conf->mirrors[disk].replacement); in raid10_handle_discard()
1862 struct md_rdev *rrdev = conf->mirrors[disk].replacement; in raid10_handle_discard()
2105 if (tmp->replacement in raid10_spare_active()
2106 && tmp->replacement->recovery_offset == MaxSector in raid10_spare_active()
2107 && !test_bit(Faulty, &tmp->replacement->flags) in raid10_spare_active()
2108 && !test_and_set_bit(In_sync, &tmp->replacement->flags)) { in raid10_spare_active()
2109 /* Replacement has just become active */ in raid10_spare_active()
2122 sysfs_notify_dirent_safe(tmp->replacement->sysfs_state); in raid10_spare_active()
2173 p->replacement != NULL) in raid10_add_disk()
2176 set_bit(Replacement, &rdev->flags); in raid10_add_disk()
2183 rcu_assign_pointer(p->replacement, rdev); in raid10_add_disk()
2219 else if (rdev == p->replacement) in raid10_remove_disk()
2220 rdevp = &p->replacement; in raid10_remove_disk()
2234 (!p->replacement || p->replacement == rdev) && in raid10_remove_disk()
2250 if (p->replacement) { in raid10_remove_disk()
2252 p->rdev = p->replacement; in raid10_remove_disk()
2253 clear_bit(Replacement, &p->replacement->flags); in raid10_remove_disk()
2257 p->replacement = NULL; in raid10_remove_disk()
2353 rdev = conf->mirrors[d].replacement; in end_sync_write()
2489 /* Now write out to any replacement devices in sync_request_write()
2503 md_sync_acct(conf->mirrors[d].replacement->bdev, in sync_request_write()
2639 atomic_inc(&conf->mirrors[d].replacement->nr_pending); in recovery_request_write()
2640 md_sync_acct(conf->mirrors[d].replacement->bdev, in recovery_request_write()
3017 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3058 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3169 if (conf->mirrors[i].replacement) in init_resync()
3356 rcu_dereference(conf->mirrors[i].replacement); in raid10_sync_request()
3432 mreplace = rcu_dereference(mirror->replacement); in raid10_sync_request()
3460 /* Unless we are doing a full sync, or a replacement in raid10_sync_request()
3578 /* and maybe write to replacement */ in raid10_sync_request()
3752 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_sync_request()
3759 /* Need to set up for writing to the replacement */ in raid10_sync_request()
3785 conf->mirrors[d].replacement, in raid10_sync_request()
4166 if (test_bit(Replacement, &rdev->flags)) { in raid10_run()
4167 if (disk->replacement) in raid10_run()
4169 disk->replacement = rdev; in raid10_run()
4216 if (!disk->rdev && disk->replacement) { in raid10_run()
4217 /* The replacement is all we have - use it */ in raid10_run()
4218 disk->rdev = disk->replacement; in raid10_run()
4219 disk->replacement = NULL; in raid10_run()
4220 clear_bit(Replacement, &disk->rdev->flags); in raid10_run()
4232 if (disk->replacement && in raid10_run()
4233 !test_bit(In_sync, &disk->replacement->flags) && in raid10_run()
4234 disk->replacement->saved_raid_disk < 0) { in raid10_run()
4962 rdev2 = rcu_dereference(conf->mirrors[d].replacement); in reshape_request()
5054 rdev = rcu_dereference(conf->mirrors[d].replacement); in reshape_request_write()
5192 rdev = conf->mirrors[d].replacement; in end_reshape_write()
5238 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_finish_reshape()