diff --git a/src/rm/RequestManagerVirtualMachine.cc b/src/rm/RequestManagerVirtualMachine.cc index 77ba7b5fdf..0f54a08ece 100644 --- a/src/rm/RequestManagerVirtualMachine.cc +++ b/src/rm/RequestManagerVirtualMachine.cc @@ -561,6 +561,10 @@ void VirtualMachineSaveDisk::request_execute(xmlrpc_c::paramList const& paramLis int rc; string error_str; + string driver; + string target; + string dev_prefix; + // ------------------------------------------------------------------------- // Prepare and check the VM/DISK to be saved_as // ------------------------------------------------------------------------- @@ -607,6 +611,10 @@ void VirtualMachineSaveDisk::request_execute(xmlrpc_c::paramList const& paramLis Image::ImageType type = img->get_type(); + img->get_template_attribute("DRIVER", driver); + img->get_template_attribute("TARGET", target); + img->get_template_attribute("DEV_PREFIX", dev_prefix); + img->unlock(); if ((ds = dspool->get(ds_id, true)) == 0 ) @@ -652,6 +660,21 @@ void VirtualMachineSaveDisk::request_execute(xmlrpc_c::paramList const& paramLis itemplate->add("TYPE", img_type); } + if ( driver.empty() == false ) + { + itemplate->add("DRIVER", driver); + } + + if ( target.empty() == false ) + { + itemplate->add("TARGET", target); + } + + if ( dev_prefix.empty() == false ) + { + itemplate->add("DEV_PREFIX", dev_prefix); + } + itemplate->set_saving(); img_usage.add("SIZE", size);