This is a fantastic project. FWIW, Paragon's extfs for Windows uses either Dokany or the original Dokan, so at least one company thought this was good enough to use in production.
I'm also not sure how the Win10 Anniversary driver signing changes have affected the project - they're relying on a commercial sponsor for the signed releases.
All issue BSOD reported during the 9 months of testing of this version has been fixed (4 release candidate was made). Latest release candidate was already used on products. But it is still recommended using virtual machine when developing your file system in case of.
I don't doubt you've made lots of fixes, but what about the issue I linked above? That's probably a case of an AV filter driver doing something silly, but still.
Dokan calls IoRegisterFileSystem on disk file systems, but does not appear to do so on network file systems. FsRtlRegisterUncProvider is the pre-Vista MUP and does not do it for you.
WinFsp has multiple integrated test suites, some of which Dokany uses (with tests missing/disabled). It also has hundreds of users at this point.
"WinFsp has multiple integrated test suites, some of which Dokany uses (with tests missing/disabled)." > really? I'm generally quiet and let Liryna talking but your thread hijacking to promote your product each time there is an official Dokan publication start to be annoying. This test suite was one of your contribution on Dokany before you stopped being involved on the project so of course we are... (it will soon be replaced by another test suite btw). Anyway, let's stop the argument here...
Maxhy, I understand that you are annoyed. Please recall that:
1. The only Dokany thread that I have explicitly mentioned WinFsp is this one (and only after someone else mentioned it). I avoided doing so on your Reddit thread, for example. You may consider that my original message to the Dokany mailing list was promotion, but from my perspective at least it was simply a message to like minded people.
2. That until Lyrina's message(s) in cygwin-apps, where she effectively sabotaged my ITP submission, I was willing to work with Dokany and I said so in a message to the Dokany list.
The truth is that until that ITP submission point I was not bothering anyone and was just working on my project. The only two times that I made comments on Dokany vs WinFsp was when I was explicitly asked: one time by you on the Dokany list and one time on Reddit in WinFsp's own promotion thread.
So I agree with you: let's stop the arguments here. I am willing to stop hijacking threads or trying to sabotage your project's progress. However I also want Dokany to stop insinuating that WinFsp is not being tested (where my argument about the test suites stems from) or sabotage WinFsp's progress.
I wrote a (unreleased I believe) filesystem with this a couple years ago and my machine would reliably BSOD every time Windows tried to do the mandatory automatic updates. My friends say you can disable that but I haven't used Windows often enough since then for it to be a problem.
As I understand it, the BSODs happened when virus scanners hit a Dokany FS. Interaction between two different hooks into the kernel's FS layer, I guess.
There's a kernel-mode component here too - Dokan.sys I think. It's the equivalent to fuse.ko. I imagine a bug in FUSE could cause a kernel panic as well.
The design of this library reminds me of OOP anti-pattern "Public Morozov" (in the name of popular Soviet myth about 13-year old boy Pavlik Morozov, who denounced his father to authorities), which exposes internal state of an object and private methods via public delegates.
When I tried Dokany, I was pretty happy with the API. (C# Adapter) There were some non-obvious tricks, but overall, compared to ELDOS, the API is well thought out.
Was this always FOSS? I remember looking at this a few years back and it wasn't though maybe I'm mixing this up with a different fuse-on-Windows product.
It's a fork of the original Dokan (which you are referencing), that has been under active development for at least a year now (I came across it a year or so back).
It's not about creating new filesystems, but using filesystem ui to browse any filesystem like hierarchy. For example using a potential implementation you as a user could be browsing S3, remote NFS, or gmail account where labels would be represented as folders and emails as text files.
This was a big deal when gmail was first announced and they said they would give away one gigabyte (!!) worth of email storage with every (free!) account.
These days, dropbox, drive and many other similar services provide a much more straightforward mapping to a storage service.
You don't. Where this comes in as useful is when you have a dual boot system, and you want to access your ext3 filesystems from Windows, for example. It would also be useful for running FUSE ZFS, since ZFS can protect data in ways which are science fiction for NTFS.
On any case NTFS feels a lot outdate against any other FS, plus It helps a lot to the people (like me) that works half time on Linux, half time on Windows. Instead of keep the shared data on NTFS, I could dream of using BTRFs and keep a time machine like system using snapshots....
Btrfs isn't there yet in terms of stability and who knows if it ever will be with current implementation. Ext4 doest have snapshots or data integrity as ZFS..
Sorry I don't want to nitpick but just in case someone is considering it.. Do your research about filesystem first. ZFS has no equal at this time.
BTRFS is in a perpetual beta because the developer(s) haven't been able to iron out all the bugs. Not even the filesystem format has stabilized yet.
(Open)ZFS, on the other hand, has ten years of enterprise production use under its belt. And versioned filesystem and feature flags, so the latest OpenZFS can read all its previous versions (and ignore unknown feature flags) without breaking backward compatibility. Like the other commenter stated, it has no equal right now. Closest thing to ZFS, conceptually, is the Oracle automatic storage management (ASM). While ASM is available on Windows, ZFS is not, but FUSE might actually let you run it. Might.
You don't. Dokany allows a user-mode application to expose its own virtual drive.
Examples of possible use cases:
- Mount a zip file as a drive letter
- Mount an ftp site as a drive letter
- Mount an Android device as a drive letter
In all the above cases, there's ways to view zip files, ftp sites, and Android devices in Explorer; but you can not open these files in any application you want unless they are copied to a local disk.
Just for kicks I just ported mp3fs to Cygwin using WinFsp and Cygfuse. It is getting to dinner time and I have to be with the family, but I will post more on this in a day or two.
I'll just point out for anyone interested in trying this, expect BSODs: https://github.com/dokan-dev/dokany/issues/344.
I'm also not sure how the Win10 Anniversary driver signing changes have affected the project - they're relying on a commercial sponsor for the signed releases.
Alternative: https://github.com/billziss-gh/winfsp
Paid alternative: https://www.eldos.com/cbfs/
There have also been a number of other discussions here, but I should get back to work instead of digging those up.