9mount(1) mount/unmount 9p filesystems

Other Alias

9bind, 9umount

SYNOPSIS

9mount [ insuvx ] [ -a SPEC ] [ -c CACHE ] [ -d DEBUG ] [ -m MSIZE ] DIAL MOUNTPT

9bind OLD NEW

9umount MOUNTPT

DESCRIPTION

9mount mounts a 9p filesystem served at DIAL on MOUNTPT. MOUNTPT must be writable by you and not sticky. DIAL is a dial string assuming one of the forms:

unix!SOCKET
tcp!HOST[!PORT]
virtio!CHANNEL
-

where SOCKET is the name of a file representing a socket, HOST is a hostname, PORT is a port number or service name, and CHANNEL is a virtio channel name (currently ignored). - indicates that 9p messages should be read/written on stdin/stdout. 9mount has several options:

-i
mount the file system with your uid/gid
-n
dry-run, print mount command to stderr but don't actually mount anything
-s
single attach mode - all users accessing the mount point see the same filesystem (by default they'll each see a unique attach)
-u
use the 9P2000.u extensions
-v
use device mapping
-x
exclusive access - other users cannot access the mount point
-a SPEC
SPEC determines which file tree to mount when attaching to file servers that export multiple trees
-c CACHE
turns on caching using CACHE mode. Currently only loose cache mode is available, which is suitable for exclusive read-only mounts.
-d DEBUG
comma separated list of channels for which to enable debug output. Possible channels include: err, devel, 9p, vfs, conv, mux, trans, alloc, fcall.
-m MSIZE
specifies the maximum length of a single 9p message in bytes.

9bind performs a bind mount, making the tree visible at directory OLD also visible at mount point NEW.

9umount unmounts a 9p filesystem previously mounted by you.

ENVIRONMENT

$USER
the uname to provide to the server.

EXAMPLES

9mount -i 'unix!/tmp/ns.'$USER'.:0/factotum' $HOME/n/factotum
mount p9p's factotum interface
9mount 'tcp!sources.cs.bell-labs.com' $HOME/n/sources
import plan 9's "sources"
9mount -u -a/home/sqweek/mail 'tcp!wren!5640' $HOME/mail
import my maildir from my server(wren), being served by ufs
9mount -i 'tcp!wren' $HOME/n/wren; 9bind $HOME/n/wren/home/sqweek/mail $HOME/mail
again importing my maildir, this time serving via u9fs

BUGS

9mount truncates user names and SPECs to 249 characters. 9umount doesn't know this, so you won't be able to unmount anything outside your home directory. But you probably never bother logging out if your user name is that long.

9mount doesn't update /etc/mtab.

9bind only does a "shallow", non-recursive bind - any mounted filesystems under the OLD tree will not appear mounted in the NEW tree.

If you 9bind a non-9p filesystem outside your home directory, 9umount won't let you unmount it.