diff options
| -rw-r--r-- | block/bio.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/block/bio.c b/block/bio.c index 948b22825510..699a78c85c75 100644 --- a/block/bio.c +++ b/block/bio.c @@ -1674,6 +1674,10 @@ struct bio *bio_split(struct bio *bio, int sectors,  	if (WARN_ON_ONCE(bio_op(bio) == REQ_OP_ZONE_APPEND))  		return ERR_PTR(-EINVAL); +	/* atomic writes cannot be split */ +	if (bio->bi_opf & REQ_ATOMIC) +		return ERR_PTR(-EINVAL); +  	split = bio_alloc_clone(bio->bi_bdev, bio, gfp, bs);  	if (!split)  		return ERR_PTR(-ENOMEM); | 
