From: Yu Kuai <yukuai3@huawei.com>
Unify bio split code, prepare to fix disordered split IO.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
block/blk-crypto-fallback.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/block/blk-crypto-fallback.c b/block/blk-crypto-fallback.c
index cae11c2f96c5..e6ed50d9b00f 100644
--- a/block/blk-crypto-fallback.c
+++ b/block/blk-crypto-fallback.c
@@ -223,20 +223,12 @@ static bool blk_crypto_fallback_split_bio_if_needed(struct bio **bio_ptr)
break;
}
if (num_sectors < bio_sectors(bio)) {
- struct bio *split_bio;
-
- split_bio = bio_split(bio, num_sectors, GFP_NOIO,
- &crypto_bio_split);
- if (IS_ERR(split_bio)) {
- bio->bi_status = BLK_STS_RESOURCE;
+ bio = bio_submit_split_bioset(bio, num_sectors,
+ &crypto_bio_split);
+ if (!bio)
return false;
- }
- blkcg_bio_issue_init(split_bio);
- bio_chain(split_bio, bio);
- trace_block_split(split_bio, bio->bi_iter.bi_sector);
- submit_bio_noacct(bio);
- *bio_ptr = split_bio;
+ *bio_ptr = bio;
}
return true;
--
2.39.2