Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4264,8 +4264,8 @@ public void setBackingFileFormat(String volPath) {
QemuImg qemu = new QemuImg(timeout);
try{
Map<String, String> info = qemu.info(file);
String backingFilePath = info.get(new String("backing_file"));
String backingFileFormat = info.get(new String("backing_file_format"));
String backingFilePath = info.get(QemuImg.BACKING_FILE);
String backingFileFormat = info.get(QemuImg.BACKING_FILE_FORMAT);
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
Expand All @@ -4274,7 +4274,7 @@ public void setBackingFileFormat(String volPath) {
s_logger.info("Setting backing file format of " + volPath);
QemuImgFile backingFile = new QemuImgFile(backingFilePath);
Map<String, String> backingFileinfo = qemu.info(backingFile);
String backingFileFmt = backingFileinfo.get(new String("file_format"));
String backingFileFmt = backingFileinfo.get(QemuImg.FILE_FORMAT);
qemu.rebase(file, backingFile, backingFileFmt, false);
}
} catch (QemuImgException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ private KVMPhysicalDisk createPhysicalDiskByQemuImg(String name, KVMStoragePool
try{
qemu.create(destFile, options);
Map<String, String> info = qemu.info(destFile);
virtualSize = Long.parseLong(info.get(new String("virtual_size")));
virtualSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
actualSize = new File(destFile.getFileName()).length();
} catch (QemuImgException e) {
s_logger.error("Failed to create " + volPath +
Expand Down Expand Up @@ -1287,7 +1287,7 @@ public KVMPhysicalDisk copyPhysicalDisk(KVMPhysicalDisk disk, String name, KVMSt
srcFile = new QemuImgFile(sourcePath, sourceFormat);
try {
Map<String, String> info = qemu.info(srcFile);
String backingFile = info.get(new String("backing_file"));
String backingFile = info.get(QemuImg.BACKING_FILE);
// qcow2 templates can just be copied into place
if (sourceFormat.equals(destFormat) && backingFile == null && sourcePath.endsWith(".qcow2")) {
String result = Script.runSimpleBashScript("cp -f " + sourcePath + " " + destPath, timeout);
Expand All @@ -1299,7 +1299,7 @@ public KVMPhysicalDisk copyPhysicalDisk(KVMPhysicalDisk disk, String name, KVMSt
try {
qemu.convert(srcFile, destFile);
Map<String, String> destInfo = qemu.info(destFile);
Long virtualSize = Long.parseLong(destInfo.get(new String("virtual_size")));
Long virtualSize = Long.parseLong(destInfo.get(QemuImg.VIRTUAL_SIZE));
newDisk.setVirtualSize(virtualSize);
newDisk.setSize(virtualSize);
} catch (QemuImgException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@
import com.cloud.utils.script.Script;

public class QemuImg {
public final static String BACKING_FILE = "backing_file";
public final static String BACKING_FILE_FORMAT = "backing_file_format";
public final static String CLUSTER_SIZE = "cluster_size";
public final static String FILE_FORMAT = "file_format";
public final static String IMAGE = "image";
public final static String VIRTUAL_SIZE = "virtual_size";

/* The qemu-img binary. We expect this to be in $PATH */
public String _qemuImgPath = "qemu-img";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ public void testCreateAndInfo() throws QemuImgException {
fail("We didn't get any information back from qemu-img");
}

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(size), Long.valueOf(infoSize));

String infoPath = info.get(new String("image"));
String infoPath = info.get(QemuImg.IMAGE);
assertEquals(filename, infoPath);

File f = new File(filename);
Expand All @@ -78,13 +78,13 @@ public void testCreateAndInfoWithOptions() throws QemuImgException {
qemu.create(file, options);
Map<String, String> info = qemu.info(file);

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(size), Long.valueOf(infoSize));

String infoPath = info.get(new String("image"));
String infoPath = info.get(QemuImg.IMAGE);
assertEquals(filename, infoPath);

String infoClusterSize = info.get(new String("cluster_size"));
String infoClusterSize = info.get(QemuImg.CLUSTER_SIZE);
assertEquals(clusterSize, infoClusterSize);

File f = new File(filename);
Expand Down Expand Up @@ -135,7 +135,7 @@ public void testCreateAndResize() throws QemuImgException {
fail("We didn't get any information back from qemu-img");
}

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(endSize), Long.valueOf(infoSize));
} catch (QemuImgException e) {
fail(e.getMessage());
Expand Down Expand Up @@ -164,7 +164,7 @@ public void testCreateAndResizeDeltaPositive() throws QemuImgException {
fail("We didn't get any information back from qemu-img");
}

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(startSize + increment), Long.valueOf(infoSize));
} catch (QemuImgException e) {
fail(e.getMessage());
Expand Down Expand Up @@ -192,7 +192,7 @@ public void testCreateAndResizeDeltaNegative() throws QemuImgException {
fail("We didn't get any information back from qemu-img");
}

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(startSize + increment), Long.valueOf(infoSize));
} catch (QemuImgException e) {
fail(e.getMessage());
Expand Down Expand Up @@ -255,7 +255,7 @@ public void testCreateWithBackingFile() throws QemuImgException {
fail("We didn't get any information back from qemu-img");
}

String backingFile = info.get(new String("backing_file"));
String backingFile = info.get(QemuImg.BACKING_FILE);
if (backingFile == null) {
fail("The second file does not have a property backing_file! Create failed?");
}
Expand Down Expand Up @@ -303,10 +303,10 @@ public void testConvertAdvanced() throws QemuImgException {

Map<String, String> info = qemu.info(destFile);

PhysicalDiskFormat infoFormat = PhysicalDiskFormat.valueOf(info.get(new String("format")).toUpperCase());
PhysicalDiskFormat infoFormat = PhysicalDiskFormat.valueOf(info.get(QemuImg.FILE_FORMAT).toUpperCase());
assertEquals(destFormat, infoFormat);

Long infoSize = Long.parseLong(info.get(new String("virtual_size")));
Long infoSize = Long.parseLong(info.get(QemuImg.VIRTUAL_SIZE));
assertEquals(Long.valueOf(srcSize), Long.valueOf(infoSize));

File sf = new File(srcFileName);
Expand All @@ -316,4 +316,4 @@ public void testConvertAdvanced() throws QemuImgException {
df.delete();

}
}
}