3 bind, mount, unmount \- change name space
10 int bind(char *name, char *old, int flag)
13 int mount(int fd, int afd, char *old, int flag, char *aname)
16 int unmount(char *name, char *old)
21 modify the file name space of the current process and other
22 processes in its name space group
27 is the name of an existing file or directory in the
28 current name space where the modification is to be made.
35 except that no translation of the final path element is done.
40 is the name of another (or possibly the same)
41 existing file or directory in
42 the current name space.
47 is an alias for the object originally named by
49 if the modification doesn't hide it,
51 will also still refer to its original file.
54 happens at the time of the
56 not when the binding is later used.
62 is a file descriptor of an open network connection
63 or pipe to a file server, while
65 is a authentication file descriptor as created by
67 and subsequently authenticated.
68 If authentication is not required,
73 file must be a directory.
80 will be visible with its root directory having name
85 controls details of the modification made to the name space.
91 or the root directory served by
95 and new files must be directories,
96 or both must not be directories.
105 Henceforth, an evaluation of
107 will be translated to the new file.
108 If they are directories (for
110 this condition is true by definition),
114 consisting of one directory (the new file).
119 and new files must be directories.
120 Add the constituent files of the new directory
121 to the union directory at
123 so its contents appear first in the union.
129 the new directory will be searched first when evaluating file names
130 in the union directory.
135 but the new directory goes at the end of the union.
138 The flags are defined in
140 In addition, there is an
142 flag that can be OR'd with any of the above.
147 attempts to create in a union directory, and the file does not exist,
148 the elements of the union are searched in order until one is found
152 The file is created in that directory; if that attempt fails,
161 only, turns on caching for files made available by the mount.
162 By default, file contents are always retrieved from the server.
163 With caching enabled, the kernel may instead use a local cache to satisfy
165 requests for files accessible through this mount point.
166 The currency of cached data for a file is verified at each
168 of the file from this client machine.
174 must be open for reading and writing
175 and prepared to respond to 9P messages
179 the file tree starting at
181 is served by a kernel
184 That device will turn operations in the tree into messages on
187 selects among different
188 file trees on the server; the null string chooses the default tree.
192 is automatically closed by a successful
204 is zero, everything bound to or mounted upon
206 is unbound or unmounted.
209 is not zero, it is evaluated as described above for
211 and the effect of binding or mounting that particular result on
215 .B /sys/src/libc/9syscall
227 The return value is a positive integer (a unique sequence number) for
228 success, -1 for failure.
233 will not return until it has successfully attached
234 to the file server, so the process doing a
236 cannot be the one serving.