kvm: Do not set backing file format of DATADISK in vm start/migration (#4800)

* kvm: Do not rebase DATADISK in vm start/migration

* #4800: add comment and use isBlank
This commit is contained in:
Wei Zhou 2021-03-24 20:22:51 +01:00 committed by GitHub
parent 9b1d1e6de3
commit 952b242722
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -4266,7 +4266,11 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
Map<String, String> info = qemu.info(file);
String backingFilePath = info.get(new String("backing_file"));
String backingFileFormat = info.get(new String("backing_file_format"));
if (org.apache.commons.lang.StringUtils.isEmpty(backingFileFormat)) {
if (org.apache.commons.lang.StringUtils.isNotBlank(backingFilePath)
&& org.apache.commons.lang.StringUtils.isBlank(backingFileFormat)) {
// VMs which are created in CloudStack 4.14 and before cannot be started or migrated
// in latest Linux distributions due to missing backing file format
// Please refer to https://libvirt.org/kbase/backing_chains.html#vm-refuses-to-start-due-to-misconfigured-backing-store-format
s_logger.info("Setting backing file format of " + volPath);
QemuImgFile backingFile = new QemuImgFile(backingFilePath);
Map<String, String> backingFileinfo = qemu.info(backingFile);