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

Handle CDROM as IMMUTABLE

Signed-off-by: Ruben S. Montero <rsmontero@opennebula.org>
This commit is contained in:
Anton Todorov 2016-09-13 16:18:15 +02:00 committed by Ruben S. Montero
parent 6275474fe1
commit 9e5c895cbf

View File

@ -544,53 +544,39 @@ void Image::disk_attribute( VectorAttribute * disk,
disk->replace("IMAGE_STATE", state);
//--------------------------------------------------------------------------
// READONLY attribute
// READONLY, CLONE & SAVE attributes
//--------------------------------------------------------------------------
if ( type == CDROM || template_ptype == "IMMUTABLE" )
{
disk->replace("READONLY", "YES");
}
else if ( disk->vector_value("READONLY", ro) != 0 )
{
if ( get_template_attribute("READONLY", ro) )
{
disk->replace("READONLY", ro);
}
else
{
disk->replace("READONLY", false);
}
}
//--------------------------------------------------------------------------
// CLONE & SAVE attributes
//--------------------------------------------------------------------------
if ( persistent_img )
{
disk->replace("PERSISTENT", "YES");
disk->replace("SAVE", "NO");
disk->replace("CLONE", "NO");
if ( template_ptype == "IMMUTABLE" )
{
disk->replace("SAVE", "NO");
}
else
{
disk->replace("SAVE", "YES");
}
disk->replace("READONLY", "YES");
}
else
{
if ( type == CDROM )
if ( disk->vector_value("READONLY", ro) != 0 )
{
if ( get_template_attribute("READONLY", ro) )
{
disk->replace("READONLY", ro);
}
else
{
disk->replace("READONLY", false);
}
}
if ( persistent_img )
{
disk->replace("PERSISTENT", "YES");
disk->replace("CLONE", "NO");
disk->replace("SAVE", "YES");
}
else
{
disk->replace("CLONE", "YES");
disk->replace("SAVE", "NO");
}
disk->replace("SAVE", "NO");
}
//--------------------------------------------------------------------------