Lines Matching defs:rdev
37 struct md_rdev *rdev = rcu_dereference(conf->multipaths[i].rdev);
38 if (rdev && test_bit(In_sync, &rdev->flags) &&
39 !test_bit(Faulty, &rdev->flags)) {
40 atomic_inc(&rdev->nr_pending);
82 struct md_rdev *rdev = conf->multipaths[mp_bh->path].rdev;
90 md_error (mp_bh->mddev, rdev);
92 rdev->bdev,
97 rdev_dec_pending(rdev, conf->mddev);
124 bio_init_clone(multipath->rdev->bdev, &mp_bh->bio, bio, GFP_NOIO);
126 mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
144 struct md_rdev *rdev = rcu_dereference(conf->multipaths[i].rdev);
145 seq_printf (seq, "%s", rdev && test_bit(In_sync, &rdev->flags) ? "U" : "_");
154 static void multipath_error (struct mddev *mddev, struct md_rdev *rdev)
171 if (test_and_clear_bit(In_sync, &rdev->flags)) {
177 set_bit(Faulty, &rdev->flags);
181 rdev->bdev,
200 if (tmp->rdev)
202 i,!test_bit(Faulty, &tmp->rdev->flags),
203 tmp->rdev->bdev);
207 static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)
216 if (rdev->raid_disk >= 0)
217 first = last = rdev->raid_disk;
222 if ((p=conf->multipaths+path)->rdev == NULL) {
223 disk_stack_limits(mddev->gendisk, rdev->bdev,
224 rdev->data_offset << 9);
226 err = md_integrity_add_rdev(rdev, mddev);
231 rdev->raid_disk = path;
232 set_bit(In_sync, &rdev->flags);
234 rcu_assign_pointer(p->rdev, rdev);
244 static int multipath_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
248 int number = rdev->raid_disk;
253 if (rdev == p->rdev) {
254 if (test_bit(In_sync, &rdev->flags) ||
255 atomic_read(&rdev->nr_pending)) {
260 p->rdev = NULL;
261 if (!test_bit(RemoveSynchronized, &rdev->flags)) {
263 if (atomic_read(&rdev->nr_pending)) {
266 p->rdev = rdev;
318 conf->multipaths[mp_bh->path].rdev->data_offset;
319 bio_set_dev(bio, conf->multipaths[mp_bh->path].rdev->bdev);
342 struct md_rdev *rdev;
372 rdev_for_each(rdev, mddev) {
373 disk_idx = rdev->raid_disk;
379 disk->rdev = rdev;
380 disk_stack_limits(mddev->gendisk, rdev->bdev,
381 rdev->data_offset << 9);
383 if (!test_bit(Faulty, &rdev->flags))