From: Andreas Hindborg <a.hindborg@xxxxxxxxxxx> Hi All, This patch set adds zoned storage support to `ublk`. The first two patches do some house cleaning in preparation for the last patch. The last patch adds support for report_zones and the following operations: - REQ_OP_ZONE_OPEN - REQ_OP_ZONE_CLOSE - REQ_OP_ZONE_FINISH - REQ_OP_ZONE_RESET - REQ_OP_ZONE_APPEND A user space component based on ubdsrv is available for testing [1] with the "loop" target. Read/write and zone operations are tested with zenfs [2]. The zone append path is tested with fio -> zonefs -> ublk -> null_blk. The series is based on v6.5-rc4. Changes for v10 - Remove IO flag UBLK_IO_FLAG_ZONE_APPEND - Rename ublk_rq_data.nr_sectors to nr_zones - Change UAPI by adding field `nr_zones` in union with `ublksrv_io_desc.nr_sectors` and use zone count instead of sector count when applicable - Add documentation suggested Ming to UAPI `UBLK_IO_OP_REPORT_ZONES` and `ublksrv_io_cmd` - Updated user space component [1] [1] https://github.com/metaspace/ubdsrv/tree/2966e5f9637b5856d4a4273ae113e31b1c53ff98 [2] https://github.com/westerndigitalcorporation/zenfs [3] https://git.kernel.dk/linux.git Andreas Hindborg (3): ublk: add helper to check if device supports user copy ublk: move check for empty address field on command submission ublk: enable zoned storage support drivers/block/ublk_drv.c | 353 ++++++++++++++++++++++++++++++++-- include/uapi/linux/ublk_cmd.h | 63 +++++- 2 files changed, 388 insertions(+), 28 deletions(-) base-commit: 5d0c230f1de8c7515b6567d9afba1f196fb4e2f4 -- 2.41.0