1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-25 02:50:08 +03:00

feature #295: Only overwritten images are disabled

This commit is contained in:
Ruben S. Montero 2010-08-01 17:54:46 +02:00
parent 971031f326
commit 84e51477e4
2 changed files with 3 additions and 38 deletions

View File

@ -88,9 +88,6 @@ module OpenNebula
result = image.info
if !OpenNebula.is_error?(result)
# Disable the Image for a safe overwriting
image.disable
result = move(source, image['SOURCE'])
image.enable

View File

@ -905,7 +905,6 @@ void VirtualMachine::release_disk_images()
{
string iid;
string saveas;
int saveas_id;
int num_disks;
vector<Attribute const * > disks;
@ -943,47 +942,16 @@ void VirtualMachine::release_disk_images()
img->release_image();
saveas = disk->vector_value("SAVE_AS");
// -------------- DISABLE THIS IMAGE IF OVERWRITTEN --------------------
saveas = disk->vector_value("SAVE_AS");
saveas_id = -1;
if ( !saveas.empty() )
if ( !saveas.empty() && saveas == iid )
{
if (saveas == id)
{
img->enable(false);
}
else
{
saveas_id = atoi(saveas.c_str())
}
img->enable(false);
}
// ----------------------- UPDATE IMAGE --------------------------------
ipool->update(img);
img->unlock();
// ------------------- DISABLE IMAGE TO BE SAVED -----------------------
if (saveas_id != -1)
{
img = ipool->get(saveas_id,true);
if ( img == 0 )
{
continue;
}
img->enable(false);
ipool->update(img);
img->unlock();
}
}
}