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