diff --git a/src/vm/BackupJob.cc b/src/vm/BackupJob.cc index 5b5e190688a..3d223792f16 100644 --- a/src/vm/BackupJob.cc +++ b/src/vm/BackupJob.cc @@ -445,9 +445,10 @@ void BackupJob::get_backup_config(Template &tmpl) /* - BACKUP_VOLATILE */ /* - FS_FREEZE */ /* - MODE */ + /* - INCREMENT_MODE */ /* ---------------------------------------------------------------------- */ static vector CONFIG_ATTRIBUTES = { "KEEP_LAST", "BACKUP_VOLATILE", - "FS_FREEZE", "MODE"}; + "FS_FREEZE", "MODE", "INCREMENT_MODE"}; string tmp_str; VectorAttribute* va = new VectorAttribute("BACKUP_CONFIG"); @@ -579,6 +580,25 @@ int BackupJob::parse(string& error) add_template_attribute("MODE", sattr); + if ( sattr == "INCREMENT" ) + { + if ( erase_template_attribute("INCREMENT_MODE", sattr) == 0 || sattr.empty() ) + { + sattr = "CBT"; + } + else + { + one_util::toupper(sattr); + + if ((sattr != "CBT") && (sattr != "SNAPSHOT")) + { + sattr = "CBT"; + } + } + + add_template_attribute("INCREMENT_MODE", sattr); + } + erase_template_attribute("EXECUTION", sattr); Execution exec = str_to_execution(sattr);