summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-12-12 11:18:31 +0100
committerSimon Rettberg2018-12-12 11:18:31 +0100
commit1761bed478ee2d399f2d8b24db222ae462426a6a (patch)
tree8fcf29d364a000d4d8035876555ac0413aa00172
parentDiskImage: Support split vmdk files with plain text header (diff)
downloadmaster-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.java10
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;