From 00dd618c16bb115d638268d6a7e30c9228fa388b Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Tue, 19 Feb 2013 17:36:50 +0100 Subject: [PATCH] feature #1701: add io parameter to disks in kvm driver --- src/vmm/LibVirtDriverKVM.cc | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/vmm/LibVirtDriverKVM.cc b/src/vmm/LibVirtDriverKVM.cc index 56872d9bdb..759fccaf8c 100644 --- a/src/vmm/LibVirtDriverKVM.cc +++ b/src/vmm/LibVirtDriverKVM.cc @@ -56,12 +56,14 @@ int LibVirtDriver::deployment_description_kvm( string ro = ""; string driver = ""; string cache = ""; + string disk_io = ""; string source = ""; string clone = ""; int disk_id; - string default_driver = ""; - string default_driver_cache = ""; + string default_driver = ""; + string default_driver_cache = ""; + string default_driver_disk_io = ""; bool readonly; const VectorAttribute * nic; @@ -298,6 +300,7 @@ int LibVirtDriver::deployment_description_kvm( default_driver_cache = "default"; } + get_default("DISK","IO",default_driver_disk_io); // ------------------------------------------------------------------------ num = vm->get_template_attribute("DISK",attrs); @@ -316,6 +319,7 @@ int LibVirtDriver::deployment_description_kvm( ro = disk->vector_value("READONLY"); driver = disk->vector_value("DRIVER"); cache = disk->vector_value("CACHE"); + disk_io= disk->vector_value("IO"); source = disk->vector_value("SOURCE"); clone = disk->vector_value("CLONE"); @@ -406,14 +410,23 @@ int LibVirtDriver::deployment_description_kvm( if ( !cache.empty() ) { - file << cache << "'/>" << endl; + file << cache << "'"; } else { - file << default_driver_cache << "'/>" << endl; + file << default_driver_cache << "'"; } - file << "\t\t" << endl; + if ( !disk_io.empty() ) + { + file << " io='" << disk_io << "'"; + } + else if ( !default_driver_disk_io.empty() ) + { + file << " io='" << default_driver_disk_io << "'"; + } + + file << "/>" << endl << "\t\t" << endl; } attrs.clear();