mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +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
|
A storage volume will generally be either a file or a device
|
||||||
node; <span class="since">since 1.2.0</span>, an optional
|
node; <span class="since">since 1.2.0</span>, an optional
|
||||||
output-only attribute <code>type</code> lists the actual type
|
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
|
from <code>virStorageVolGetInfo()</code>. The storage volume
|
||||||
XML format is available <span class="since">since 0.4.1</span>
|
XML format is available <span class="since">since 0.4.1</span>
|
||||||
</p>
|
</p>
|
||||||
|
@ -122,6 +122,7 @@ typedef enum {
|
|||||||
VIR_STORAGE_VOL_NETWORK = 3, /* Network volumes like RBD (RADOS Block Device) */
|
VIR_STORAGE_VOL_NETWORK = 3, /* Network volumes like RBD (RADOS Block Device) */
|
||||||
VIR_STORAGE_VOL_NETDIR = 4, /* Network accessible directory that can
|
VIR_STORAGE_VOL_NETDIR = 4, /* Network accessible directory that can
|
||||||
* contain other network volumes */
|
* contain other network volumes */
|
||||||
|
VIR_STORAGE_VOL_PLOOP = 5, /* Ploop based volumes */
|
||||||
|
|
||||||
# ifdef VIR_ENUM_SENTINELS
|
# ifdef VIR_ENUM_SENTINELS
|
||||||
VIR_STORAGE_VOL_LAST
|
VIR_STORAGE_VOL_LAST
|
||||||
|
@ -52,7 +52,8 @@ VIR_LOG_INIT("conf.storage_conf");
|
|||||||
|
|
||||||
VIR_ENUM_IMPL(virStorageVol,
|
VIR_ENUM_IMPL(virStorageVol,
|
||||||
VIR_STORAGE_VOL_LAST,
|
VIR_STORAGE_VOL_LAST,
|
||||||
"file", "block", "dir", "network", "netdir")
|
"file", "block", "dir", "network",
|
||||||
|
"netdir", "ploop")
|
||||||
|
|
||||||
VIR_ENUM_IMPL(virStoragePool,
|
VIR_ENUM_IMPL(virStoragePool,
|
||||||
VIR_STORAGE_POOL_LAST,
|
VIR_STORAGE_POOL_LAST,
|
||||||
|
@ -1085,6 +1085,8 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
|
|
||||||
if (vol->target.format == VIR_STORAGE_FILE_DIR)
|
if (vol->target.format == VIR_STORAGE_FILE_DIR)
|
||||||
vol->type = VIR_STORAGE_VOL_DIR;
|
vol->type = VIR_STORAGE_VOL_DIR;
|
||||||
|
else if (vol->target.format == VIR_STORAGE_FILE_PLOOP)
|
||||||
|
vol->type = VIR_STORAGE_VOL_PLOOP;
|
||||||
else
|
else
|
||||||
vol->type = VIR_STORAGE_VOL_FILE;
|
vol->type = VIR_STORAGE_VOL_FILE;
|
||||||
|
|
||||||
@ -1259,6 +1261,7 @@ virStorageBackendFileSystemVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case VIR_STORAGE_VOL_PLOOP:
|
||||||
case VIR_STORAGE_VOL_BLOCK:
|
case VIR_STORAGE_VOL_BLOCK:
|
||||||
case VIR_STORAGE_VOL_NETWORK:
|
case VIR_STORAGE_VOL_NETWORK:
|
||||||
case VIR_STORAGE_VOL_NETDIR:
|
case VIR_STORAGE_VOL_NETDIR:
|
||||||
|
@ -965,7 +965,8 @@ VIR_ENUM_IMPL(virshStorageVol,
|
|||||||
N_("block"),
|
N_("block"),
|
||||||
N_("dir"),
|
N_("dir"),
|
||||||
N_("network"),
|
N_("network"),
|
||||||
N_("netdir"))
|
N_("netdir"),
|
||||||
|
N_("ploop"))
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
virshVolumeTypeToString(int type)
|
virshVolumeTypeToString(int type)
|
||||||
|
Loading…
Reference in New Issue
Block a user