freebsd-src/share/man/man5
Doug Rabson e97ad33a89 Add an implementation of the 9P filesystem
This is derived from swills@ fork of the Juniper virtfs with many
changes by me including bug fixes, style improvements, clearer layering
and more consistent logging. The filesystem is renamed to p9fs to better
reflect its function and to prevent possible future confusion with
virtio-fs.

Several updates and fixes from Juniper have been integrated into this
version by Val Packett and these contributions along with the original
Juniper authors are credited below.

To use this with bhyve, add 'virtio_p9fs_load=YES' to loader.conf. The
bhyve virtio-9p device allows access from the guest to files on the host
by mapping a 'sharename' to a host path. It is possible to use p9fs as a
root filesystem by adding this to /boot/loader.conf:

	vfs.root.mountfrom="p9fs:sharename"

for non-root filesystems add something like this to /etc/fstab:

	sharename /mnt p9fs rw 0 0

In both examples, substitute the share name used on the bhyve command
line.

The 9P filesystem protocol relies on stateful file opens which map
protocol-level FIDs to host file descriptors. The FreeBSD vnode
interface doesn't really support this and we use heuristics to guess the
right FID to use for file operations.  This can be confused by privilege
lowering and does not guarantee that the FID created for a given file
open is always used for file operations, even if the calling process is
using the file descriptor from the original open call. Improving this
would involve changes to the vnode interface which is out-of-scope for
this import.

Differential Revision: https://reviews.freebsd.org/D41844
Reviewed by: kib, emaste, dch
MFC after: 3 months
Co-authored-by: Val Packett <val@packett.cool>
Co-authored-by: Ka Ho Ng <kahon@juniper.net>
Co-authored-by: joyu <joyul@juniper.net>
Co-authored-by: Kumara Babu Narayanaswamy <bkumara@juniper.net>
2024-06-19 13:12:04 +01:00
..
a.out.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
acct.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
ar.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
bluetooth.device.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
bluetooth.hosts.5 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
bluetooth.protocols.5 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
boot.config.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
core.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
devfs.conf.5 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
devfs.rules.5 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
device.hints.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dir.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
disktab.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
elf.5 Fix typos in man pages under /share/man 2024-01-02 17:53:25 +00:00
ethers.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
eui64.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fbtab.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
forward.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
freebsd-update.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fs.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
fstab.5 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
group.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
hesiod.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
hosts.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
hosts.equiv.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
hosts.lpd.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
intro.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
libmap.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
link.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mailer.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
make.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
Makefile Add an implementation of the 9P filesystem 2024-06-19 13:12:04 +01:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
moduli.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
motd.5 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mount.conf.5 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
networks.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
nsmb.conf.5 smbfs manuals: describe consistently 2024-05-30 19:29:17 -06:00
nsswitch.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
os-release.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
p9fs.5 Add an implementation of the 9P filesystem 2024-06-19 13:12:04 +01:00
passwd.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
pbm.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
periodic.conf.5 periodic/daily/801.trim-zfs: Add a daily zfs trim script 2024-04-09 15:55:11 -06:00
pf.conf.5 pf.conf.5: remove 'set limit tables' 2024-06-07 20:59:02 +02:00
pf.os.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
phones.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
portindex.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
protocols.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
quota.user.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
rc.conf.5 rc.subr: add new sysv option for service jails 2024-06-14 20:15:45 +02:00
rctl.conf.5 Correct the example: use maxproc instead of nonexistent nproc 2023-10-06 09:02:30 +00:00
regdomain.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
remote.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
resolver.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
services.5 services.5: describe better 2024-04-29 08:22:39 -06:00
shells.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
src.conf.5 src.conf.5: Regen 2024-05-22 17:02:26 +00:00
stab.5 share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
style.Makefile.5 Update HISTORY section. 2023-09-06 23:36:27 -07:00
style.mdoc.5 style.mdoc.5: maintenence 2024-04-12 16:29:25 -06:00
sysctl.conf.5 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00