Lines Matching refs:bio
52 struct bio *bio; member
144 static void blk_crypto_fallback_encrypt_endio(struct bio *enc_bio) in blk_crypto_fallback_encrypt_endio()
146 struct bio *src_bio = enc_bio->bi_private; in blk_crypto_fallback_encrypt_endio()
172 static struct bio *blk_crypto_alloc_enc_bio(struct bio *bio_src, in blk_crypto_alloc_enc_bio()
178 struct bio *bio; in blk_crypto_alloc_enc_bio() local
180 bio = bio_alloc_bioset(bio_src->bi_bdev, nr_segs, bio_src->bi_opf, in blk_crypto_alloc_enc_bio()
183 bio_set_flag(bio, BIO_REMAPPED); in blk_crypto_alloc_enc_bio()
184 bio->bi_private = bio_src; in blk_crypto_alloc_enc_bio()
185 bio->bi_end_io = blk_crypto_fallback_encrypt_endio; in blk_crypto_alloc_enc_bio()
186 bio->bi_ioprio = bio_src->bi_ioprio; in blk_crypto_alloc_enc_bio()
187 bio->bi_write_hint = bio_src->bi_write_hint; in blk_crypto_alloc_enc_bio()
188 bio->bi_write_stream = bio_src->bi_write_stream; in blk_crypto_alloc_enc_bio()
189 bio->bi_iter.bi_sector = bio_src->bi_iter.bi_sector; in blk_crypto_alloc_enc_bio()
190 bio_clone_blkg_association(bio, bio_src); in blk_crypto_alloc_enc_bio()
198 pages = (struct page **)bio->bi_io_vec; in blk_crypto_alloc_enc_bio()
215 return bio; in blk_crypto_alloc_enc_bio()
241 static void __blk_crypto_fallback_encrypt_bio(struct bio *src_bio, in __blk_crypto_fallback_encrypt_bio()
252 struct bio *enc_bio; in __blk_crypto_fallback_encrypt_bio()
355 static void blk_crypto_fallback_encrypt_bio(struct bio *src_bio) in blk_crypto_fallback_encrypt_bio()
373 static blk_status_t __blk_crypto_fallback_decrypt_bio(struct bio *bio, in __blk_crypto_fallback_decrypt_bio() argument
395 __bio_for_each_segment(bv, bio, iter, iter) { in __blk_crypto_fallback_decrypt_bio()
425 struct bio *bio = f_ctx->bio; in blk_crypto_fallback_decrypt_bio() local
433 status = __blk_crypto_fallback_decrypt_bio(bio, bc, in blk_crypto_fallback_decrypt_bio()
440 bio->bi_status = status; in blk_crypto_fallback_decrypt_bio()
441 bio_endio(bio); in blk_crypto_fallback_decrypt_bio()
452 static void blk_crypto_fallback_decrypt_endio(struct bio *bio) in blk_crypto_fallback_decrypt_endio() argument
454 struct bio_fallback_crypt_ctx *f_ctx = bio->bi_private; in blk_crypto_fallback_decrypt_endio()
456 bio->bi_private = f_ctx->bi_private_orig; in blk_crypto_fallback_decrypt_endio()
457 bio->bi_end_io = f_ctx->bi_end_io_orig; in blk_crypto_fallback_decrypt_endio()
460 if (bio->bi_status) { in blk_crypto_fallback_decrypt_endio()
462 bio_endio(bio); in blk_crypto_fallback_decrypt_endio()
467 f_ctx->bio = bio; in blk_crypto_fallback_decrypt_endio()
489 bool blk_crypto_fallback_bio_prep(struct bio *bio) in blk_crypto_fallback_bio_prep() argument
491 struct bio_crypt_ctx *bc = bio->bi_crypt_context; in blk_crypto_fallback_bio_prep()
496 bio_io_error(bio); in blk_crypto_fallback_bio_prep()
502 bio->bi_status = BLK_STS_NOTSUPP; in blk_crypto_fallback_bio_prep()
503 bio_endio(bio); in blk_crypto_fallback_bio_prep()
507 if (bio_data_dir(bio) == WRITE) { in blk_crypto_fallback_bio_prep()
508 blk_crypto_fallback_encrypt_bio(bio); in blk_crypto_fallback_bio_prep()
518 f_ctx->crypt_iter = bio->bi_iter; in blk_crypto_fallback_bio_prep()
519 f_ctx->bi_private_orig = bio->bi_private; in blk_crypto_fallback_bio_prep()
520 f_ctx->bi_end_io_orig = bio->bi_end_io; in blk_crypto_fallback_bio_prep()
521 bio->bi_private = (void *)f_ctx; in blk_crypto_fallback_bio_prep()
522 bio->bi_end_io = blk_crypto_fallback_decrypt_endio; in blk_crypto_fallback_bio_prep()
523 bio_crypt_free_ctx(bio); in blk_crypto_fallback_bio_prep()