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

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



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

end of thread, other threads:[~2023-04-28 12:44 UTC | newest]

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

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).