Lines Matching refs:bio
61 static void ext4_finish_bio(struct bio *bio) in ext4_finish_bio() argument
64 int error = !test_bit(BIO_UPTODATE, &bio->bi_flags); in ext4_finish_bio()
67 bio_for_each_segment_all(bvec, bio, i) { in ext4_finish_bio()
127 struct bio *bio, *next_bio; in ext4_release_io_end() local
136 for (bio = io_end->bio; bio; bio = next_bio) { in ext4_release_io_end()
137 next_bio = bio->bi_private; in ext4_release_io_end()
138 ext4_finish_bio(bio); in ext4_release_io_end()
139 bio_put(bio); in ext4_release_io_end()
313 static void ext4_end_bio(struct bio *bio, int error) in ext4_end_bio() argument
315 ext4_io_end_t *io_end = bio->bi_private; in ext4_end_bio()
316 sector_t bi_sector = bio->bi_iter.bi_sector; in ext4_end_bio()
319 bio->bi_end_io = NULL; in ext4_end_bio()
320 if (test_bit(BIO_UPTODATE, &bio->bi_flags)) in ext4_end_bio()
342 bio->bi_private = xchg(&io_end->bio, bio); in ext4_end_bio()
350 ext4_finish_bio(bio); in ext4_end_bio()
351 bio_put(bio); in ext4_end_bio()
357 struct bio *bio = io->io_bio; in ext4_io_submit() local
359 if (bio) { in ext4_io_submit()
380 struct bio *bio; in io_submit_init_bio() local
382 bio = bio_alloc(GFP_NOIO, min(nvecs, BIO_MAX_PAGES)); in io_submit_init_bio()
383 if (!bio) in io_submit_init_bio()
385 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); in io_submit_init_bio()
386 bio->bi_bdev = bh->b_bdev; in io_submit_init_bio()
387 bio->bi_end_io = ext4_end_bio; in io_submit_init_bio()
388 bio->bi_private = ext4_get_io_end(io->io_end); in io_submit_init_bio()
389 io->io_bio = bio; in io_submit_init_bio()