[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v11 0/4] Add zone append write for zoned device
From: |
Sam Li |
Subject: |
[PATCH v11 0/4] Add zone append write for zoned device |
Date: |
Mon, 8 May 2023 13:15:06 +0800 |
This patch series add zone append operation based on the previous
zoned device support part. The file-posix driver is modified to
add zone append emulation using regular writes.
v10-v11:
- fix CI issues [Stefan]
v9:
- address review comments [Stefan]
* fix get_zones_wp() for wrong offset index
* fix misuses of QEMU_LOCK_GUARD()
* free and allocate wps in refresh_limits for now
v8:
- address review comments [Stefan]
* fix zone_mgmt covering multiple zones case
* fix memory leak bug of wps in refresh_limits()
* mv BlockZoneWps field from BlockLimits to BlockDriverState
* add check_qiov_request() to bdrv_co_zone_append
v7:
- address review comments
* fix wp assignment [Stefan]
* fix reset_all cases, skip R/O & offline zones [Dmitry, Damien]
* fix locking on non-zap related cases [Stefan]
* cleanups and typos correction
- add "zap -p" option to qemuio-cmds [Stefan]
v6:
- add small fixes
v5:
- fix locking conditions and error handling
- drop some trival optimizations
- add tracing points for zone append
v4:
- fix lock related issues[Damien]
- drop all field in zone_mgmt op [Damien]
- fix state checks in zong_mgmt command [Damien]
- return start sector of wp when issuing zap req [Damien]
v3:
- only read wps when it is locked [Damien]
- allow last smaller zone case [Damien]
- add zone type and state checks in zone_mgmt command [Damien]
- fix RESET_ALL related problems
v2:
- split patch to two patches for better reviewing
- change BlockZoneWps's structure to an array of integers
- use only mutex lock on locking conditions of zone wps
- coding styles and clean-ups
v1:
- introduce zone append write
Sam Li (4):
file-posix: add tracking of the zone write pointers
block: introduce zone append write for zoned devices
qemu-iotests: test zone append operation
block: add some trace events for zone append
block/block-backend.c | 61 ++++++++
block/file-posix.c | 230 ++++++++++++++++++++++++++++-
block/io.c | 27 ++++
block/io_uring.c | 4 +
block/linux-aio.c | 3 +
block/raw-format.c | 8 +
block/trace-events | 2 +
include/block/block-common.h | 14 ++
include/block/block-io.h | 4 +
include/block/block_int-common.h | 8 +
include/block/raw-aio.h | 4 +-
include/sysemu/block-backend-io.h | 9 ++
qemu-io-cmds.c | 75 ++++++++++
tests/qemu-iotests/tests/zoned | 16 ++
tests/qemu-iotests/tests/zoned.out | 16 ++
15 files changed, 474 insertions(+), 7 deletions(-)
--
2.40.0
- [PATCH v11 0/4] Add zone append write for zoned device,
Sam Li <=