Similarly to when parsing XML we need to fill in default ports for the backing chain. This was missed in commit 5bda835466a8050625dd8bb10566e --- src/util/virstoragefile.c | 3 +++ tests/virstoragetest.c | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 2d0ff7812..bc1b616d4 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -3340,6 +3340,9 @@ virStorageSourceNewFromBackingAbsolute(const char *path) if (rc < 0) goto error; + + if (virStorageSourceNetworkAssignDefaultPorts(ret) < 0) + goto error; } return ret; diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index 5352500b7..d83db78f5 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -1349,7 +1349,7 @@ mymain(void) TEST_BACKING_PARSE("://", NULL); TEST_BACKING_PARSE("http://example.com/file", "<source protocol='http' name='file'>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='80'/>\n" "</source>\n"); TEST_BACKING_PARSE("rbd:testshare:id=asdf:mon_host=example.com", "<source protocol='rbd' name='testshare'>\n" @@ -1385,14 +1385,14 @@ mymain(void) TEST_BACKING_PARSE("json:{\"file.driver\":\"http\", " "\"file.url\":\"http://example.com/file\"}", "<source protocol='http' name='file'>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='80'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file\":{ \"driver\":\"http\"," "\"url\":\"http://example.com/file\"" "}" "}", "<source protocol='http' name='file'>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='80'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file.driver\":\"ftp\", " "\"file.url\":\"http://example.com/file\"}", @@ -1400,7 +1400,7 @@ mymain(void) TEST_BACKING_PARSE("json:{\"file.driver\":\"gluster\", " "\"file.filename\":\"gluster://example.com/vol/file\"}", "<source protocol='gluster' name='vol/file'>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='24007'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"gluster\"," "\"volume\":\"testvol\"," @@ -1421,7 +1421,7 @@ mymain(void) "<source protocol='gluster' name='testvol/img.qcow2'>\n" " <host name='example.com' port='1234'/>\n" " <host transport='unix' socket='/path/socket'/>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='24007'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file.driver\":\"gluster\"," "\"file.volume\":\"testvol\"," @@ -1441,7 +1441,7 @@ mymain(void) "<source protocol='gluster' name='testvol/img.qcow2'>\n" " <host name='example.com' port='1234'/>\n" " <host transport='unix' socket='/path/socket'/>\n" - " <host name='example.com'/>\n" + " <host name='example.com' port='24007'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"nbd\"," "\"path\":\"/path/to/socket\"" @@ -1552,7 +1552,7 @@ mymain(void) "}" "}", "<source protocol='iscsi' name='iqn.2016-12.com.virttest:emulated-iscsi-noauth.target/0'>\n" - " <host name='test.org'/>\n" + " <host name='test.org' port='3260'/>\n" "</source>\n"); TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"iscsi\"," "\"transport\":\"tcp\"," -- 2.13.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list