Unbuffered I/O Bugs and Virtual Machine Corruption
Performance of virtual machines on VMware Fusion is something that we take a lot of pride in. It’s the fact that VMware Fusion is fast, stable, and powerful that leads so many people to choose it as their favorite way to run Windows on your Mac—whether that’s former Boot Camp and Parallels users page, or even Apple retail stores.
So when we run into things that can enhance or degrade the performance of our users’ virtual machines, we sit up and take notice. And more important, we make sure to share it.
Optimize for Mac or VM?
Many of our users are probably familiar with the setting under VMware Fusion Preferences that lets users determine if they want to optimize for virtual machine disk performance, or optimize for performance of their Mac OS applications.
The way this works is that, by default, VMware Fusion “optimizes for virtual machine disk performance” with the tradeoff of using more of your Mac’s memory. Conversely, if you “Optimize for Mac OS application performance” VMware Fusion uses less of your Mac’s memory, but can decrease performance of your virtual machines—a tradeoff that some users are willing to take.
Apple Issue with Unbuffered IO
“Optimizing for Mac OS applications performance” works via enabling what is called “unbuffered IO.” The problem is that there is an Apple problem with unbuffered IO that can cause your virtual machine, or your entire OS, to hang at some points. If this occurs, your virtual machine disk can get corrupted, which, of course, we want to avoid at all costs.
We have reported this issue to Apple, but until this bug is resolved, we recommend that all VMware Fusion users ensure they select the default option, in VMware Fusion Preferences, for “Optimize for virtual machine disk performance” to guard against potential data loss.
To all our users, thanks for running VMware Fusion for fast, stable, and powerful Windows on the Mac, and we look forward to making your Mac virtualization experience better and better.

Thanks for the heads-up on this one. You guys make some of the greatest software I've ever used... keep up the good work. Can't wait to see more of Fusion 2 Beta!
Posted by: Ben | July 17, 2008 at 12:26 PM
I thought this bug was fixed in 10.5.3? The bug was that unbuffered writes over 128k to SATA disks (and only SATA) caused a system lockup. Is this a different and new issue that is still present in 10.5.4? Can you give use more technical details?
Posted by: Brian | July 18, 2008 at 04:51 AM
I second Brian's question.
More generally, to publish this blog entry without any reference to your own 1.1.3 release notes, and without qualifying this with version numbers of software, makes it impossible for anyone to know whether you're talking about the old bug or a new one.,
Posted by: ST | July 18, 2008 at 10:46 AM
We thought it was fixed in 10.5.3 as well, but users have been reporting that it's still there. It's possible that it's a slightly-different-but-very-similar bug.
For example, http://communities.vmware.com/thread/154401
Posted by: etung | July 18, 2008 at 02:33 PM
Now that Fusion 2.0 is released along with the Mac OS X Leopard 10.5.5 update is this problem resolved?
Also does this problem apply to OS X Tiger 10.4.11?
Posted by: Dwaine Gonyier | September 18, 2008 at 07:00 AM
Just upgraded to OSX 10.5.5 and Fusion 2.0, guess what? having major problems with Fusion crashing Outlook 2007. Seems buffer error against shared files. PST files are on OSX folder and Outlook uses shared folder. Opens OK, then crash's when using ActiveSync to update mobile phone. Also when using a restart for some reason it locks up and fails to reboot. I have to remove the battery, now that's a first in over a year of using the laptop.
Posted by: gracious1 | September 21, 2008 at 08:19 AM
i am having a similar issue in fusion 2.0 RC, it appears when the shared folders are used the guest os crashes on accessing outlook pst or other files on osx shared folders
Posted by: chris | September 25, 2008 at 10:02 AM