3 exportfs, srvfs \- network file server plumbing
29 is a user level file server that allows Plan 9 compute servers, rather
30 than file servers, to export portions of a name space across networks.
31 The service is started either by the
33 command or by a network listener process. An initial protocol
34 establishes a root directory for the exported name space.
38 is then mounted, typically on
41 then acts as a relay file server: operations in the imported file
42 tree are executed on the remote server and the results returned. This
43 gives the appearance of exporting a name space from a remote machine
44 into a local file tree.
56 if requested by the initial protocol.
59 Authenticate the user with the
61 protocol before running the regular
65 is invoked to handle an incoming network connection.
67 creates a new name space for each connection, using
78 serve that network connection.
79 Requires setting the root of the name space with
83 The remote system should run
97 .B -e '\fIenc auth\fL'
98 Set the encryption and authentication algorithms to use for
99 encrypting the wire traffic (see
107 Set the maximum message size that
109 should offer to send (see
112 9P connections to avoid unnecessary fragmentation.
115 Serve the name space described by
119 Disallow mounts by user
123 Restrict the set of exported files.
125 contains one regular expression per line,
126 to be matched against path names
127 relative to the current working directory
130 For a file to be exported, all lines with a prefix
132 must match and all those with prefix
137 Make the served name space read only.
140 Bypass the initial protocol, serving the name space rooted at
144 bypass the initial protocol, serving the result of mounting
146 A separate mount is used for each
149 to correctly handle servers in which each mount
150 corresponds to a different client
158 kept for compatibility.
165 to serve device files in the terminal. The
169 on a remote machine, permitting users to access arbitrary pieces of
170 name space on other systems.
172 Because the kernel disallows reads and writes on mounted pipes
173 (as might be found in
176 calls itself (with appropriate
180 options) to simulate reads and writes on such files.
187 to create a mountable file system from a name space
190 which is created with mode
193 The name space is the directory tree rooted at
200 options, if present, are relayed to
203 To export the archive of one user for one month, except for secrets,
207 echo '+ ^/(2003(/10..(/usr(/glenda/?)?)?)?)?' > /tmp/pattern
208 echo '- \e.(aes|pgp)$' >> /tmp/pattern
209 exportfs -P /tmp/pattern
214 to enable mounting of an FTP file system (see
221 with a broken process so a remote person may debug the program:
225 srvfs broke /mnt/term/proc
230 to obtain a copy of a service to be manipulated directly
231 by a user program like
235 srvfs nfs.boot /srv/boot
236 aux/nfsserver -f /srv/nfs.boot
241 to spy on all accesses to a particular subtree:
245 tail -f /tmp/exportdb &
246 mount /srv/spy /n/spy
250 .B /sys/src/cmd/exportfs
252 .B /sys/src/cmd/srvfs.c