Monday, March 10. 2008

Official text from KB 946676:
Windows Home Server uses a file system mini-filter driver in addition to the NTFS file system to implement Shared Folders storage technology. File system mini-filter drivers are an extensibility mechanism that is provided by Windows to enable storage scenarios. For distributing data across the different hard drives that are managed by Windows Home Server, the Windows Home Server mini-filter driver redirects I/O between files that are stored on the main hard drive and files that are stored on other hard drives. This redirection mechanism is enabled only when Windows Home Server is managing the Shared Folder storage of multiple physical hard drives. A bug has been discovered in the redirection mechanism which, in certain cases, depending on application use patterns, timing, and workload, may cause interactions between NTFS, the Memory Manager, and the Cache Manager to get out of sync. This causes corrupted data to be written to files.

My thoughts on it:
Sounds like a *very* hard bug to track down due to all the interaction with the various pieces of the operating system. Strange as it sounds, I would have loved to have been on the debugging team that went chasing after this bug. I am also curious if the final fix will be pushed to other operating systems, in case this affects other users of mini-filter drivers on Server 2003-ish platforms.

I'm also curious if this problem magically goes away if they migrated the codebase to Server 2008 or if it still exists, in a modified form, in that OS. The mini-filter technology is still there but the code might have been a cleaned up and/or race conditions removed just due to redesign of certain kernel features. Time will tell.