|
|
1.1 ! root 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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.