Lines Matching refs:replacement
700 rdev = rcu_dereference(conf->disks[i].replacement);
726 rdev = rcu_dereference(conf->disks[i].replacement);
1183 rbi = &dev->rreq; /* For writing to replacement */
1186 rrdev = rcu_dereference(conf->disks[i].replacement);
1217 * on the replacement, so we don't to check rrdev.
1328 "replacement disc %d\n",
2776 /* If replacement finished while this request was outstanding,
2777 * 'replacement' might be NULL already.
2781 rdev = rdev_pend_deref(conf->disks[i].replacement);
2793 * replacement device. We just fail those on
2825 "md/raid:%s: read error on replacement device (sector %llu on %pg).\n",
2892 int replacement = 0;
2900 rdev = rdev_pend_deref(conf->disks[i].replacement);
2902 replacement = 1;
2904 /* rdev was removed and 'replacement'
2920 if (replacement) {
2949 if (sh->batch_head && bi->bi_status && !replacement)
3805 rdev = rcu_dereference(conf->disks[i].replacement);
3827 rdev = rcu_dereference(sh->raid_conf->disks[disk_idx].replacement);
4753 /* Prefer to use the replacement for reads, but only
4756 rdev = rcu_dereference(conf->disks[i].replacement);
4812 /* This flag does not apply to '.replacement'
4825 /* This flag does not apply to '.replacement'
4837 conf->disks[i].replacement);
4859 conf->disks[i].replacement);
5233 /* Write out to replacement devices where possible */
5356 rdev = rdev_pend_deref(conf->disks[i].replacement);
5522 rdev = rcu_dereference(conf->disks[dd_idx].replacement);
7654 if (disk->replacement)
7656 RCU_INIT_POINTER(disk->replacement, rdev);
7946 if (!rdev && conf->disks[i].replacement) {
7947 /* The replacement is all we have yet */
7949 conf->disks[i].replacement);
7950 conf->disks[i].replacement = NULL;
7956 if (rcu_access_pointer(conf->disks[i].replacement) &&
7959 pr_warn("md: cannot handle concurrent replacement and reshape.\n");
8181 struct md_rdev *rdev, *replacement;
8187 replacement = rdev_mdlock_deref(mddev,
8188 conf->disks[i].replacement);
8189 if (replacement
8190 && replacement->recovery_offset == MaxSector
8191 && !test_bit(Faulty, &replacement->flags)
8192 && !test_and_set_bit(In_sync, &replacement->flags)) {
8206 sysfs_notify_dirent_safe(replacement->sysfs_state);
8252 else if (rdev == rcu_access_pointer(p->replacement))
8253 rdevp = &p->replacement;
8272 (!rcu_access_pointer(p->replacement) ||
8273 rcu_access_pointer(p->replacement) == rdev) &&
8294 tmp = rcu_access_pointer(p->replacement);
8302 rcu_assign_pointer(p->replacement, NULL);
8382 p->replacement == NULL) {
8388 rcu_assign_pointer(p->replacement, rdev);
8521 if (rdev_mdlock_deref(mddev, conf->disks[i].replacement))
8697 conf->disks[d].replacement);