diff options
author | Simon Rettberg | 2018-12-12 11:18:31 +0100 |
---|---|---|
committer | Simon Rettberg | 2018-12-12 11:18:31 +0100 |
commit | 1761bed478ee2d399f2d8b24db222ae462426a6a (patch) | |
tree | 8fcf29d364a000d4d8035876555ac0413aa00172 | |
parent | DiskImage: Support split vmdk files with plain text header (diff) | |
download | master-sync-shared-1761bed478ee2d399f2d8b24db222ae462426a6a.tar.gz master-sync-shared-1761bed478ee2d399f2d8b24db222ae462426a6a.tar.xz master-sync-shared-1761bed478ee2d399f2d8b24db222ae462426a6a.zip |
DiskImage: Proper qcow2 detection
-rw-r--r-- | src/main/java/org/openslx/util/vm/DiskImage.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/org/openslx/util/vm/DiskImage.java b/src/main/java/org/openslx/util/vm/DiskImage.java index ed8f5db..2b24a3f 100644 --- a/src/main/java/org/openslx/util/vm/DiskImage.java +++ b/src/main/java/org/openslx/util/vm/DiskImage.java @@ -19,7 +19,10 @@ public class DiskImage */ private static final int VMDK_MAGIC = 0x4b444d56; private static final int VDI_MAGIC = 0x7f10dabe; - private static final String QEMU = "QFI"; + /** + * Big endian representation of the 4 bytes 'QFI\xFB' + */ + private static final int QEMU_MAGIC = 0x514649fb; public enum ImageFormat { @@ -162,10 +165,7 @@ public class DiskImage // TODO: qcow file.seek( 0 ); - byte[] qcowBuffer = new byte[ QEMU.length() ]; - file.readFully( qcowBuffer ); - String qcowString = new String( qcowBuffer ); - if ( QEMU.equals( qcowString ) ) { + if ( file.readInt() == QEMU_MAGIC ) { // dummy values this.isStandalone = true; this.isCompressed = false; |