summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/other/1437367
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/zero-shot/108/other/1437367')
-rw-r--r--results/classifier/zero-shot/108/other/143736752
1 files changed, 52 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/other/1437367 b/results/classifier/zero-shot/108/other/1437367
new file mode 100644
index 000000000..108947421
--- /dev/null
+++ b/results/classifier/zero-shot/108/other/1437367
@@ -0,0 +1,52 @@
+files: 0.775
+device: 0.703
+other: 0.686
+semantic: 0.676
+graphic: 0.656
+performance: 0.645
+vnc: 0.508
+permissions: 0.508
+debug: 0.488
+PID: 0.466
+socket: 0.405
+network: 0.399
+boot: 0.378
+KVM: 0.273
+
+Qemu guest fails to write files with raw disk (like \\.\PhysicalDrive1) on Windows host.
+
+Qemu guest fails to write files with specifing raw disk like \\.\PhysicalDrive1
+full command line is below.
+qemu-sysytem-i386.exe -kernel bzImage -drive file=rootfs.ext2,index=0,if=scsi -append root=/dev/sda -drive file=\\.\PhysicalDrive1,index=1,if=scsi
+
+I found the reason is below aio_worker returns -EIO when flush operation.
+
+https://github.com/qemu/qemu/blob/master/block/raw-win32.c#L95
+
+static int aio_worker(void *arg)
+...
+    case QEMU_AIO_FLUSH:
+        if (!FlushFileBuffers(aiocb->hfile)) {
+            return -EIO;
+        }
+
+FlushFileBuffers always fails with GetLastError() == ERROR_INVALID_FUNCTION
+I think this function doesn't support raw device.
+For flushing, you might have to issue scsi/ata command or use another way.
+Trying to just ignoring this error, writing function seems to be fine for me.
+
+Thanks
+hiroaki
+
+The documentation of FlushFileBuffers() only mentions that consoles cannot be flushed. It doesn't specifically mention physical drives, but it does explicitly mention that whole volumes can be flushed this way:
+
+https://msdn.microsoft.com/en-us/library/windows/desktop/aa364439%28v=vs.85%29.aspx
+
+Of course, I'm not really a Windows expert, so my reading of this may be wrong. If anyone knows how physical drives are supposed to be flushed other than with FlushFileBuffers(), we can certainly implement that in qemu.
+
+In any case, just disabling the flush is not advisable as it may harm data integrity in case of crashes/power failure. If you really want to disable it, the cache=unsafe option should avoid the calls.
+
+Is there still anything left to do here, or could we close this ticket nowadays?
+
+[Expired for QEMU because there has been no activity for 60 days.]
+