[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/17] block/raw-format: add zone operations to pass through reque
From: |
Stefan Hajnoczi |
Subject: |
[PULL 04/17] block/raw-format: add zone operations to pass through requests |
Date: |
Fri, 28 Apr 2023 08:39:41 -0400 |
From: Sam Li <faithilikerun@gmail.com>
raw-format driver usually sits on top of file-posix driver. It needs to
pass through requests of zone commands.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230427172019.3345-5-faithilikerun@gmail.com
Message-id: 20230324090605.28361-5-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
block/raw-format.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/block/raw-format.c b/block/raw-format.c
index 06b8030d9d..f167448462 100644
--- a/block/raw-format.c
+++ b/block/raw-format.c
@@ -317,6 +317,21 @@ raw_co_pdiscard(BlockDriverState *bs, int64_t offset,
int64_t bytes)
return bdrv_co_pdiscard(bs->file, offset, bytes);
}
+static int coroutine_fn GRAPH_RDLOCK
+raw_co_zone_report(BlockDriverState *bs, int64_t offset,
+ unsigned int *nr_zones,
+ BlockZoneDescriptor *zones)
+{
+ return bdrv_co_zone_report(bs->file->bs, offset, nr_zones, zones);
+}
+
+static int coroutine_fn GRAPH_RDLOCK
+raw_co_zone_mgmt(BlockDriverState *bs, BlockZoneOp op,
+ int64_t offset, int64_t len)
+{
+ return bdrv_co_zone_mgmt(bs->file->bs, op, offset, len);
+}
+
static int64_t coroutine_fn GRAPH_RDLOCK
raw_co_getlength(BlockDriverState *bs)
{
@@ -619,6 +634,8 @@ BlockDriver bdrv_raw = {
.bdrv_co_pwritev = &raw_co_pwritev,
.bdrv_co_pwrite_zeroes = &raw_co_pwrite_zeroes,
.bdrv_co_pdiscard = &raw_co_pdiscard,
+ .bdrv_co_zone_report = &raw_co_zone_report,
+ .bdrv_co_zone_mgmt = &raw_co_zone_mgmt,
.bdrv_co_block_status = &raw_co_block_status,
.bdrv_co_copy_range_from = &raw_co_copy_range_from,
.bdrv_co_copy_range_to = &raw_co_copy_range_to,
--
2.40.0
- [PULL 00/17] Block patches, Stefan Hajnoczi, 2023/04/28
- [PULL 01/17] block/block-common: add zoned device structs, Stefan Hajnoczi, 2023/04/28
- [PULL 03/17] block/block-backend: add block layer APIs resembling Linux ZonedBlockDevice ioctls, Stefan Hajnoczi, 2023/04/28
- [PULL 05/17] block: add zoned BlockDriver check to block layer, Stefan Hajnoczi, 2023/04/28
- [PULL 04/17] block/raw-format: add zone operations to pass through requests,
Stefan Hajnoczi <=
- [PULL 02/17] block/file-posix: introduce helper functions for sysfs attributes, Stefan Hajnoczi, 2023/04/28
- [PULL 07/17] block: add some trace events for new block layer APIs, Stefan Hajnoczi, 2023/04/28
- [PULL 06/17] iotests: test new zone operations, Stefan Hajnoczi, 2023/04/28
- [PULL 12/17] block: add some trace events for zone append, Stefan Hajnoczi, 2023/04/28
- [PULL 11/17] qemu-iotests: test zone append operation, Stefan Hajnoczi, 2023/04/28
- [PULL 09/17] file-posix: add tracking of the zone write pointers, Stefan Hajnoczi, 2023/04/28
- [PULL 10/17] block: introduce zone append write for zoned devices, Stefan Hajnoczi, 2023/04/28
- [PULL 08/17] docs/zoned-storage: add zoned device documentation, Stefan Hajnoczi, 2023/04/28
- [PULL 14/17] virtio-blk: add zoned storage emulation for zoned devices, Stefan Hajnoczi, 2023/04/28
- [PULL 15/17] block: add accounting for zone append operation, Stefan Hajnoczi, 2023/04/28