Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (1) — Plan9 1st Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bind(2)

open(2)

srv(3)

srv(4)

BIND(1)

NAME

bind, mount, unmount − change name space

SYNOPSIS

­bind [ ­option ...  ] ­new old

­mount [ ­option ...  ] [ ­-t ] [ ­-s ­server ] ­servename old [ ­spec ]

­unmount [ ­new ] ­old

DESCRIPTION

­Bind and ­mount modify the file name space of the current process and other processes in the same name space group (see fork(2)). For both calls, ­old is the name of an existing file or directory in the current name space where the modification is to be made. 

For bind, ­new is the name of another (or possibly the same) existing file or directory in the current name space.  After a successful bind, the file name ­old is an alias for the object originally named by new; if the modification doesn’t hide it, ­new will also still refer to its original file.  The evaluation of ­new (see intro(2)) happens at the time of the bind, not when the binding is later used.

The ­servename argument to ­mount is the name of a file that, when opened, yields an existing connection to a file server.  Almost always, ­servename will be a file in ­/srv (see srv(3)). In the discussion below, ­new refers to the file named by the ­new argument to ­bind or the root directory of the service available in ­servename after a ­mount.  Either both ­old and ­new files must be directories, or both must not be directories. 

Options control aspects of the modification to the name space:

(none) Replace the ­old file by the new one.  Henceforth, an evaluation of ­old will be translated to the new file.  If they are directories (for mount, this condition is true by definition), ­old becomes a ­union directory consisting of one directory (the new file). 

­-b Both files must be directories.  Add the new directory to the beginning of the union directory represented by the old file. 

­-a Both files must be directories.  Add the new directory to the end of the union directory represented by the old file. 

­-c This can be used in addition to any of the above to permit creation in a union directory.  When a new file is created in a union directory, it is placed in the first element of the union that permits creation. 

­Mount takes options to specify the level of authentication to perform on the connection.  Option ­-s ­server authenticates the user and checks that the machine answering the request is indeed the desired ­server.  Option ­-t is like ­-s but trusts that the (unspecified) server is the right machine.  If neither ­-s nor ­-t is specified, no authentication is performed, but most file servers will reject the mount.

The ­spec argument to ­mount is passed in the attach(5) message to the server, and selects among different file trees served by the server.

The srv(3) service registry device, normally bound to /srv, is a convenient rendezvous point for services that can be mounted.  After bootstrap, the file ­/srv/boot contains the communications port to the file system from which the system was loaded. 

The effects of ­bind and ­mount can be undone with the ­unmount command.  If two arguments are given to unmount, the effect is to undo a ­bind or ­mount with the same arguments.  If only one argument is given, everything bound to or mounted upon ­new is unmounted. 

EXAMPLES

To compile a program with the C library from July 16, 1992:

mount -t /srv/boot /n/dump dump
bind /n/dump/1992/0716/mips/lib/libc.a /mips/lib/libc.a
mk

SEE ALSO

bind(2), open(2), srv(3), srv(4)

Plan 9  —  January 03, 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026