[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v10 0/4] Add zone append write for zoned device
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v10 0/4] Add zone append write for zoned device |
Date: |
Fri, 28 Apr 2023 08:40:33 -0400 |
On Fri, Apr 28, 2023 at 01:23:35AM +0800, Sam Li wrote:
> 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.
>
> 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
>
Thanks, applied to my block tree:
https://gitlab.com/stefanha/qemu/commits/block
Stefan
signature.asc
Description: PGP signature