qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>, Alberto Garcia <berto@igalia.com>,
	Eric Blake <eblake@redhat.com>, John Snow <jsnow@redhat.com>
Subject: [Qemu-devel] [PATCH v7 for-2.12 14/25] block/nbd: Make bdrv_dirname() return NULL
Date: Mon, 20 Nov 2017 21:09:53 +0100	[thread overview]
Message-ID: <20171120201004.14999-15-mreitz@redhat.com> (raw)
In-Reply-To: <20171120201004.14999-1-mreitz@redhat.com>

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 <mreitz@redhat.com>
---
 block/nbd.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/block/nbd.c b/block/nbd.c
index a50d24b50a..ed921fa333 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -565,6 +565,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_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 = {
@@ -601,6 +612,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 = {
@@ -620,6 +632,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.13.6

  parent reply	other threads:[~2017-11-20 20:11 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-20 20:09 [Qemu-devel] [PATCH v7 for-2.12 00/25] block: Fix some filename generation issues Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 01/25] block/mirror: Small absolute-paths simplification Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 02/25] block: Use children list in bdrv_refresh_filename Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 03/25] block: Add BDS.backing_overridden Max Reitz
2017-12-01 15:18   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 04/25] iotests: Drop explicit base blockdev in 191 Max Reitz
2017-12-01 15:33   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 05/25] block: Respect backing bs in bdrv_refresh_filename Max Reitz
2017-12-05 13:27   ` Alberto Garcia
2017-12-08 13:59     ` Max Reitz
2017-12-11 15:00   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 06/25] block: Make path_combine() return the path Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 07/25] block: bdrv_get_full_backing_filename_from_...'s ret. val Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 08/25] block: bdrv_get_full_backing_filename's " Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 09/25] block: Add bdrv_make_absolute_filename() Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 10/25] block: Fix bdrv_find_backing_image() Max Reitz
2017-12-04 14:52   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 11/25] block: Add bdrv_dirname() Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 12/25] blkverify: Make bdrv_dirname() return NULL Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 13/25] quorum: " Max Reitz
2017-11-20 20:09 ` Max Reitz [this message]
2017-12-04 15:01   ` [Qemu-devel] [PATCH v7 for-2.12 14/25] block/nbd: " Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 15/25] block/nfs: Implement bdrv_dirname() Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 16/25] block: Use bdrv_dirname() for relative filenames Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 17/25] iotests: Add quorum case to test 110 Max Reitz
2017-12-04 15:09   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 18/25] block: Add sgfnt_runtime_opts to BlockDriver Max Reitz
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 19/25] block: Add BlockDriver.bdrv_gather_child_options Max Reitz
2017-12-05 13:13   ` Alberto Garcia
2017-11-20 20:09 ` [Qemu-devel] [PATCH v7 for-2.12 20/25] block: Generically refresh runtime options Max Reitz
2017-12-04 16:16   ` Alberto Garcia
2017-11-20 20:10 ` [Qemu-devel] [PATCH v7 for-2.12 21/25] block: Purify .bdrv_refresh_filename() Max Reitz
2017-12-04 16:37   ` Alberto Garcia
2017-12-04 18:25     ` Max Reitz
2018-02-02 17:41       ` Max Reitz
2017-11-20 20:10 ` [Qemu-devel] [PATCH v7 for-2.12 22/25] block: Do not copy exact_filename from format file Max Reitz
2017-12-04 16:40   ` Alberto Garcia
2017-11-20 20:10 ` [Qemu-devel] [PATCH v7 for-2.12 23/25] block: Fix FIXME from "Add BDS.backing_overridden" Max Reitz
2017-12-05 13:09   ` Alberto Garcia
2017-11-20 20:10 ` [Qemu-devel] [PATCH v7 for-2.12 24/25] block/curl: Implement bdrv_refresh_filename() Max Reitz
2017-12-04 16:51   ` Alberto Garcia
2017-12-04 18:26     ` Max Reitz
2017-12-05 10:31       ` Alberto Garcia
2017-12-08 13:47         ` Max Reitz
2017-12-08 13:53           ` Daniel P. Berrange
2017-12-08 14:12             ` Max Reitz
2017-12-08 16:14           ` Alberto Garcia
2017-12-05 11:45   ` Alberto Garcia
2017-11-20 20:10 ` [Qemu-devel] [PATCH v7 for-2.12 25/25] block/null: Generate filename even with latency-ns Max Reitz
2017-12-04 16:46   ` Alberto Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171120201004.14999-15-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berto@igalia.com \
    --cc=eblake@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).