Lines Matching full:replacement

469 		rdev = conf->mirrors[dev].replacement;  in raid10_end_write_request()
480 /* Never record new bad blocks to replacement, in raid10_end_write_request()
778 rdev = rcu_dereference(conf->mirrors[disk].replacement); in read_balance()
783 * Read replacement first to prevent reading both rdev in read_balance()
784 * and replacement as NULL during replacement replace in read_balance()
1270 struct bio *bio, bool replacement, in raid10_write_one_disk() argument
1282 if (replacement) { in raid10_write_one_disk()
1283 rdev = conf->mirrors[devnum].replacement; in raid10_write_one_disk()
1285 /* Replacement just got moved to main 'rdev' */ in raid10_write_one_disk()
1293 if (replacement) in raid10_write_one_disk()
1302 if (!replacement && test_bit(FailFast, in raid10_write_one_disk()
1329 rrdev = rcu_dereference(mirror->replacement); in dereference_rdev_and_rrdev()
1331 * Read replacement first to prevent reading both rdev and in dereference_rdev_and_rrdev()
1332 * replacement as NULL during replacement replace rdev. in dereference_rdev_and_rrdev()
1629 rdev = conf->mirrors[dev].replacement; in raid10_end_discard_request()
1633 * replacement before setting replacement to NULL. It can read in raid10_end_discard_request()
1634 * rdev first without barrier protect even replacement is NULL in raid10_end_discard_request()
1866 struct md_rdev *rrdev = conf->mirrors[disk].replacement; in raid10_handle_discard()
2109 if (tmp->replacement in raid10_spare_active()
2110 && tmp->replacement->recovery_offset == MaxSector in raid10_spare_active()
2111 && !test_bit(Faulty, &tmp->replacement->flags) in raid10_spare_active()
2112 && !test_and_set_bit(In_sync, &tmp->replacement->flags)) { in raid10_spare_active()
2113 /* Replacement has just become active */ in raid10_spare_active()
2126 sysfs_notify_dirent_safe(tmp->replacement->sysfs_state); in raid10_spare_active()
2178 p->replacement == NULL && repl_slot < 0) in raid10_add_disk()
2200 set_bit(Replacement, &rdev->flags); in raid10_add_disk()
2207 rcu_assign_pointer(p->replacement, rdev); in raid10_add_disk()
2228 else if (rdev == p->replacement) in raid10_remove_disk()
2229 rdevp = &p->replacement; in raid10_remove_disk()
2243 (!p->replacement || p->replacement == rdev) && in raid10_remove_disk()
2259 if (p->replacement) { in raid10_remove_disk()
2261 p->rdev = p->replacement; in raid10_remove_disk()
2262 clear_bit(Replacement, &p->replacement->flags); in raid10_remove_disk()
2266 p->replacement = NULL; in raid10_remove_disk()
2362 rdev = conf->mirrors[d].replacement; in end_sync_write()
2498 /* Now write out to any replacement devices in sync_request_write()
2512 md_sync_acct(conf->mirrors[d].replacement->bdev, in sync_request_write()
2651 atomic_inc(&conf->mirrors[d].replacement->nr_pending); in recovery_request_write()
2652 md_sync_acct(conf->mirrors[d].replacement->bdev, in recovery_request_write()
3033 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3074 rdev = conf->mirrors[dev].replacement; in handle_write_completed()
3185 if (conf->mirrors[i].replacement) in init_resync()
3373 rcu_dereference(conf->mirrors[i].replacement); in raid10_sync_request()
3460 mreplace = rcu_dereference(mirror->replacement); in raid10_sync_request()
3484 /* Unless we are doing a full sync, or a replacement in raid10_sync_request()
3603 /* and maybe write to replacement */ in raid10_sync_request()
3781 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_sync_request()
3788 /* Need to set up for writing to the replacement */ in raid10_sync_request()
3814 conf->mirrors[d].replacement, in raid10_sync_request()
4202 if (test_bit(Replacement, &rdev->flags)) { in raid10_run()
4203 if (disk->replacement) in raid10_run()
4205 disk->replacement = rdev; in raid10_run()
4252 if (!disk->rdev && disk->replacement) { in raid10_run()
4253 /* The replacement is all we have - use it */ in raid10_run()
4254 disk->rdev = disk->replacement; in raid10_run()
4255 disk->replacement = NULL; in raid10_run()
4256 clear_bit(Replacement, &disk->rdev->flags); in raid10_run()
4268 if (disk->replacement && in raid10_run()
4269 !test_bit(In_sync, &disk->replacement->flags) && in raid10_run()
4270 disk->replacement->saved_raid_disk < 0) { in raid10_run()
4986 rdev2 = rcu_dereference(conf->mirrors[d].replacement); in reshape_request()
5078 rdev = rcu_dereference(conf->mirrors[d].replacement); in reshape_request_write()
5216 rdev = conf->mirrors[d].replacement; in end_reshape_write()
5262 rdev = rcu_dereference(conf->mirrors[d].replacement); in raid10_finish_reshape()