[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v13 4/8] raw-format: add zone operations to pass through requests
From: |
Sam Li |
Subject: |
[PATCH v13 4/8] raw-format: add zone operations to pass through requests |
Date: |
Thu, 27 Oct 2022 23:45:00 +0800 |
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>
---
block/raw-format.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/block/raw-format.c b/block/raw-format.c
index f337ac7569..bac43f1d25 100644
--- a/block/raw-format.c
+++ b/block/raw-format.c
@@ -314,6 +314,17 @@ static int coroutine_fn raw_co_pdiscard(BlockDriverState
*bs,
return bdrv_co_pdiscard(bs->file, offset, bytes);
}
+static int coroutine_fn 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 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 raw_getlength(BlockDriverState *bs)
{
int64_t len;
@@ -615,6 +626,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.38.1
- [PATCH v13 0/8] Add support for zoned device, Sam Li, 2022/10/27
- [PATCH v13 2/8] file-posix: introduce helper functions for sysfs attributes, Sam Li, 2022/10/27
- [PATCH v13 3/8] block: add block layer APIs resembling Linux ZonedBlockDevice ioctls, Sam Li, 2022/10/27
- [PATCH v13 1/8] include: add zoned device structs, Sam Li, 2022/10/27
- [PATCH v13 4/8] raw-format: add zone operations to pass through requests,
Sam Li <=
- [PATCH v13 5/8] config: add check to block layer, Sam Li, 2022/10/27
- [PATCH v13 6/8] qemu-iotests: test new zone operations, Sam Li, 2022/10/27
- [PATCH v13 7/8] block: add some trace events for new block layer APIs, Sam Li, 2022/10/27
- [PATCH v13 8/8] docs/zoned-storage: add zoned device documentation, Sam Li, 2022/10/27