Instead of add io=native for all disks, add only if disk is in a netfs
pool.
Changes:
v2:
Instead of passing the complete pool information, pass just pool type.
v3:
Use .get to retrieve pool_type (this will avoid breaking when pool_type is not available)
Signed-off-by: Ramon Medeiros <ramonn(a)linux.vnet.ibm.com>
---
vmtemplate.py | 2 +-
xmlutils/disk.py | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/vmtemplate.py b/vmtemplate.py
index b6e9431..5c6a8d8 100644
--- a/vmtemplate.py
+++ b/vmtemplate.py
@@ -213,7 +213,7 @@ class VMTemplate(object):
img = "%s-%s.img" % (vm_uuid, params['index'])
storage_path =
self._get_storage_path(disk['pool']['name'])
params['path'] = os.path.join(storage_path, img)
-
+ params['pool_type'] = disk['pool']['type']
disks_xml += get_disk_xml(params)[1]
return unicode(disks_xml, 'utf-8')
diff --git a/xmlutils/disk.py b/xmlutils/disk.py
index 2ed2ef4..9e6d8fb 100644
--- a/xmlutils/disk.py
+++ b/xmlutils/disk.py
@@ -53,7 +53,9 @@ def get_disk_xml(params):
driver = E.driver(name='qemu', type=params['format'])
if params['type'] != 'cdrom':
driver.set('cache', 'none')
- driver.set("io", "native")
+
+ if params.get('pool_type') == "netfs":
+ driver.set("io", "native")
disk.append(driver)
--
2.1.0