Hi Jens, Tests with a zoned UFS prototype have shown that there are plenty of opportunities for reordering in the block layer for zoned writes (REQ_OP_WRITE). The UFS driver is more likely to trigger reordering than other SCSI drivers because it reports BLK_STS_DEV_RESOURCE more often, e.g. during clock scaling. This patch series makes sure that zoned writes are submitted in order without affecting other workloads significantly. Please consider this patch series for the next merge window. Thanks, Bart. Bart Van Assche (12): block: Send zoned writes to the I/O scheduler block: Send flush requests to the I/O scheduler block: Send requeued requests to the I/O scheduler block: Requeue requests if a CPU is unplugged block: One requeue list per hctx block: Preserve the order of requeued requests block: Make it easier to debug zoned write reordering block: mq-deadline: Simplify deadline_skip_seq_writes() block: mq-deadline: Disable head insertion for zoned writes block: mq-deadline: Introduce a local variable block: mq-deadline: Fix a race condition related to zoned writes block: mq-deadline: Handle requeued requests correctly block/blk-flush.c | 3 +- block/blk-mq-debugfs.c | 66 +++++++++++------------ block/blk-mq.c | 115 +++++++++++++++++++++++------------------ block/blk.h | 19 +++++++ block/mq-deadline.c | 67 +++++++++++++++++++----- include/linux/blk-mq.h | 35 ++++++------- include/linux/blkdev.h | 4 -- 7 files changed, 192 insertions(+), 117 deletions(-)