From 712b826dd7b2dd0ab39de05df9a1aca550004b75 Mon Sep 17 00:00:00 2001 From: "Ruben S. Montero" Date: Fri, 10 Sep 2010 15:49:47 +0200 Subject: [PATCH] bug #344: Check save_disk return code --- src/rm/RequestManagerSaveDisk.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/rm/RequestManagerSaveDisk.cc b/src/rm/RequestManagerSaveDisk.cc index bfb1e13c29..15daa0eb15 100644 --- a/src/rm/RequestManagerSaveDisk.cc +++ b/src/rm/RequestManagerSaveDisk.cc @@ -112,7 +112,13 @@ void RequestManager::VirtualMachineSaveDisk::execute( goto error_vm_get; } - vm->save_disk(disk_id, img_id); + rc = vm->save_disk(disk_id, img_id); + + if ( rc == -1 ) + { + vm->unlock(); + goto error_vm_get_disk_id; + } VirtualMachineSaveDisk::vmpool->update(vm); @@ -137,6 +143,10 @@ error_vm_get: oss.str(get_error(method_name, "VM", vm_id)); goto error_common; +error_vm_get_disk_id: + oss.str(get_error(method_name, "DISK from VM", vm_id)); + goto error_common; + error_authenticate: oss.str(authenticate_error(method_name)); goto error_common_lock;