[virt-tools-list] [PATCH] enable zvol creation
Tristan Helmich
tristan.helmich at mayflower.de
Thu Jul 28 11:51:10 UTC 2016
Hi,
just a quick patch to allow creation of ZFS zvol via virt-manager.
Please let me know if anything else needs to be changed.
Regards
Tristan
---
virtManager/storagepool.py | 2 +-
virtinst/storage.py | 10 +++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/virtManager/storagepool.py b/virtManager/storagepool.py
index 8840e2b..d9d9f8a 100644
--- a/virtManager/storagepool.py
+++ b/virtManager/storagepool.py
@@ -249,7 +249,7 @@ class vmmStoragePool(vmmLibvirtObject):
def can_change_alloc(self):
typ = self.get_type()
- return (typ in [StoragePool.TYPE_LOGICAL])
+ return (typ in [StoragePool.TYPE_LOGICAL, StoragePool.TYPE_ZFS])
def supports_volume_creation(self):
return self.get_xmlobj().supports_volume_creation()
diff --git a/virtinst/storage.py b/virtinst/storage.py
index 4f547a0..73b0fa6 100644
--- a/virtinst/storage.py
+++ b/virtinst/storage.py
@@ -108,6 +108,7 @@ class StoragePool(_StorageObject):
TYPE_GLUSTER = "gluster"
TYPE_RBD = "rbd"
TYPE_SHEEPDOG = "sheepdog"
+ TYPE_ZFS = "zfs"
# Pool type descriptions for use in higher level programs
_descs = {}
@@ -122,6 +123,7 @@ class StoragePool(_StorageObject):
_descs[TYPE_GLUSTER] = _("Gluster Filesystem")
_descs[TYPE_RBD] = _("RADOS Block Device/Ceph")
_descs[TYPE_SHEEPDOG] = _("Sheepdog Filesystem")
+ _descs[TYPE_ZFS] = _("ZFS Pool")
@staticmethod
def get_pool_types():
@@ -442,7 +444,7 @@ class StoragePool(_StorageObject):
self.TYPE_DISK, self.TYPE_ISCSI, self.TYPE_SCSI,
self.TYPE_GLUSTER],
"source_name": [self.TYPE_LOGICAL, self.TYPE_GLUSTER,
- self.TYPE_RBD, self.TYPE_SHEEPDOG],
+ self.TYPE_RBD, self.TYPE_SHEEPDOG, self.TYPE_ZFS],
"hosts": [self.TYPE_NETFS, self.TYPE_ISCSI, self.TYPE_GLUSTER,
self.TYPE_RBD, self.TYPE_SHEEPDOG],
"format": [self.TYPE_FS, self.TYPE_NETFS, self.TYPE_DISK],
@@ -471,7 +473,8 @@ class StoragePool(_StorageObject):
StoragePool.TYPE_DIR, StoragePool.TYPE_FS,
StoragePool.TYPE_NETFS, StoragePool.TYPE_LOGICAL,
StoragePool.TYPE_DISK,
- StoragePool.TYPE_RBD, StoragePool.TYPE_SHEEPDOG]
+ StoragePool.TYPE_RBD, StoragePool.TYPE_SHEEPDOG,
+ StoragePool.TYPE_ZFS]
##################
@@ -698,7 +701,8 @@ class StorageVolume(_StorageObject):
elif self.type == "network":
return self.TYPE_NETWORK
if (self._pool_xml.type == StoragePool.TYPE_DISK or
- self._pool_xml.type == StoragePool.TYPE_LOGICAL):
+ self._pool_xml.type == StoragePool.TYPE_LOGICAL or
+ self._pool_xml.type == StoragePool.TYPE_ZFS):
return self.TYPE_BLOCK
if (self._pool_xml.type == StoragePool.TYPE_GLUSTER or
self._pool_xml.type == StoragePool.TYPE_RBD or
--
2.9.1
More information about the virt-tools-list
mailing list