From c8d5d7684ae855f75e3bba3f72b5b3f973ccdea2 Mon Sep 17 00:00:00 2001 Message-Id: From: Peter Krempa Date: Fri, 17 Jan 2020 13:16:57 +0100 Subject: [PATCH] util: storagefile: Properly set transport type when parsing NBD strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When parsing legacy NBD backing file strings such as 'nbd:unix:/tmp/sock:exportname=/' we'd fail to set the transport to VIR_STORAGE_NET_HOST_TRANS_UNIX. This started to be a problem once we actually started to generate config of the backing store on the command line with -blockdev as the JSON code would try to format it as TCP and fail with: internal error: argument key 'host' must not have null value Set the type properly and add a test. This bug was found by the libguestfs test suite in: https://bugzilla.redhat.com/show_bug.cgi?id=1791614 Signed-off-by: Peter Krempa Reported-by: Ming Xie Reviewed-by: Eric Blake Tested-by: Richard W.M. Jones (cherry picked from commit 5f2fa393f721861132500f717ce509bb66afcdb7) Message-Id: <79e24a6416d5bfbba6cdb2764b29663c2f8ccd45.1579263320.git.pkrempa@redhat.com> Reviewed-by: Ján Tomko Reviewed-by: Richard W.M. Jones --- src/util/virstoragefile.c | 2 +- tests/virstoragetest.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 1397f532fd..7a2af0ad94 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -2964,7 +2964,7 @@ virStorageSourceParseNBDColonString(const char *nbdstr, } src->hosts->socket = g_strdup(backing[2]); - + src->hosts->transport = VIR_STORAGE_NET_HOST_TRANS_UNIX; } else { src->hosts->name = g_strdup(backing[1]); diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index 2862758752..370e19252b 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -1258,6 +1258,10 @@ mymain(void) "\n" " \n" "\n"); + TEST_BACKING_PARSE("nbd:unix:/tmp/sock:exportname=/", + "\n" + " \n" + "\n"); TEST_BACKING_PARSE("nbd://example.org:1234", "\n" " \n" -- 2.25.0