Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
.TH MNT 3 
2
.SH NAME
3
mnt \- attach to 9P servers
4
.SH SYNOPSIS
5
.nf
6
.B #M
7
.fi
8
.SH DESCRIPTION
9
The
10
.I mount driver
11
is used by the
12
.B mount
13
system call
14
(but not
15
.BR bind ;
16
see
17
.IR bind (2))
18
to connect the name space of a process to
19
the service provided by a 9P server over a communications channel.
20
After the
21
.BR mount ,
22
system calls involving files in that portion of the name space will
23
be converted by the mount driver into the appropriate
24
9P messages to the server.
25
.PP
26
The
27
.I mount
28
system call issues
29
.I session
30
and
31
.IR attach (5)
32
messages to the server to identify and validate the user of the connection.
33
Each distinct user of a connection must mount it separately;
34
the mount driver multiplexes the access of the various users and their
35
processes to the service.
36
.PP
37
File-oriented system calls are converted by the kernel into messages in the 9P protocol.
38
Within the kernel, 9P is implemented by procedure calls to the
39
various kernel device drivers.
40
The mount driver translates these procedure calls into remote procedure calls
41
to be transmitted as messages over the communication channel to the server.
42
Each message is implemented by a write
43
of the corresponding protocol message to the server channel
44
followed by a read on the server channel to get the reply.
45
Errors in the reply message are turned into system call error returns.
46
.PP
47
A
48
.IR read (2)
49
or
50
.IR write
51
system call on a file served by the mount driver
52
may be translated
53
into more than one
54
message,
55
since there is a maximum data size for a 9P message.
56
The system call
57
will return when the specified number of bytes have been transferred
58
or a short reply is returned.
59
.PP
60
The string
61
.L #M
62
is an illegal file name,
63
so this device can only be accessed directly by the kernel.
64
.SH "SEE ALSO"
65
.IR bind (2)
66
.SH SOURCE
67
.B /sys/src/9/port/devmnt.c
68
.SH BUGS
69
When mounting a service through the mount driver,
70
that is, when the channel being multiplexed is itself
71
a file being served by the mount driver,
72
large messages may be broken in two.