qemublocktest: Test backing store strings

With -blockdev libvirt provides the string which is recorded  as
'backing store' property of an image to qemu. Add testing for
qemuBlockGetBackingStoreString which generates these strings as there's
logic which determines which format to use.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Peter Krempa 2020-03-23 12:35:32 +01:00
parent 93171b63c3
commit 5f3b4a3727
34 changed files with 876 additions and 433 deletions

View File

@ -184,6 +184,7 @@ struct testQemuDiskXMLToJSONImageData {
virJSONValuePtr formatprops;
virJSONValuePtr storageprops;
virJSONValuePtr storagepropssrc;
char *backingstore;
};
@ -210,6 +211,7 @@ testQemuDiskXMLToPropsClear(struct testQemuDiskXMLToJSONData *data)
virJSONValueFree(data->images[i].formatprops);
virJSONValueFree(data->images[i].storageprops);
virJSONValueFree(data->images[i].storagepropssrc);
g_free(data->images[i].backingstore);
}
data->nimages = 0;
VIR_FREE(data->images);
@ -287,6 +289,7 @@ testQemuDiskXMLToProps(const void *opaque)
}
for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) {
g_autofree char *backingstore = NULL;
if (testQemuDiskXMLToJSONFakeSecrets(n) < 0)
return -1;
@ -298,7 +301,8 @@ testQemuDiskXMLToProps(const void *opaque)
if (!(formatProps = qemuBlockStorageSourceGetBlockdevProps(n, n->backingStore)) ||
!(storageSrcOnlyProps = qemuBlockStorageSourceGetBackendProps(n, false, true, true)) ||
!(storageProps = qemuBlockStorageSourceGetBackendProps(n, false, false, true))) {
!(storageProps = qemuBlockStorageSourceGetBackendProps(n, false, false, true)) ||
!(backingstore = qemuBlockGetBackingStoreString(n, true))) {
if (!data->fail) {
VIR_TEST_VERBOSE("failed to generate qemu blockdev props");
return -1;
@ -314,6 +318,7 @@ testQemuDiskXMLToProps(const void *opaque)
data->images[data->nimages].formatprops = g_steal_pointer(&formatProps);
data->images[data->nimages].storageprops = g_steal_pointer(&storageProps);
data->images[data->nimages].storagepropssrc = g_steal_pointer(&storageSrcOnlyProps);
data->images[data->nimages].backingstore = g_steal_pointer(&backingstore);
data->nimages++;
}
@ -425,10 +430,21 @@ testQemuDiskXMLToPropsValidateFileSrcOnly(const void *opaque)
for (i = 0; i < data->nimages; i++) {
g_autofree char *jsonstr = NULL;
virBufferAddLit(&buf, "(\n");
virBufferAdjustIndent(&buf, 2);
virBufferAddLit(&buf, "source only properties:\n");
if (!(jsonstr = virJSONValueToString(data->images[i].storagepropssrc, true)))
return -1;
virBufferAdd(&buf, jsonstr, -1);
virBufferAddStr(&buf, jsonstr);
virBufferAddLit(&buf, "backing store string:\n");
virBufferAddStr(&buf, data->images[i].backingstore);
virBufferTrim(&buf, "\n");
virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "\n)\n");
}
actual = virBufferContentAndReset(&buf);

View File

@ -1,4 +1,9 @@
{
"driver": "host_device",
"filename": "/dev/blah"
}
(
source only properties:
{
"driver": "host_device",
"filename": "/dev/blah"
}
backing store string:
/dev/blah
)

View File

@ -1,4 +1,9 @@
{
"driver": "host_device",
"filename": "/dev/blah"
}
(
source only properties:
{
"driver": "host_device",
"filename": "/dev/blah"
}
backing store string:
/dev/blah
)

View File

@ -1,5 +1,10 @@
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": false
}
(
source only properties:
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": false
}
backing store string:
/var/somefiles
)

View File

@ -1,5 +1,10 @@
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": true
}
(
source only properties:
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": true
}
backing store string:
/var/somefiles
)

View File

@ -1,5 +1,10 @@
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": false
}
(
source only properties:
{
"driver": "vvfat",
"dir": "/var/somefiles",
"floppy": false
}
backing store string:
/var/somefiles
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,16 +1,36 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/c"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/c"
}
backing store string:
/var/lib/libvirt/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,24 +1,44 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,8 +1,18 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)

View File

@ -1,40 +1,90 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483615252"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605924"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605920"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483546244"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545901"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545313"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483536402"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.qcow2"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1507297895
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1484071872
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483615252"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483615252
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605924"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483605924
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605920"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483605920
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483546244"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483546244
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545901"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483545901
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545313"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483545313
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483536402"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1483536402
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.qcow2"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.qcow2
)

View File

@ -1,8 +1,18 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1507297895
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872"
}
backing store string:
/var/lib/libvirt/images/rhel7.3.1484071872
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/luks.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/luks.img"
}
backing store string:
/path/luks.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/var/lib/libvirt/images/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/i.img"
}
backing store string:
/var/lib/libvirt/images/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,4 +1,9 @@
{
"driver": "file",
"filename": "/path/to/i.img"
}
(
source only properties:
{
"driver": "file",
"filename": "/path/to/i.img"
}
backing store string:
/path/to/i.img
)

View File

@ -1,8 +1,13 @@
{
"driver": "nbd",
"server": {
"type": "inet",
"host": "host1.example.com",
"port": "10809"
(
source only properties:
{
"driver": "nbd",
"server": {
"type": "inet",
"host": "host1.example.com",
"port": "10809"
}
}
}
backing store string:
nbd://host1.example.com:10809
)

View File

@ -1,22 +1,46 @@
{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
{
"driver": "iscsi",
"portal": "example.org:3260",
"target": "iscsitarget",
"lun": 1,
"transport": "tcp"
}
(
source only properties:
{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
backing store string:
json:{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
)
(
source only properties:
{
"driver": "iscsi",
"portal": "example.org:3260",
"target": "iscsitarget",
"lun": 1,
"transport": "tcp"
}
backing store string:
iscsi://example.org:3260/iscsitarget/1
)

View File

@ -1,22 +1,46 @@
{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
{
"driver": "iscsi",
"portal": "example.org:3260",
"target": "iqn.2016-09.com.example:iscsitarget",
"lun": 1,
"transport": "tcp"
}
(
source only properties:
{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
backing store string:
json:{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
]
}
)
(
source only properties:
{
"driver": "iscsi",
"portal": "example.org:3260",
"target": "iqn.2016-09.com.example:iscsitarget",
"lun": 1,
"transport": "tcp"
}
backing store string:
iscsi://example.org:3260/iqn.2016-09.com.example%3Aiscsitarget/1
)

View File

@ -1,5 +1,14 @@
{
"driver": "nvme",
"device": "0000:01:00.0",
"namespace": 1
}
(
source only properties:
{
"driver": "nvme",
"device": "0000:01:00.0",
"namespace": 1
}
backing store string:
json:{
"driver": "nvme",
"device": "0000:01:00.0",
"namespace": 1
}
)