SerCeMan / jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)
MIT License
370 stars 88 forks source link

Windows (dokany) support #10

Closed vlad20012 closed 6 years ago

vlad20012 commented 8 years ago

Dokany (windows implementation of userspace filesystem) is currently support FUSE API. It means that jnr-fuse can use Docany as well as linux FUSE implementation. The problem is only in this line - library name. Docan library named as dokanfuse1. Think system property is good solution.

SerCeMan commented 8 years ago

The problem is only in this line

Of course, it is not a problem to me to fix one line, but are you sure about it? I suppose, there are can be a lot of issues on windows. By the way, determining an OS at runtime is a better way to deal with it. Mac OS also has a different lib name.

vlad20012 commented 8 years ago

I confess that I did not sufficiently studied the question. Some time ago I tried to use Dokan-java, at that time it was very bugly library and now it is not maintained at all. But now Dokany support FUSE API fully. And jnr-fuse looks workable. Think if FUSE API supported, any possible issues is issues of Docany FUSE implementations, not this library. And I do not need it now. Just I thought it might someone need.

Found more issues: Unmounting in windows should looks like

new ProcessBuilder(System.getenv("DokanLibrary1")+File.separator+"dokanctl.exe", "/u", mountPoint.toAbsolutePath().toString()).start();

Checking that mount point is directory - in windows mount point can be a drive letter.

ghost commented 8 years ago

Please add windows support :)

SerCeMan commented 6 years ago

Closing as winfsp is supported now.