NAME
perfused —
PUFFS Enabled Relay to FUSE
Daemon
SYNOPSIS
perfused |
[-fs]
[-d types]
[-i -fd] |
DESCRIPTION
perfused is a userland daemon implementing the FUSE kernel
level API. It creates a
/dev/fuse socket for FUSE file
system daemons to connect to.
perfused takes care of
mounting the file system using
puffs(3).
When the kernel sends a
puffs(3)
operation for the mounted file system,
perfused will
translate it into a FUSE request, and will send it to the file system daemon
through
/dev/fuse. The FUSE reply will be converted back
into a
puffs(3) reply and will be
relayed to the kernel.
FUSE file system daemons must be modified so that they request
perfused to perform the
mount(2) system call instead of
doing it on their own. This is done by replacing
mount(2) and the
open(2) calls for
/dev/fuse with
perfuse_mount() and
perfuse_open(), respectively, in their sources.
libperfuse(3) must be used
at link time. Most FUSE file system daemons use
libfuse and
will work unmodified, provided the modification is done in
libfuse itself .
The following options are available:
-
-
- -d
types
- Print additional debug information.
types is a comma-separated list of information types
to print:
-
-
- puffs
- Display PUFFS requests and replies.
-
-
- fuse
- Display FUSE requests and replies.
-
-
- dump
- Dump content of FUSE frames.
-
-
- fh
- Display file handle activity.
-
-
- reclaim
- Display reclaim activity.
-
-
- readdir
- Display readdir activity.
-
-
- requeue
- Display requeue activity.
-
-
- sync
- Display dirty flags and sync operations.
-
-
- -f
- Do not fork, but stay in the foreground.
-
-
- -i
fd
- Do not open /dev/fuse but use the socket
available from the file descriptor fd. This is used
when perfused is started from
libperfuse(3).
-
-
- -s
- Enable debug output only when receiving
SIGINFO
.
ENVIRONMENT
See
libperfuse(3) for
environment variables affecting
perfused behavior.
SIGNALS
-
-
SIGINFO
- If the -s flag was used, toggle debug
output. Do nothing otherwise.
-
-
SIGUSR1
- Toggle FUSE operation dump on and off. When toggling off,
the trace is is stored in /var/run/perfuse-xxx.trace
(xxx is the filesystem mount point).
ERRORS
The program logs to the syslog daemon as facility “daemon”. For
detailed debugging use the
-d (debug) option.
SEE ALSO
mount(2),
perfuse_mount(3),
puffs(4)
AUTHORS
The program was written by
Emmanuel Dreyfus
⟨manu@NetBSD.org⟩.
BUGS
When
perfused runs in the foreground (using the
-f flag), some processes using the FUSE file system will
sometime hang on ‘uvn_fp2’.