[PATCH v3 08/15] block: Error an attempt to split an atomic write bio

From: John Garry
Date: Wed Jan 24 2024 - 06:42:01 EST


As the name suggests, we should not be splitting these.

Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx>
---
block/blk-merge.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/block/blk-merge.c b/block/blk-merge.c
index 6306a2c82354..9d714e8f76b3 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -314,6 +314,11 @@ struct bio *bio_split_rw(struct bio *bio, const struct queue_limits *lim,
*segs = nsegs;
return NULL;
split:
+ if (bio->bi_opf & REQ_ATOMIC) {
+ bio->bi_status = BLK_STS_IOERR;
+ bio_endio(bio);
+ return ERR_PTR(-EINVAL);
+ }
/*
* We can't sanely support splitting for a REQ_NOWAIT bio. End it
* with EAGAIN if splitting is required and return an error pointer.
--
2.31.1