mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 17:34:18 +03:00
storage: Don't store leading '/' in image name when splitting out volume
Libvirt historically stores storage source path including the volume as one string in the XML, but that is not really flexible enough when dealing with the fields in the code. Previously we'd store the slash separating the two as part of the image name. This was fine for gluster but it's not necessary and does not scale well when converting other protocols. Don't store the slash as part of the path. The resulting change from absolute to relative path within the gluster driver should be okay, as the root directory is the default when accessing gluster.
This commit is contained in:
parent
1ee7d4d972
commit
bb14d9897b
@ -8403,7 +8403,7 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
|
||||
|
||||
src->volume = src->path;
|
||||
|
||||
if (VIR_STRDUP(src->path, tmp) < 0)
|
||||
if (VIR_STRDUP(src->path, tmp + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
tmp[0] = '\0';
|
||||
@ -22167,7 +22167,7 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
|
||||
virStorageNetProtocolTypeToString(src->protocol));
|
||||
|
||||
if (src->volume) {
|
||||
if (virAsprintf(&path, "%s%s", src->volume, src->path) < 0)
|
||||
if (virAsprintf(&path, "%s/%s", src->volume, src->path) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -427,7 +427,7 @@ qemuBlockStorageSourceGetURI(virStorageSourcePtr src)
|
||||
|
||||
if (src->path) {
|
||||
if (src->volume) {
|
||||
if (virAsprintf(&uri->path, "/%s%s",
|
||||
if (virAsprintf(&uri->path, "/%s/%s",
|
||||
src->volume, src->path) < 0)
|
||||
goto cleanup;
|
||||
} else {
|
||||
|
@ -2450,7 +2450,7 @@ virStorageSourceParseBackingURI(virStorageSourcePtr src,
|
||||
|
||||
src->volume = src->path;
|
||||
|
||||
if (VIR_STRDUP(src->path, tmp) < 0)
|
||||
if (VIR_STRDUP(src->path, tmp + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
tmp[0] = '\0';
|
||||
@ -2931,7 +2931,7 @@ virStorageSourceParseBackingJSONGluster(virStorageSourcePtr src,
|
||||
src->protocol = VIR_STORAGE_NET_PROTOCOL_GLUSTER;
|
||||
|
||||
if (VIR_STRDUP(src->volume, volume) < 0 ||
|
||||
virAsprintf(&src->path, "/%s", path) < 0)
|
||||
VIR_STRDUP(src->path, path) < 0)
|
||||
return -1;
|
||||
|
||||
nservers = virJSONValueArraySize(server);
|
||||
|
@ -27,7 +27,7 @@ id=virtio-disk0 \
|
||||
format=raw,if=none,id=drive-virtio-disk1' \
|
||||
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\
|
||||
id=virtio-disk1 \
|
||||
-drive file.driver=gluster,file.volume=Volume3,file.path=/Image.qcow2,\
|
||||
-drive file.driver=gluster,file.volume=Volume3,file.path=Image.qcow2,\
|
||||
file.server.0.type=tcp,file.server.0.host=example.org,file.server.0.port=6000,\
|
||||
file.server.1.type=tcp,file.server.1.host=example.org,file.server.1.port=24007,\
|
||||
file.server.2.type=unix,file.server.2.socket=/path/to/sock,file.debug=4,\
|
||||
|
Loading…
Reference in New Issue
Block a user