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;
90 md_error (mp_bh->mddev, rdev);
97 rdev_dec_pending(rdev, conf->mddev);
100 static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
102 struct mpconf *conf = mddev->private;
107 && md_flush_request(mddev, bio))
110 md_account_bio(mddev, &bio);
114 mp_bh->mddev = mddev;
130 mddev_check_write_zeroes(mddev, &mp_bh->bio);
135 static void multipath_status(struct seq_file *seq, struct mddev *mddev)
137 struct mpconf *conf = mddev->private;
141 conf->raid_disks - mddev->degraded);
154 static void multipath_error (struct mddev *mddev, struct md_rdev *rdev)
156 struct mpconf *conf = mddev->private;
158 if (conf->raid_disks - mddev->degraded <= 1) {
174 mddev->degraded++;
178 set_bit(MD_SB_CHANGE_DEVS, &mddev->sb_flags);
182 conf->raid_disks - mddev->degraded);
195 pr_debug(" --- wd:%d rd:%d\n", conf->raid_disks - conf->mddev->degraded,
207 static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)
209 struct mpconf *conf = mddev->private;
214 int last = mddev->raid_disks - 1;
223 disk_stack_limits(mddev->gendisk, rdev->bdev,
226 err = md_integrity_add_rdev(rdev, mddev);
230 mddev->degraded--;
244 static int multipath_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
246 struct mpconf *conf = mddev->private;
270 err = md_integrity_register(mddev);
288 struct mddev *mddev = thread->mddev;
292 struct mpconf *conf = mddev->private;
295 md_check_recovery(mddev);
329 static sector_t multipath_size(struct mddev *mddev, sector_t sectors, int raid_disks)
334 return mddev->dev_sectors;
337 static int multipath_run (struct mddev *mddev)
346 if (md_check_no_bitmap(mddev))
349 if (mddev->level != LEVEL_MULTIPATH) {
351 mdname(mddev), mddev->level);
361 mddev->private = conf;
365 conf->multipaths = kcalloc(mddev->raid_disks,
372 rdev_for_each(rdev, mddev) {
375 disk_idx >= mddev->raid_disks)
380 disk_stack_limits(mddev->gendisk, rdev->bdev,
387 conf->raid_disks = mddev->raid_disks;
388 conf->mddev = mddev;
394 mdname(mddev));
397 mddev->degraded = conf->raid_disks - working_disks;
404 rcu_assign_pointer(mddev->thread,
405 md_register_thread(multipathd, mddev, "multipath"));
406 if (!mddev->thread)
410 mdname(mddev), conf->raid_disks - mddev->degraded,
411 mddev->raid_disks);
415 md_set_array_sectors(mddev, multipath_size(mddev, 0, 0));
417 if (md_integrity_register(mddev))
426 mddev->private = NULL;
431 static void multipath_free(struct mddev *mddev, void *priv)