1.1 KiB
Executable file
1.1 KiB
Executable file
title |
---|
plan9 FS |
Digested from:
- https://www.usenix.org/legacy/events/usenix05/tech/freenix/full_papers/hensbergen/hensbergen.pdf
- https://www.kernel.org/doc/Documentation/filesystems/9p.txt
- http://ericvh.github.io/9p-rfc/rfc9p2000.html
- http://ericvh.github.io/9p-rfc/rfc9p2000.u.html
- https://9fans.github.io/plan9port/man/man4/9pfuse.html
- https://github.com/pfpacket/rust-9p/tree/master/example/unpfs
9p2000 Opcodes
All messages take a tag
parameter used to multiplex connections
Session
- version
- parameter negotiations
- auth
- T
- afid: auth handle??
- uname
- username
- aname: mount name (root if blank)
- T
- attach
- establish connection to server
- T
- fid is file handle, chosen by client?
- afid is an 'auth handle'
- -1 for no auth
- uname
- aname
- R:
- flush
- abort request
- error
File
- walk
- lookup pathname
- open
- create
- read
- write
- clunk
- release a file?
Metadata
- stat
- read metadata attrs
- wstat
- write metadata attrs
- Requests are T-messages
- responses are R-messages