Index: trunk/src/VBox/ValidationKit/tests/storage/storagecfg.py
===================================================================
--- trunk/src/VBox/ValidationKit/tests/storage/storagecfg.py	(revision 62039)
+++ trunk/src/VBox/ValidationKit/tests/storage/storagecfg.py	(revision 62052)
@@ -117,5 +117,5 @@
         fRc = True;
         if sZPoolRaid is not None:
-            fRc = oExec.execBinary('zpool', ('create', sPool, sZPoolRaid,) + asDisks);
+            fRc = oExec.execBinary('zpool', ('create', '-f', sPool, sZPoolRaid,) + tuple(asDisks));
         else:
             fRc = False;
@@ -214,5 +214,5 @@
 
     kdStorageCfgs = {
-        'testboxstor1': ('solaris', 'c[3-9]t*d0')
+        'testboxstor1.de.oracle.com': ('solaris', 'c[3-9]t\dd0\Z')
     };
 
@@ -315,5 +315,5 @@
 
             # Find a name for the pool
-            sPool = 'pool' + self.iPoolId;
+            sPool = 'pool' + str(self.iPoolId);
             self.iPoolId += 1;
 
@@ -359,5 +359,5 @@
         sMountPoint = None;
         if self.dPools.has_key(sPool):
-            sVol = 'vol' + self.iVolId;
+            sVol = 'vol' + str(self.iVolId);
             sMountPoint = self.oStorOs.getMntBase() + '/' + sVol;
             self.iVolId += 1;
@@ -382,8 +382,8 @@
             fRc = self.oStorOs.destroyVolume(self.oExec, sPool, sVol);
             if fRc:
-                self.dVols.pop(sVol);
-        else:
-            fRc = False;
-
-        return fRc;
-
+                self.dVols.pop(sMountPoint);
+        else:
+            fRc = False;
+
+        return fRc;
+
Index: trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py
===================================================================
--- trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py	(revision 62039)
+++ trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py	(revision 62052)
@@ -74,6 +74,6 @@
 
     kdHostIoEngine = {
-        'solaris': 'solarisaio',
-        'linux':   'libaio'
+        'solaris': ('solarisaio', False),
+        'linux':   ('libaio', True)
     };
 
@@ -87,5 +87,5 @@
 
         sTargetOs = self.dCfg.get('TargetOs', 'linux');
-        sIoEngine = self.kdHostIoEngine.get(sTargetOs);
+        sIoEngine, fDirectIo = self.kdHostIoEngine.get(sTargetOs);
         if sIoEngine is None:
             return False;
@@ -97,5 +97,8 @@
         cfgBuf.write('iodepth=' + self.dCfg.get('QueueDepth', '32') + '\n');
         cfgBuf.write('size=' + self.dCfg.get('TestsetSize', '2g') + '\n');
-        cfgBuf.write('direct=1\n');
+        if fDirectIo:
+            cfgBuf.write('direct=1\n');
+        else:
+            cfgBuf.write('direct=0\n');
         cfgBuf.write('directory=' + self.dCfg.get('FilePath', '/mnt') + '\n');
 
@@ -116,5 +119,5 @@
         cfgBuf.write('stonewall\n');
 
-        self.sCfgFileId = self.oExecutor.copyString(cfgBuf, 'aio-test', cMsTimeout);
+        self.sCfgFileId = self.oExecutor.copyString(cfgBuf.getvalue(), 'aio-test', cMsTimeout);
         return self.sCfgFileId is not None;
 
@@ -157,4 +160,9 @@
         self.sQueueDepth  = dCfg.get('QueueDepth',  '32');
         self.sFilePath    = dCfg.get('FilePath',    '/mnt/iozone');
+        self.fDirectIo    = True;
+
+        sTargetOs = dCfg.get('TargetOs');
+        if sTargetOs == 'solaris':
+            self.fDirectIo = False;
 
     def prepare(self, cMsTimeout = 30000):
@@ -165,7 +173,9 @@
     def run(self, cMsTimeout = 30000):
         """ Runs the testcase """
-        fRc, sOutput = self.oExecutor.execBinary('iozone', ('-r', self.sRecordSize, '-s', self.sTestsetSize, \
-                                                            '-t', '1', '-T', '-I', \
-                                                            '-H', self.sQueueDepth,'-F', self.sFilePath));
+        tupArgs = ('-r', self.sRecordSize, '-s', self.sTestsetSize, \
+                   '-t', '1', '-T', '-H', self.sQueueDepth, '-F', self.sFilePath + '/iozone.tmp');
+        if self.fDirectIo:
+            tupArgs += ('-I',);
+        fRc, sOutput = self.oExecutor.execBinary('iozone', tupArgs);
         if fRc:
             self.sResult = sOutput;
@@ -389,9 +399,8 @@
         # Create a basic pool with the default configuration.
         oStorCfg = storagecfg.StorageCfg(oExecutor, socket.gethostname().lower());
-        fRc, sPoolId = oStorCfg.createStoragePool(oExecutor);
+        fRc, sPoolId = oStorCfg.createStoragePool();
         if fRc:
             fRc, sMountpoint = oStorCfg.createVolume(sPoolId);
             if fRc:
-
                 # Create a basic config
                 dCfg = {
@@ -424,7 +433,9 @@
                     reporter.testDone();
             else:
-                reporter.testFailure('Creating a storage pool on the target failed');
+                reporter.testFailure('Creating a storage volume on the target failed');
 
             oStorCfg.cleanup();
+        else:
+            reporter.testFailure('Creating a storage pool on the target failed');
 
         return fRc;
