Fix a regression introduced when removing bi_phys_segments for Write Zeroes
requests, which need to have a segment count of zero, as they don't have a
payload.

Fixes: 14ccb66b3f58 ("block: remove the bi_phys_segments field in struct bio")
Reported-by: Jens Axboe <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
---
 block/blk-merge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/blk-merge.c b/block/blk-merge.c
index ca45eb51c669..57f7990b342d 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -105,7 +105,7 @@ static struct bio *blk_bio_discard_split(struct 
request_queue *q,
 static struct bio *blk_bio_write_zeroes_split(struct request_queue *q,
                struct bio *bio, struct bio_set *bs, unsigned *nsegs)
 {
-       *nsegs = 1;
+       *nsegs = 0;
 
        if (!q->limits.max_write_zeroes_sectors)
                return NULL;
-- 
2.20.1

Reply via email to