fuser
fuser copied to clipboard
using helloworld example with mount
Hi everyone!
Thank you again for that nice crate!
I've been using it to implement a fuse driver for pcloud but I'm having some issue to make it work with mount
or systemd
. So I went back to basics and tried to use it with one of your examples, the hello-world
.
I created a simple project, built it, put it in /usr/local/bin/hello-world-fuse
and updated my /etc/fstab
as follows
hello-world-fuse /mnt/hello-world fuse ro,allow_other
But when I run sudo mount /mnt/hello-world
, it hangs... Am I doing something wrong?
Thanks!
Hmm, unfortunately I've never tried using a fuser
binary as part of fstab
. The only thing I can think of is that maybe it's expecting some kind of handshake that fuser doesn't perform properly. I would try enabling the MountOption::AutoUnmount
option. That goes through a different code path, so could have different behavior.
Enabling MountOption::AutoUnmount
doesn't change anything 🤔
This may not be working because /usr/local/bin is probably removed from the PATH search when mount.fuse
is eventually executed. You could try see if putting hello-world-fuse in /sbin works for you. This may or may not work.
My preferred way to support fstab (or systemd) mounts is to create a filesystem specific mounting binary mount.fstype
in your case e.g. mount.helloworld
(avoid -
's etc because systems are weird)
If we implemented it as a shell script that looks like this:
#!/bin/sh
/usr/bin/local/hello-world-fuse mount "$@"
Some notes: You just have to take care that your binary accepts mount compatible options in args.
I've indicated that below by introducing a sub-command called mount
-- you have to accept -t
for filesystem type, i would suggest using that to name your fuse filesystem and make sure you accept -o
...
Hopefully this helps.