Lines Matching refs:bio
65 struct bio *bio; member
71 static void __read_end_io(struct bio *bio) in __read_end_io() argument
77 bio_for_each_segment_all(bv, bio, iter_all) { in __read_end_io()
81 if (bio->bi_status || PageError(page)) { in __read_end_io()
90 if (bio->bi_private) in __read_end_io()
91 mempool_free(bio->bi_private, bio_post_read_ctx_pool); in __read_end_io()
92 bio_put(bio); in __read_end_io()
102 fscrypt_decrypt_bio(ctx->bio); in decrypt_work()
111 struct bio *bio = ctx->bio; in verity_work() local
122 bio->bi_private = NULL; in verity_work()
124 fsverity_verify_bio(bio); in verity_work()
126 __read_end_io(bio); in verity_work()
154 __read_end_io(ctx->bio); in bio_post_read_processing()
158 static bool bio_post_read_required(struct bio *bio) in bio_post_read_required() argument
160 return bio->bi_private && !bio->bi_status; in bio_post_read_required()
164 ext4_trace_read_completion(struct bio *bio) in ext4_trace_read_completion() argument
166 struct page *first_page = bio->bi_io_vec[0].bv_page; in ext4_trace_read_completion()
171 bio->bi_iter.bi_size); in ext4_trace_read_completion()
186 static void mpage_end_io(struct bio *bio) in mpage_end_io() argument
189 ext4_trace_read_completion(bio); in mpage_end_io()
191 if (bio_post_read_required(bio)) { in mpage_end_io()
192 struct bio_post_read_ctx *ctx = bio->bi_private; in mpage_end_io()
198 __read_end_io(bio); in mpage_end_io()
207 static void ext4_set_bio_post_read_ctx(struct bio *bio, in ext4_set_bio_post_read_ctx() argument
224 ctx->bio = bio; in ext4_set_bio_post_read_ctx()
226 bio->bi_private = ctx; in ext4_set_bio_post_read_ctx()
240 ext4_submit_bio_read(struct bio *bio) in ext4_submit_bio_read() argument
243 struct page *first_page = bio->bi_io_vec[0].bv_page; in ext4_submit_bio_read()
254 bio->bi_iter.bi_size, in ext4_submit_bio_read()
260 submit_bio(bio); in ext4_submit_bio_read()
266 struct bio *bio = NULL; in ext4_mpage_readpages() local
402 if (bio && (last_block_in_bio != blocks[0] - 1 || in ext4_mpage_readpages()
403 !fscrypt_mergeable_bio(bio, inode, next_block))) { in ext4_mpage_readpages()
405 ext4_submit_bio_read(bio); in ext4_mpage_readpages()
406 bio = NULL; in ext4_mpage_readpages()
408 if (bio == NULL) { in ext4_mpage_readpages()
413 bio = bio_alloc(GFP_KERNEL, in ext4_mpage_readpages()
415 fscrypt_set_bio_crypt_ctx(bio, inode, next_block, in ext4_mpage_readpages()
417 ext4_set_bio_post_read_ctx(bio, inode, page->index); in ext4_mpage_readpages()
418 bio_set_dev(bio, bdev); in ext4_mpage_readpages()
419 bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9); in ext4_mpage_readpages()
420 bio->bi_end_io = mpage_end_io; in ext4_mpage_readpages()
421 bio_set_op_attrs(bio, REQ_OP_READ, in ext4_mpage_readpages()
426 if (bio_add_page(bio, page, length, 0) < length) in ext4_mpage_readpages()
432 ext4_submit_bio_read(bio); in ext4_mpage_readpages()
433 bio = NULL; in ext4_mpage_readpages()
438 if (bio) { in ext4_mpage_readpages()
439 ext4_submit_bio_read(bio); in ext4_mpage_readpages()
440 bio = NULL; in ext4_mpage_readpages()
450 if (bio) in ext4_mpage_readpages()
451 ext4_submit_bio_read(bio); in ext4_mpage_readpages()