Hi Jens, This patch series improves support for zoned block devices in the mq-deadline scheduler as follows: * The order of requeued writes (REQ_OP_WRITE*) is preserved. * The active zone limit is enforced. Please consider this patch series for the next merge window. Thanks, Bart. Changes compared to v1: - Left out the patches related to request insertion and requeuing since Christoph is busy with reworking these patches. - Added a patch for enforcing the active zone limit. Bart Van Assche (11): block: Simplify blk_req_needs_zone_write_lock() block: Micro-optimize blk_req_needs_zone_write_lock() block: Introduce blk_rq_is_seq_zoned_write() block: mq-deadline: Simplify deadline_skip_seq_writes() block: mq-deadline: Improve deadline_skip_seq_writes() block: mq-deadline: Disable head insertion for zoned writes block: mq-deadline: Preserve write streams for all device types block: mq-deadline: Fix a race condition related to zoned writes block: mq-deadline: Handle requeued requests correctly block: Add support for the zone capacity concept block: mq-deadline: Respect the active zone limit Documentation/ABI/stable/sysfs-block | 8 ++ block/Kconfig.iosched | 4 + block/Makefile | 1 + block/blk-mq.h | 2 +- block/blk-settings.c | 1 + block/blk-sysfs.c | 7 ++ block/blk-zoned.c | 43 +++++-- block/mq-deadline-zoned.c | 141 +++++++++++++++++++++ block/mq-deadline-zoned.h | 31 +++++ block/mq-deadline.c | 177 ++++++++++++++------------- block/mq-deadline.h | 79 ++++++++++++ include/linux/blk-mq.h | 6 + include/linux/blkdev.h | 18 ++- 13 files changed, 423 insertions(+), 95 deletions(-) create mode 100644 block/mq-deadline-zoned.c create mode 100644 block/mq-deadline-zoned.h create mode 100644 block/mq-deadline.h