On Jul 11, 2023 / 11:45, Bart Van Assche wrote: [...] > > Thank you for the detailed report. Does this patch help? > > diff --git a/block/mq-deadline.c b/block/mq-deadline.c > index 6aa5daf7ae32..02a916ba62ee 100644 > --- a/block/mq-deadline.c > +++ b/block/mq-deadline.c > @@ -176,7 +176,7 @@ static inline struct request *deadline_from_pos(struct > dd_per_prio *per_prio, > * zoned writes, start searching from the start of a zone. > */ > if (blk_rq_is_seq_zoned_write(rq)) > - pos -= round_down(pos, rq->q->limits.chunk_sectors); > + pos = round_down(pos, rq->q->limits.chunk_sectors); > > while (node) { > rq = rb_entry_rq(node); > Yes, it helps. I confirmed that it avoids the I/O error using a zoned null_blk device, a QEMU ZNS emulation device and a real ZNS drive. Looks good. If you post the patch as a formal fix, please feel free to add: Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>