[systemd-devel] Unit configuration for FUSE file system

Stef Bon stefbon at gmail.com
Wed May 2 01:25:36 PDT 2012


2012/4/29 Nikolaus Rath <Nikolaus at rath.org>:
> Hello,
>
> I am struggling to come up with the correct way to define a unit
> configuration for a FUSE based network file system.
>
> Generally, the file system needs to be mounted and unmounted with its
> own programs (rather than with mount and umount). The main reason for
> the custom umount command, however, is that it uses some /proc based
> hacks to block until the mount process has actually exited (this may
> take quite some time even after the mountpoint has been freed, because
> cached data is may still be transferred over the network).
>
> Things I am confused about:
>
> Is there a way to express this in a .mount unit, or do I need to declare
> this as a more general .service?

Hi,

the way I see it is that FUSE filesystems are not just like any other
mount, more a program which happens to be a filesystem.

So I think it's the best choice to handle it like a "normal" program,
and make use of a pidfile, which systemd can watch (or make use of a
dbus service, but that's probably not the case).

Your program should remove the pid file when finished, and should
react on  signal (this is configurable) to finish, and should take of
unmounting itself.
Bottom line is that systemd does not take care of the (u)mounting, but
stopping and starting of the program. The FUSE fs should take care of
the (u)mounting. This means probably a wrapper.

Stef


More information about the systemd-devel mailing list