[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v12 17/31] block/nbd: Make bdrv_dirname() return NUL
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v12 17/31] block/nbd: Make bdrv_dirname() return NULL |
Date: |
Mon, 17 Dec 2018 23:43:34 +0100 |
The generic bdrv_dirname() implementation would be able to generate some
form of directory name for many NBD nodes, but it would be always wrong.
Therefore, we have to explicitly make it an error (until NBD has some
form of specification for export paths, if it ever will).
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
block/nbd.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/block/nbd.c b/block/nbd.c
index e87699fb73..bca127c8f5 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -564,6 +564,16 @@ static void nbd_refresh_filename(BlockDriverState *bs,
QDict *options)
bs->full_open_options = opts;
}
+static char *nbd_dirname(BlockDriverState *bs, Error **errp)
+{
+ /* The generic bdrv_dirname() implementation is able to work out some
+ * directory name for NBD nodes, but that would be wrong. So far there is
no
+ * specification for how "export paths" would work, so NBD does not have
+ * directory names. */
+ error_setg(errp, "Cannot generate a base directory for NBD nodes");
+ return NULL;
+}
+
static BlockDriver bdrv_nbd = {
.format_name = "nbd",
.protocol_name = "nbd",
@@ -582,6 +592,7 @@ static BlockDriver bdrv_nbd = {
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
.bdrv_co_block_status = nbd_client_co_block_status,
+ .bdrv_dirname = nbd_dirname,
};
static BlockDriver bdrv_nbd_tcp = {
@@ -602,6 +613,7 @@ static BlockDriver bdrv_nbd_tcp = {
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
.bdrv_co_block_status = nbd_client_co_block_status,
+ .bdrv_dirname = nbd_dirname,
};
static BlockDriver bdrv_nbd_unix = {
@@ -622,6 +634,7 @@ static BlockDriver bdrv_nbd_unix = {
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
.bdrv_co_block_status = nbd_client_co_block_status,
+ .bdrv_dirname = nbd_dirname,
};
static void bdrv_nbd_init(void)
--
2.19.2
- [Qemu-devel] [PATCH v12 07/31] iotests.py: Add node_info(), (continued)
- [Qemu-devel] [PATCH v12 07/31] iotests.py: Add node_info(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 09/31] block: Make path_combine() return the path, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 08/31] iotests: Add test for backing file overrides, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 12/31] block: Add bdrv_make_absolute_filename(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 10/31] block: bdrv_get_full_backing_filename_from_...'s ret. val., Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 11/31] block: bdrv_get_full_backing_filename's ret. val., Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 13/31] block: Fix bdrv_find_backing_image(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 14/31] block: Add bdrv_dirname(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 15/31] blkverify: Make bdrv_dirname() return NULL, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 16/31] quorum: Make bdrv_dirname() return NULL, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 17/31] block/nbd: Make bdrv_dirname() return NULL,
Max Reitz <=
- [Qemu-devel] [PATCH v12 18/31] block/nfs: Implement bdrv_dirname(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 19/31] block: Use bdrv_dirname() for relative filenames, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 20/31] iotests: Add quorum case to test 110, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 22/31] block: Add BlockDriver.bdrv_gather_child_options, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 21/31] block: Add strong_runtime_opts to BlockDriver, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 23/31] block: Generically refresh runtime options, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 25/31] block: Do not copy exact_filename from format file, Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 26/31] block/nvme: Fix bdrv_refresh_filename(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 24/31] block: Purify .bdrv_refresh_filename(), Max Reitz, 2018/12/17
- [Qemu-devel] [PATCH v12 27/31] block/curl: Harmonize option defaults, Max Reitz, 2018/12/17