Lines Matching refs:mddev

30 static inline struct dev_info *which_dev(struct mddev *mddev, sector_t sector)  in which_dev()  argument
36 hi = mddev->raid_disks - 1; in which_dev()
37 conf = mddev->private; in which_dev()
55 static int linear_congested(struct mddev *mddev, int bits) in linear_congested() argument
60 conf = mddev->private; in linear_congested()
62 for (i = 0; i < mddev->raid_disks && !ret ; i++) { in linear_congested()
70 static sector_t linear_size(struct mddev *mddev, sector_t sectors, int raid_disks) in linear_size() argument
75 conf = mddev->private; in linear_size()
83 static struct linear_conf *linear_conf(struct mddev *mddev, int raid_disks) in linear_conf() argument
98 rdev_for_each(rdev, mddev) { in linear_conf()
105 mdname(mddev)); in linear_conf()
110 if (mddev->chunk_sectors) { in linear_conf()
112 sector_div(sectors, mddev->chunk_sectors); in linear_conf()
113 rdev->sectors = sectors * mddev->chunk_sectors; in linear_conf()
116 disk_stack_limits(mddev->gendisk, rdev->bdev, in linear_conf()
127 mdname(mddev)); in linear_conf()
132 queue_flag_clear_unlocked(QUEUE_FLAG_DISCARD, mddev->queue); in linear_conf()
134 queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, mddev->queue); in linear_conf()
153 static int linear_run (struct mddev *mddev) in linear_run() argument
158 if (md_check_no_bitmap(mddev)) in linear_run()
160 conf = linear_conf(mddev, mddev->raid_disks); in linear_run()
164 mddev->private = conf; in linear_run()
165 md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); in linear_run()
167 ret = md_integrity_register(mddev); in linear_run()
170 mddev->private = NULL; in linear_run()
175 static int linear_add(struct mddev *mddev, struct md_rdev *rdev) in linear_add() argument
187 if (rdev->saved_raid_disk != mddev->raid_disks) in linear_add()
193 newconf = linear_conf(mddev,mddev->raid_disks+1); in linear_add()
198 mddev_suspend(mddev); in linear_add()
199 oldconf = mddev->private; in linear_add()
200 mddev->raid_disks++; in linear_add()
201 mddev->private = newconf; in linear_add()
202 md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); in linear_add()
203 set_capacity(mddev->gendisk, mddev->array_sectors); in linear_add()
204 mddev_resume(mddev); in linear_add()
205 revalidate_disk(mddev->gendisk); in linear_add()
210 static void linear_free(struct mddev *mddev, void *priv) in linear_free() argument
217 static void linear_make_request(struct mddev *mddev, struct bio *bio) in linear_make_request() argument
225 md_flush_request(mddev, bio); in linear_make_request()
230 tmp_dev = which_dev(mddev, bio->bi_iter.bi_sector); in linear_make_request()
268 mdname(mddev), in linear_make_request()
276 static void linear_status (struct seq_file *seq, struct mddev *mddev) in linear_status() argument
279 seq_printf(seq, " %dk rounding", mddev->chunk_sectors / 2); in linear_status()
282 static void linear_quiesce(struct mddev *mddev, int state) in linear_quiesce() argument