Lines Matching full:replacement

464 		rdev = conf->mirrors[dev].replacement;  in raid10_end_write_request()
475 /* Never record new bad blocks to replacement, in raid10_end_write_request()
772 rdev = rcu_dereference(conf->mirrors[disk].replacement); in read_balance()
777 * Read replacement first to prevent reading both rdev in read_balance()
778 * and replacement as NULL during replacement replace in read_balance()
1264 struct bio *bio, bool replacement, in raid10_write_one_disk() argument
1276 if (replacement) { in raid10_write_one_disk()
1277 rdev = conf->mirrors[devnum].replacement; in raid10_write_one_disk()
1279 /* Replacement just got moved to main 'rdev' */ in raid10_write_one_disk()
1287 if (replacement) in raid10_write_one_disk()
1296 if (!replacement && test_bit(FailFast, in raid10_write_one_disk()
1323 rrdev = rcu_dereference(mirror->replacement); in dereference_rdev_and_rrdev()
1325 * Read replacement first to prevent reading both rdev and in dereference_rdev_and_rrdev()
1326 * replacement as NULL during replacement replace rdev. in dereference_rdev_and_rrdev()
1612 rdev = conf->mirrors[dev].replacement; in raid10_end_discard_request()
1616 * replacement before setting replacement to NULL. It can read in raid10_end_discard_request()
1617 * rdev first without barrier protect even replacement is NULL in raid10_end_discard_request()
1849 struct md_rdev *rrdev = conf->mirrors[disk].replacement; in raid10_handle_discard()
2092 if (tmp->replacement in raid10_spare_active()
2093 && tmp->replacement->recovery_offset == MaxSector in raid10_spare_active()
2094 && !test_bit(Faulty, &tmp->replacement->flags) in raid10_spare_active()
2095 && !test_and_set_bit(In_sync, &tmp->replacement->flags)) { in raid10_spare_active()
2096 /* Replacement has just become active */ in raid10_spare_active()
2109 sysfs_notify_dirent_safe(tmp->replacement->sysfs_state); in raid10_spare_active()
2161 p->replacement == NULL && repl_slot < 0) in raid10_add_disk()
2183 set_bit(Replacement, &rdev->flags); in raid10_add_disk()
2190 rcu_assign_pointer(p->replacement, rdev); in raid10_add_disk()
2211 else if (rdev == p->replacement) in raid10_remove_disk()
2212 rdevp = &p->replacement; in raid10_remove_disk()
2226 (!p->replacement || p->replacement == rdev) && in raid10_remove_disk()
2242 if (p->replacement) { in raid10_remove_disk()
2244 p->rdev = p->replacement; in raid10_remove_disk()
2245 clear_bit(Replacement, &p->replacement->flags); in raid10_remove_disk()
2249 p->replacement = NULL; in raid10_remove_disk()
2345 rdev = conf->mirrors[d].replacement; in end_sync_write()
2481 /* Now write out to any replacement devices in sync_request_write()
2495 md_sync_acct(conf->mirrors[d].replacement->bdev, in sync_request_write()
2634 atomic_inc(&conf->mirrors[d].replacement->nr_pending); in recovery_request_write()
2635 md_sync_acct(conf->mirrors[d].replacement->bdev, in recovery_request_write()
3016 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3054 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3163 if (conf->mirrors[i].replacement) in init_resync()
3351 rcu_dereference(conf->mirrors[i].replacement); in raid10_sync_request()
3438 mreplace = rcu_dereference(mirror->replacement); in raid10_sync_request()
3462 /* Unless we are doing a full sync, or a replacement in raid10_sync_request()
3581 /* and maybe write to replacement */ in raid10_sync_request()
3759 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_sync_request()
3766 /* Need to set up for writing to the replacement */ in raid10_sync_request()
3792 conf->mirrors[d].replacement, in raid10_sync_request()
4180 if (test_bit(Replacement, &rdev->flags)) { in raid10_run()
4181 if (disk->replacement) in raid10_run()
4183 disk->replacement = rdev; in raid10_run()
4230 if (!disk->rdev && disk->replacement) { in raid10_run()
4231 /* The replacement is all we have - use it */ in raid10_run()
4232 disk->rdev = disk->replacement; in raid10_run()
4233 disk->replacement = NULL; in raid10_run()
4234 clear_bit(Replacement, &disk->rdev->flags); in raid10_run()
4246 if (disk->replacement && in raid10_run()
4247 !test_bit(In_sync, &disk->replacement->flags) && in raid10_run()
4248 disk->replacement->saved_raid_disk < 0) { in raid10_run()
4964 rdev2 = rcu_dereference(conf->mirrors[d].replacement); in reshape_request()
5056 rdev = rcu_dereference(conf->mirrors[d].replacement); in reshape_request_write()
5194 rdev = conf->mirrors[d].replacement; in end_reshape_write()
5240 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_finish_reshape()