Lines Matching refs:bio
201 static void write_bdev_super_endio(struct bio *bio) in write_bdev_super_endio() argument
203 struct cached_dev *dc = bio->bi_private; in write_bdev_super_endio()
209 static void __write_super(struct cache_sb *sb, struct bio *bio) in __write_super() argument
211 struct cache_sb *out = page_address(bio->bi_io_vec[0].bv_page); in __write_super()
214 bio->bi_iter.bi_sector = SB_SECTOR; in __write_super()
215 bio->bi_rw = REQ_SYNC|REQ_META; in __write_super()
216 bio->bi_iter.bi_size = SB_SIZE; in __write_super()
217 bch_bio_map(bio, NULL); in __write_super()
241 submit_bio(REQ_WRITE, bio); in __write_super()
254 struct bio *bio = &dc->sb_bio; in bch_write_bdev_super() local
259 bio_reset(bio); in bch_write_bdev_super()
260 bio->bi_bdev = dc->bdev; in bch_write_bdev_super()
261 bio->bi_end_io = write_bdev_super_endio; in bch_write_bdev_super()
262 bio->bi_private = dc; in bch_write_bdev_super()
265 __write_super(&dc->sb, bio); in bch_write_bdev_super()
270 static void write_super_endio(struct bio *bio) in write_super_endio() argument
272 struct cache *ca = bio->bi_private; in write_super_endio()
274 bch_count_io_errors(ca, bio->bi_error, "writing superblock"); in write_super_endio()
297 struct bio *bio = &ca->sb_bio; in bcache_write_super() local
305 bio_reset(bio); in bcache_write_super()
306 bio->bi_bdev = ca->bdev; in bcache_write_super()
307 bio->bi_end_io = write_super_endio; in bcache_write_super()
308 bio->bi_private = ca; in bcache_write_super()
311 __write_super(&ca->sb, bio); in bcache_write_super()
319 static void uuid_endio(struct bio *bio) in uuid_endio() argument
321 struct closure *cl = bio->bi_private; in uuid_endio()
324 cache_set_err_on(bio->bi_error, c, "accessing uuids"); in uuid_endio()
325 bch_bbio_free(bio, c); in uuid_endio()
349 struct bio *bio = bch_bbio_alloc(c); in uuid_io() local
351 bio->bi_rw = REQ_SYNC|REQ_META|rw; in uuid_io()
352 bio->bi_iter.bi_size = KEY_SIZE(k) << 9; in uuid_io()
354 bio->bi_end_io = uuid_endio; in uuid_io()
355 bio->bi_private = cl; in uuid_io()
356 bch_bio_map(bio, c->uuids); in uuid_io()
358 bch_submit_bbio(bio, c, k, i); in uuid_io()
492 static void prio_endio(struct bio *bio) in prio_endio() argument
494 struct cache *ca = bio->bi_private; in prio_endio()
496 cache_set_err_on(bio->bi_error, ca->set, "accessing priorities"); in prio_endio()
497 bch_bbio_free(bio, ca->set); in prio_endio()
504 struct bio *bio = bch_bbio_alloc(ca->set); in prio_io() local
508 bio->bi_iter.bi_sector = bucket * ca->sb.bucket_size; in prio_io()
509 bio->bi_bdev = ca->bdev; in prio_io()
510 bio->bi_rw = REQ_SYNC|REQ_META|rw; in prio_io()
511 bio->bi_iter.bi_size = bucket_bytes(ca); in prio_io()
513 bio->bi_end_io = prio_endio; in prio_io()
514 bio->bi_private = ca; in prio_io()
515 bch_bio_map(bio, ca->disk_buckets); in prio_io()
517 closure_bio_submit(bio, &ca->prio); in prio_io()
784 if (!(d->bio_split = bioset_create(4, offsetof(struct bbio, bio))) || in bcache_device_init()
1519 !(c->bio_split = bioset_create(4, offsetof(struct bbio, bio))) || in bch_cache_set_alloc()
1814 bio_init(&ca->journal.bio); in cache_alloc()
1815 ca->journal.bio.bi_max_vecs = 8; in cache_alloc()
1816 ca->journal.bio.bi_io_vec = ca->journal.bio.bi_inline_vecs; in cache_alloc()