mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
storage: add ploop volume type
Ploop image consists of directory with two files: ploop image itself, called root.hds and DiskDescriptor.xml that contains information about ploop device: https://openvz.org/Ploop/format. Such volume are difficult to manipulate in terms of existing volume types because they are neither a single files nor a directory. This patch introduces new volume type - ploop. This volume type is used by ploop volume's exclusively. Signed-off-by: Olga Krishtal <okrishtal@virtuozzo.com> Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
294d22c8d6
commit
ee36975597
@ -494,7 +494,7 @@
|
||||
A storage volume will generally be either a file or a device
|
||||
node; <span class="since">since 1.2.0</span>, an optional
|
||||
output-only attribute <code>type</code> lists the actual type
|
||||
(file, block, dir, network, or netdir), which is also available
|
||||
(file, block, dir, network, netdir or ploop), which is also available
|
||||
from <code>virStorageVolGetInfo()</code>. The storage volume
|
||||
XML format is available <span class="since">since 0.4.1</span>
|
||||
</p>
|
||||
|
@ -122,6 +122,7 @@ typedef enum {
|
||||
VIR_STORAGE_VOL_NETWORK = 3, /* Network volumes like RBD (RADOS Block Device) */
|
||||
VIR_STORAGE_VOL_NETDIR = 4, /* Network accessible directory that can
|
||||
* contain other network volumes */
|
||||
VIR_STORAGE_VOL_PLOOP = 5, /* Ploop based volumes */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_STORAGE_VOL_LAST
|
||||
|
@ -52,7 +52,8 @@ VIR_LOG_INIT("conf.storage_conf");
|
||||
|
||||
VIR_ENUM_IMPL(virStorageVol,
|
||||
VIR_STORAGE_VOL_LAST,
|
||||
"file", "block", "dir", "network", "netdir")
|
||||
"file", "block", "dir", "network",
|
||||
"netdir", "ploop")
|
||||
|
||||
VIR_ENUM_IMPL(virStoragePool,
|
||||
VIR_STORAGE_POOL_LAST,
|
||||
|
@ -1085,6 +1085,8 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
|
||||
if (vol->target.format == VIR_STORAGE_FILE_DIR)
|
||||
vol->type = VIR_STORAGE_VOL_DIR;
|
||||
else if (vol->target.format == VIR_STORAGE_FILE_PLOOP)
|
||||
vol->type = VIR_STORAGE_VOL_PLOOP;
|
||||
else
|
||||
vol->type = VIR_STORAGE_VOL_FILE;
|
||||
|
||||
@ -1259,6 +1261,7 @@ virStorageBackendFileSystemVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
}
|
||||
}
|
||||
break;
|
||||
case VIR_STORAGE_VOL_PLOOP:
|
||||
case VIR_STORAGE_VOL_BLOCK:
|
||||
case VIR_STORAGE_VOL_NETWORK:
|
||||
case VIR_STORAGE_VOL_NETDIR:
|
||||
|
@ -965,7 +965,8 @@ VIR_ENUM_IMPL(virshStorageVol,
|
||||
N_("block"),
|
||||
N_("dir"),
|
||||
N_("network"),
|
||||
N_("netdir"))
|
||||
N_("netdir"),
|
||||
N_("ploop"))
|
||||
|
||||
static const char *
|
||||
virshVolumeTypeToString(int type)
|
||||
|
Loading…
Reference in New Issue
Block a user