Blog

WinFsp 2017 is finally here 🎉🎉🎉

After 16 months of development, 1750 commits, 50 KLOC and thousands of builds and tests, WinFsp 2017 is finally here. Go ahead and get it at https://github.com/billziss-gh/winfsp/releases/tag/v1.0

This has been a long journey. It started in the fall of 2015 when I was trying to port an OSX/Linux FUSE file system to Windows. My research led to me to Dokany and after some work I ported the core file system to Windows and the FUSE layer to the Dokany API. Unfortunately I soon discovered that Dokany did not implement correct file system semantics and was very unstable and slow. I briefly tried to correct some of these problems, but soon decided that I needed to start from scratch with a project that did FUSE on Windows "right".

Starting a project like WinFsp was not an easy decision. At the time I had not done any Windows development for years and had never written a file system driver (FSD) before (although I do have systems/kernel level experience on multiple platforms, including some unreleased ones). Not to mention that I ran a Mac only shop and practically all WinFsp development had to be done on virtual machines (this turned out to be an advantage in the end).

For these reasons writing WinFsp was a challenge for me. There were times that I thought it was not worth the effort required. I certainly thought so after rewriting
IRP_MJ_CREATE handling for the n-th time. I certainly thought so the many times that I spent hours (and sometimes days) hunting an elusive bug. I certainly thought so the many times I had to deduce correct file system behavior by laboriously writing test programs against NTFS. I certainly thought so when I had to implement oplock support (and question the original designers' sanity). And I certainly thought so every time my wife asked: "so what exactly are you working on these days?"

Despite this hard work (or perhaps because of it) I can look back at it and feel entirely satisfied. WinFsp is the best user mode file system solution for Windows. It is far more stable, far more tested and much faster than anything else in its space. As a well-known fruit company likes to say: "it just works". If you don't believe me just try it!