qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/4] Add zone append write for zoned device
@ 2023-04-04 15:32 Sam Li
  2023-04-04 15:32 ` [PATCH v8 1/4] file-posix: add tracking of the zone write pointers Sam Li
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Sam Li @ 2023-04-04 15:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, hare, Hanna Reitz, dmitry.fomichev, Julia Suvorova,
	Stefano Garzarella, damien.lemoal, Stefan Hajnoczi, Aarushi Mehta,
	Kevin Wolf, qemu-block, Sam Li

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.

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              |  60 ++++++++
 block/file-posix.c                 | 221 ++++++++++++++++++++++++++++-
 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, 464 insertions(+), 7 deletions(-)

-- 
2.39.2



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-04-05 20:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-04 15:32 [PATCH v8 0/4] Add zone append write for zoned device Sam Li
2023-04-04 15:32 ` [PATCH v8 1/4] file-posix: add tracking of the zone write pointers Sam Li
2023-04-05 20:26   ` Stefan Hajnoczi
2023-04-04 15:32 ` [PATCH v8 2/4] block: introduce zone append write for zoned devices Sam Li
2023-04-05 20:32   ` Stefan Hajnoczi
2023-04-04 15:32 ` [PATCH v8 3/4] qemu-iotests: test zone append operation Sam Li
2023-04-04 15:32 ` [PATCH v8 4/4] block: add some trace events for zone append Sam Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).