Hacker News new | ask | show | jobs
by molticrystal 2631 days ago
Since the place is being hugged to death as of this comment, I found an archive http://archive.ph/ZgDeT

For those looking at alternatives there is WinFSP [1] source code [2]. It is dual licensed as Open Source GPLv3 and Commercial and includes a FUSE 2.8 and FUSE 3.2 compatibility layer via fuse/fuse.h & fuse3/fuse.h

[1] http://www.secfs.net/winfsp/

[2] https://github.com/billziss-gh/winfsp

2 comments

Speaking of alternatives, there's also Dokan:

https://dokan-dev.github.io/

Good call. and it looks like it attempts to be compatible with FUSE 2.7 https://github.com/dokan-dev/dokany/blob/master/dokan_fuse/i...

I used to use Dokan based program for mounting ftp.

That's hardly an "alternative". It's basically one of the oldest and more mature projects in the area. I remember prototyping things with it 10 or so years ago and it was already of a very good quality.
The alternative project has no FUSE low-level API support. This is required to implement any real file system with FUSE on windows. Also they have dependency on cygwin project if your code requires some POSIX semantics, which they all do since most of the FUSE projects are from Linux.

Crossmeta is just NOT about FUSE, it can also provide POSIX capabilities similar to Microsoft WSL. More here https://github.com/crossmeta/sys/

It has NO low level fuse api https://github.com/billziss-gh/winfsp/issues/94

Newer FUSE version 3 mostly address their limitations within Linux implementation. It adds support for concurrent writes and large transfer beyond 4KB. Crossmeta FUSE is look alike of Linux FUSE but the implementation does not inherit those limitations. It requires to do large concurrent transfer 128KB from Windows NT cache manager. I have to work the sshfs code to handle this since it was not exposed to such large transfer.