23 July 2008
Aliases: 9bind(1), 9umount(1)
9mount, 9bind, 9umount - mount/unmount 9p filesystems
9mount [ insuvx ] [ -a SPEC ] [ -c CACHE ] [ -d DEBUG ] [ -m MSIZE ] DIAL MOUNTPT
9bind OLD NEW
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:
9bind performs a bind mount, making the tree visible at directory OLD also visible at mount point NEW.
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. Supported modes are loose (suitable for exclusive read-only mounts), fscache, and mmap.|
|-d DEBUG||comma seperated 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. Must be less than or equal to 8192 for non-root users.|
9umount unmounts a 9p filesystem previously mounted by you.
|$USER||the uname to provide to the server.|
|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|
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.