SerCeMan / jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MemoryFS example is inaccessible on Windows

sugoidogo opened this issue · comments

build.gradle:

plugins {
	id 'java'
	id 'application'
	id 'com.palantir.graal' version '0.6.0-72-gefb17c3'
}
sourceSets {
	main.java.srcDirs = ['src']
}
repositories {
	jcenter()
	mavenCentral()
	maven { url 'https://jitpack.io' }
}
dependencies {
    implementation 'com.github.serceman:jnr-fuse:0.5.3'
}
application{
	mainClassName = 'MemoryFS'
}

I have winfsp 1.5.20002 from Chocolatey v0.10.15
run with gradle run, I mostly get "J:/ is unavailible" when trying to open from Explorer.

Hey, @josephsmendoza! What do you mean by "I mostly get". Is the result different from time to time?

if I keep trying, I can open the drive to see an empty root folder, but any further operations give the same result, including further attempts at opening the drive. Success seems to be random.

I had the same issue when running with the latest WinFsp 2021 from https://github.com/billziss-gh/winfsp/releases/tag/v1.9

Debugging the MemoryFS example showed that the paths being passed to the Java methods were invalid, containing various mysterious characters from what appeared to be wrong memory offsets.

I uninstalled WinFsp and reinstalled an older 2019.2 version which works: https://github.com/billziss-gh/winfsp/releases/tag/v1.4.19049

Somewhere in the range between those WinFsp releases a change broke compatibility between the two projects.

Hope this is helpful for other people that are looking to get started in Windows.

jnr-fuse 0.5.7
winfsp 1.4.19049 or the latest version...
same problem with hellofuse.java/memoryfs.java... sometime i can open the drive, sometimes just 'drive isn't ....'