Lines Matching refs:bio
64 static void flush_bios(struct bio *bio) in flush_bios() argument
66 struct bio *n; in flush_bios()
68 while (bio) { in flush_bios()
69 n = bio->bi_next; in flush_bios()
70 bio->bi_next = NULL; in flush_bios()
71 generic_make_request(bio); in flush_bios()
72 bio = n; in flush_bios()
76 static struct bio *flush_delayed_bios(struct delay_c *dc, int flush_all) in flush_delayed_bios()
86 struct bio *bio = dm_bio_from_per_bio_data(delayed, in flush_delayed_bios() local
89 bio_list_add(&flush_bios, bio); in flush_delayed_bios()
90 if ((bio_data_dir(bio) == WRITE)) in flush_delayed_bios()
235 static int delay_bio(struct delay_c *dc, int delay, struct bio *bio) in delay_bio() argument
243 delayed = dm_per_bio_data(bio, sizeof(struct dm_delay_info)); in delay_bio()
250 if (bio_data_dir(bio) == WRITE) in delay_bio()
280 static int delay_map(struct dm_target *ti, struct bio *bio) in delay_map() argument
284 if ((bio_data_dir(bio) == WRITE) && (dc->dev_write)) { in delay_map()
285 bio->bi_bdev = dc->dev_write->bdev; in delay_map()
286 if (bio_sectors(bio)) in delay_map()
287 bio->bi_iter.bi_sector = dc->start_write + in delay_map()
288 dm_target_offset(ti, bio->bi_iter.bi_sector); in delay_map()
290 return delay_bio(dc, dc->write_delay, bio); in delay_map()
293 bio->bi_bdev = dc->dev_read->bdev; in delay_map()
294 bio->bi_iter.bi_sector = dc->start_read + in delay_map()
295 dm_target_offset(ti, bio->bi_iter.bi_sector); in delay_map()
297 return delay_bio(dc, dc->read_delay, bio); in delay_map()