Allow mounting to non-existing mount points
overheadhunter opened this issue · comments
During an attempt to mount, jnr-fuse checks whether the mount point is an existing directory. If it is not, an exception is thrown:
ru.serce.jnrfuse.FuseException: Mount point should be directory
at ru.serce.jnrfuse.AbstractFuseFS.mount(AbstractFuseFS.java:263)
... 15 common frames omitted
There is already an exception for winfsp:
jnr-fuse/src/main/java/ru/serce/jnrfuse/AbstractFuseFS.java
Lines 254 to 259 in 4b97249
There are, however, further cases in which it is desirable to mount to a non-existing directory. According to this commit to sshfs FUSE has certain workarounds:
In order to allow non-privileged users to mount FUSE volumes under /Volumes FUSE will create
non-existent mount points automatically.
Therefore I kindly request to either disable this check completely (let the software depending on jnr-fuse take care of it) or add an overloaded method, e.g. public void mount(Path mountPoint, boolean blocking, boolean debug, boolean requireMountPointToExist, String[] fuseOpts)
.
Thank you ❤️
Hey, @overheadhunter!
Thank you for your patience. Looking at osxfuse, removing the check seems reasonable to me. That way, jnr-fuse
will more closely resemble fuse
.
Would you be able to open a PR? If not, I'll try to take a look at this sometime during the next week.