From bf88a0eb2206094314c3ab1c5c147c5a55851e18 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 23 Sep 2015 16:51:07 +0200 Subject: Support extracting hw version from vmdk files --- src/main/java/org/openslx/filetransfer/util/HashChecker.java | 1 + src/main/java/org/openslx/util/vm/DiskImage.java | 8 ++++++++ src/main/java/org/openslx/util/vm/VmwareMetaData.java | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/openslx/filetransfer/util/HashChecker.java b/src/main/java/org/openslx/filetransfer/util/HashChecker.java index 13c06db..c599e2b 100644 --- a/src/main/java/org/openslx/filetransfer/util/HashChecker.java +++ b/src/main/java/org/openslx/filetransfer/util/HashChecker.java @@ -113,6 +113,7 @@ public class HashChecker super( "HashCheck" ); md = MessageDigest.getInstance( algorithm ); extraThread = isExtra; + setPriority( Thread.NORM_PRIORITY - 1 ); } @Override diff --git a/src/main/java/org/openslx/util/vm/DiskImage.java b/src/main/java/org/openslx/util/vm/DiskImage.java index 4165183..1112cfc 100644 --- a/src/main/java/org/openslx/util/vm/DiskImage.java +++ b/src/main/java/org/openslx/util/vm/DiskImage.java @@ -6,6 +6,7 @@ import java.io.IOException; import java.io.RandomAccessFile; import org.openslx.bwlp.thrift.iface.Virtualizer; +import org.openslx.util.Util; public class DiskImage { @@ -48,6 +49,7 @@ public class DiskImage public final boolean isStandalone; public final boolean isCompressed; public final ImageFormat format; + public final int hwVersion; public DiskImage( File disk ) throws FileNotFoundException, IOException, UnknownImageFormatException @@ -65,6 +67,12 @@ public class DiskImage this.isCompressed = ct != null && ct.equalsIgnoreCase( "streamOptimized" ); this.format = ImageFormat.VMDK; + String hwv = config.get( "ddb.virtualHWVersion" ); + if (hwv == null ) { + this.hwVersion = 10; + } else { + this.hwVersion = Util.parseInt( hwv, 10 ); + } } } diff --git a/src/main/java/org/openslx/util/vm/VmwareMetaData.java b/src/main/java/org/openslx/util/vm/VmwareMetaData.java index d379322..43a91d9 100644 --- a/src/main/java/org/openslx/util/vm/VmwareMetaData.java +++ b/src/main/java/org/openslx/util/vm/VmwareMetaData.java @@ -32,7 +32,7 @@ public class VmwareMetaData extends VmMetaData // Init static members static { String[] list = { "^guestos", "^uuid\\.bios", "^config\\.version", "^ehci\\.", - "mks\\.", "virtualhw\\.", "^sound\\.", "\\.pcislotnumber$", "^pcibridge", "\\.virtualdev$" }; + "mks\\.enable3d", "virtualhw\\.", "^sound\\.", "\\.pcislotnumber$", "^pcibridge", "\\.virtualdev$" }; whitelist = new Pattern[ list.length ]; for ( int i = 0; i < list.length; ++i ) { whitelist[i] = Pattern.compile( list[i] ); -- cgit v1.2.3-55-g7522