From 9e5c895cbf473533aa98f5d0bcf99619ed59e3a2 Mon Sep 17 00:00:00 2001 From: Anton Todorov Date: Tue, 13 Sep 2016 16:18:15 +0200 Subject: [PATCH] Handle CDROM as IMMUTABLE Signed-off-by: Ruben S. Montero --- src/image/Image.cc | 52 +++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/src/image/Image.cc b/src/image/Image.cc index 27c43b5eab..aef1b94bfc 100644 --- a/src/image/Image.cc +++ b/src/image/Image.cc @@ -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"); } //--------------------------------------------------------------------------