Lines Matching defs:mddev

54 	struct mddev *mddev = mp_bh->mddev;
55 struct mpconf *conf = mddev->private;
60 md_wakeup_thread(mddev->thread);
71 struct mpconf *conf = mp_bh->mddev->private;
81 struct mpconf *conf = mp_bh->mddev->private;
91 md_error (mp_bh->mddev, rdev);
98 rdev_dec_pending(rdev, conf->mddev);
101 static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
103 struct mpconf *conf = mddev->private;
108 && md_flush_request(mddev, bio))
114 mp_bh->mddev = mddev;
132 mddev_check_writesame(mddev, &mp_bh->bio);
133 mddev_check_write_zeroes(mddev, &mp_bh->bio);
138 static void multipath_status(struct seq_file *seq, struct mddev *mddev)
140 struct mpconf *conf = mddev->private;
144 conf->raid_disks - mddev->degraded);
157 static void multipath_error (struct mddev *mddev, struct md_rdev *rdev)
159 struct mpconf *conf = mddev->private;
162 if (conf->raid_disks - mddev->degraded <= 1) {
178 mddev->degraded++;
182 set_bit(MD_SB_CHANGE_DEVS, &mddev->sb_flags);
186 conf->raid_disks - mddev->degraded);
199 pr_debug(" --- wd:%d rd:%d\n", conf->raid_disks - conf->mddev->degraded,
212 static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)
214 struct mpconf *conf = mddev->private;
219 int last = mddev->raid_disks - 1;
228 disk_stack_limits(mddev->gendisk, rdev->bdev,
231 err = md_integrity_add_rdev(rdev, mddev);
235 mddev->degraded--;
249 static int multipath_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
251 struct mpconf *conf = mddev->private;
275 err = md_integrity_register(mddev);
293 struct mddev *mddev = thread->mddev;
297 struct mpconf *conf = mddev->private;
300 md_check_recovery(mddev);
335 static sector_t multipath_size(struct mddev *mddev, sector_t sectors, int raid_disks)
340 return mddev->dev_sectors;
343 static int multipath_run (struct mddev *mddev)
352 if (md_check_no_bitmap(mddev))
355 if (mddev->level != LEVEL_MULTIPATH) {
357 mdname(mddev), mddev->level);
367 mddev->private = conf;
371 conf->multipaths = kcalloc(mddev->raid_disks,
378 rdev_for_each(rdev, mddev) {
381 disk_idx >= mddev->raid_disks)
386 disk_stack_limits(mddev->gendisk, rdev->bdev,
393 conf->raid_disks = mddev->raid_disks;
394 conf->mddev = mddev;
400 mdname(mddev));
403 mddev->degraded = conf->raid_disks - working_disks;
410 mddev->thread = md_register_thread(multipathd, mddev,
412 if (!mddev->thread)
416 mdname(mddev), conf->raid_disks - mddev->degraded,
417 mddev->raid_disks);
421 md_set_array_sectors(mddev, multipath_size(mddev, 0, 0));
423 if (md_integrity_register(mddev))
432 mddev->private = NULL;
437 static void multipath_free(struct mddev *mddev, void *priv)