Hi all.

There was a long time ago when I started to use pure zvol's as VirtualBox disks. This way virtual machines were working faster due to default smaller cluster size and I also can snapshot them and mount right from the OS. Too bad this also required setting 'use host i/o cache' at storage controller properties. Without that most guest OS would just break or hang.

Recently 10-STABLE was shown some improvements:

1. zfs set volmode=dev <zvol>

Now you can mark zvol as a dev node preventing system from touching it. Also this makes working with zvol simpler.

2. r269429 (MFC r269123): Implement separate I/O dispatch method for ZVOLs in "dev" mode.

After this one if you have zvol's marked as volmode=dev you can turn off useHostIOCache for your virtual machines. And they would also work much faster! But alas after that VirtualBox becomes unstable and your machines can also fail on heavy IO.

Aug 13 14:00:17 limbo kernel: pid 50275 (VirtualBox), uid 1001: exited on signal 11 (core dumped)

00:01:06.704138 NAT: DHCP offered IP address 10.0.2.15
00:01:13.352513 NAT: IPv6 not supported
00:05:10.647121 UIMediumEnumerator: Machine (or snapshot) event received, ID = 127e4da5-ca27-41f0-bda7-23a3b76fd447 00:05:10.647313 UIMediumEnumerator: Old usage: d85e4ed7-2c67-4947-ad91-3d37c410e047 00:05:10.649943 UIMediumEnumerator: New usage: d85e4ed7-2c67-4947-ad91-3d37c410e047 00:05:10.650007 UIMediumEnumerator: Machine (or snapshot) event processed, ID = 127e4da5-ca27-41f0-bda7-23a3b76fd447

^^^ No errors.

#0 0x00000008020e1dad in RTLogLoggerEx (pLogger=0x811462e40, fFlags=8, iGroup=293652128, pszFormat=0x81180c6a0 "$") at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Runtime/common/log/logellipsis.cpp:80
80      {

#0 0x00000008020e1dad in RTLogLoggerEx (pLogger=0x811462e40, fFlags=8, iGroup=293652128, pszFormat=0x81180c6a0 "$") at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Runtime/common/log/logellipsis.cpp:80 args = {{gp_offset = 4, fp_offset = 0, overflow_arg_area = 0x0, reg_save_area = 0x100000000000000}} #1 0x00000008073632ef in pdmacFileAioMgrNormalReqCompleteRc (pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0) at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1348
        rc = 0
        pEndpoint = 0x101000817ea93c0
        pTask = 0x811462e40
        pTasksWaiting = 0x7ffffe9a21f0
#2 0x0000000807365f1c in pdmacFileAioMgrNormalReqsEnqueue (pAioMgr=0x8141e5620, pEndpoint=0x8142000a0, pahReqs=0x7ffffe9a2380, cReqs=1) at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:613
        rcReq = 0
        i = 0
        rc = -250
#3 0x0000000807363f6d in pdmacFileAioMgrNormalReqCompleteRc (pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0) at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1504
        offStart = 9376530432
        cbToTransfer = 16384
        pbBuf = (uint8_t *) 0x85c2fe000 "\001"
        rc = 0
        pEndpoint = 0x8142000a0
        pTask = 0x811462e40
        pTasksWaiting = 0x7ffffe9a2390
#4 0x0000000807365f1c in pdmacFileAioMgrNormalReqsEnqueue (pAioMgr=0x8141e5620, pEndpoint=0x8142000a0, pahReqs=0x7ffffe9a2520, cReqs=1) at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:613
        rcReq = 0
        i = 0
        rc = -250
#5 0x0000000807363f6d in pdmacFileAioMgrNormalReqCompleteRc (pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0) at /tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1504
        offStart = 9376530432
        cbToTransfer = 16384
        pbBuf = (uint8_t *) 0x85c2fe000 "\001"
        rc = 0
        pEndpoint = 0x8142000a0
        pTask = 0x811462e40
        pTasksWaiting = 0x7ffffe9a2530

If anyone want's to see whole log I can grab it somewhere, it's too long.

--
Sphinx of black quartz judge my vow.
_______________________________________________
freebsd-emulation@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "freebsd-emulation-unsubscr...@freebsd.org"

Reply via email to