rump_syspuffs
—
mount a puffs file server with a userspace puffs loop
file-system PUFFS
pseudo-device putter
rump_syspuffs |
file_server arguments |
The rump_syspuffs
utility can be used to mount any
puffs(3) file server so that the
requests are passed through the kernel puffs code in userspace as well.
Therefore the approximate callgraph looks a little like the following, where k
and u denote code running in the kernel space and userspace, respectively:
puffs vfs (k) → libpuffs (u) → p2k (u) → puffs vfs (u)
→ libpuffs (u) → file server (u). The response path is the same,
but in reverse.
In its current state, rump_syspuffs
is
most useful as a proof of concept for file system distribution and for
developing and debugging the kernel portion of puffs.
Mount a file system with sshfs:
rump_syspuffs mount_psshfs
server.address /mnt
Mount an ntfs file system using ntfs-3g (from
pkgsrc/filesystems/fuse-ntfs-3g), set the default uid to 1323:
rump_syspuffs ntfs-3g -o uid=1323
/path/to/filesystem /mnt
The rump_syspuffs
debugging utility first appeared in
NetBSD 5.0.