[dm-devel] [PATCH 8/8] null_blk: add zone open, close, and finish support

2019-10-27 Thread Damien Le Moal
From: Ajay Joshi Implement REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE and REQ_OP_ZONE_FINISH support to allow explicit control of zone states. Contains contributions from Matias Bjorling, Hans Holmberg, Keith Busch and Damien Le Moal. Signed-off-by: Ajay Joshi Signed-off-by: Matias Bjorling

[dm-devel] [PATCH 7/8] dm: add zone open, close and finish support

2019-10-27 Thread Damien Le Moal
From: Ajay Joshi Implement REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE and REQ_OP_ZONE_FINISH support to allow explicit control of zone states. Contains contributions from Matias Bjorling, Hans Holmberg and Damien Le Moal. Signed-off-by: Ajay Joshi Signed-off-by: Matias Bjorling Signed-off-by: Hans

[dm-devel] [PATCH 2/8] block: Simplify REQ_OP_ZONE_RESET_ALL handling

2019-10-27 Thread Damien Le Moal
There is no need for the function __blkdev_reset_all_zones() as REQ_OP_ZONE_RESET_ALL can be handled directly in blkdev_reset_zones() bio loop with an early break from the loop. This patch removes this function and modifies blkdev_reset_zones(), simplifying the code. Signed-off-by: Damien Le Moal

[dm-devel] [PATCH 3/8] scsi: sd_zbc: Fix sd_zbc_complete()

2019-10-27 Thread Damien Le Moal
The ILLEGAL REQUEST/INVALID FIELD IN CDB error generated by an attempt to reset a conventional zone does not apply to the reset write pointer command with the ALL bit set, that is, to REQ_OP_ZONE_RESET_ALL requests. Fix sd_zbc_complete() to be quiet only in the case of REQ_OP_ZONE_RESET, excluding

[dm-devel] [PATCH 4/8] block: add zone open, close and finish operations

2019-10-27 Thread Damien Le Moal
From: Ajay Joshi Zoned block devices (ZBC and ZAC devices) allow an explicit control over the condition (state) of zones. The operations allowed are: * Open a zone: Transition to open condition to indicate that a zone will actively be written * Close a zone: Transition to closed condition to

[dm-devel] [PATCH 1/8] block: Remove REQ_OP_ZONE_RESET plugging

2019-10-27 Thread Damien Le Moal
REQ_OP_ZONE_RESET operations cannot be merged as these bios and requests do not have a size and are never sequential due to the zone start sector position required for their execution. As a result, there is no point in using a plug around blkdev_reset_zones() bio issuing loop. This patch removes

[dm-devel] [PATCH 5/8] block: add zone open, close and finish ioctl support

2019-10-27 Thread Damien Le Moal
From: Ajay Joshi Introduce three new ioctl commands BLKOPENZONE, BLKCLOSEZONE and BLKFINISHZONE to allow applications to control the condition of zones on a zoned block device through the execution of the REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE and REQ_OP_ZONE_FINISH operations. Contains

[dm-devel] [PATCH 6/8] scsi: sd_zbc: add zone open, close, and finish support

2019-10-27 Thread Damien Le Moal
From: Ajay Joshi Implement REQ_OP_ZONE_OPEN, REQ_OP_ZONE_CLOSE and REQ_OP_ZONE_FINISH support to allow explicit control of zone states. Contains contributions from Matias Bjorling, Hans Holmberg, Keith Busch and Damien Le Moal. Signed-off-by: Ajay Joshi Signed-off-by: Matias Bjorling

[dm-devel] [PATCH 0/8] Zone management commands support

2019-10-27 Thread Damien Le Moal
This series implements a few improvements and cleanups to zone block device zone reset operations with the first three patches. The remaining of the series patches introduce zone open, close and finish support, allowing users of zoned block devices to explicitly control the condition (state) of