[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 13/25] block/nbd: Make bdrv_dirname() return NULL
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v5 13/25] block/nbd: Make bdrv_dirname() return NULL |
Date: |
Wed, 21 Jun 2017 14:50:35 +0200 |
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>
---
block/nbd.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/block/nbd.c b/block/nbd.c
index f91ac63..f896fc4 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -558,6 +558,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",
@@ -575,6 +585,7 @@ static BlockDriver bdrv_nbd = {
.bdrv_detach_aio_context = nbd_detach_aio_context,
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
+ .bdrv_dirname = nbd_dirname,
};
static BlockDriver bdrv_nbd_tcp = {
@@ -594,6 +605,7 @@ static BlockDriver bdrv_nbd_tcp = {
.bdrv_detach_aio_context = nbd_detach_aio_context,
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
+ .bdrv_dirname = nbd_dirname,
};
static BlockDriver bdrv_nbd_unix = {
@@ -613,6 +625,7 @@ static BlockDriver bdrv_nbd_unix = {
.bdrv_detach_aio_context = nbd_detach_aio_context,
.bdrv_attach_aio_context = nbd_attach_aio_context,
.bdrv_refresh_filename = nbd_refresh_filename,
+ .bdrv_dirname = nbd_dirname,
};
static void bdrv_nbd_init(void)
--
2.9.4
- [Qemu-devel] [PATCH v5 02/25] block: Use children list in bdrv_refresh_filename, (continued)
- [Qemu-devel] [PATCH v5 02/25] block: Use children list in bdrv_refresh_filename, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 01/25] block/mirror: Small absolute-paths simplification, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 03/25] block: Add BDS.backing_overridden, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 05/25] block: Make path_combine() return the path, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 04/25] block: Respect backing bs in bdrv_refresh_filename, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 06/25] block: bdrv_get_full_backing_filename_from_...'s ret. val., Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 08/25] block: Add bdrv_make_absolute_filename(), Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 07/25] block: bdrv_get_full_backing_filename's ret. val., Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 09/25] block: Fix bdrv_find_backing_image(), Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 10/25] block: Add bdrv_dirname(), Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 13/25] block/nbd: Make bdrv_dirname() return NULL,
Max Reitz <=
- [Qemu-devel] [PATCH v5 11/25] blkverify: Make bdrv_dirname() return NULL, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 12/25] quorum: Make bdrv_dirname() return NULL, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 14/25] block/nfs: Implement bdrv_dirname(), Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 15/25] block: Use bdrv_dirname() for relative filenames, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 16/25] block: Add 'base-directory' BDS option, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 17/25] iotests: Add quorum case to test 110, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 18/25] block: Add sgfnt_runtime_opts to BlockDriver, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 19/25] block: Add BlockDriver.bdrv_gather_child_options, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 20/25] block: Generically refresh runtime options, Max Reitz, 2017/06/21
- [Qemu-devel] [PATCH v5 22/25] block: Do not copy exact_filename from format file, Max Reitz, 2017/06/21