From 5f04549bb78294369fc7e39d17bb818201c93038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Thu, 31 Oct 2013 17:01:13 +0100 Subject: [PATCH] Bug #2418: Fix quota rollback for vm resize when the VM is owned by another user --- src/rm/RequestManagerVirtualMachine.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rm/RequestManagerVirtualMachine.cc b/src/rm/RequestManagerVirtualMachine.cc index 594299e473..d43001e0d6 100644 --- a/src/rm/RequestManagerVirtualMachine.cc +++ b/src/rm/RequestManagerVirtualMachine.cc @@ -1628,6 +1628,8 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList, return; } + RequestAttributes att_rollback(vm_perms.uid, vm_perms.gid, att); + /* ---------------------------------------------------------------------- */ /* Check & update host capacity */ /* ---------------------------------------------------------------------- */ @@ -1645,7 +1647,7 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList, get_error(object_name(PoolObjectSQL::HOST),hid), att); - quota_rollback(&deltas, Quotas::VM, att); + quota_rollback(&deltas, Quotas::VM, att_rollback); return; } @@ -1661,7 +1663,7 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList, host->unlock(); - quota_rollback(&deltas, Quotas::VM, att); + quota_rollback(&deltas, Quotas::VM, att_rollback); return; } @@ -1685,7 +1687,7 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList, get_error(object_name(PoolObjectSQL::VM),id), att); - quota_rollback(&deltas, Quotas::VM, att); + quota_rollback(&deltas, Quotas::VM, att_rollback); if (hid != -1) { @@ -1736,7 +1738,7 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList, vm->unlock(); - quota_rollback(&deltas, Quotas::VM, att); + quota_rollback(&deltas, Quotas::VM, att_rollback); if (hid != -1) {