fs – file server, dump


The file server was the main file system for Plan 9. It was a stand–alone system that ran on a separate computer. It served the Plan 9 protocol via the IL/IP protocols on Ethernets. The name of the main file server at Murray Hill was emelie.

The file server does not require authentication on attach(5) by default. To require all users except none to provide authentication tickets on each attach(5), use the noauth toggle switch command (see fsconfig(8)).

The group numbered 9999, normally called noworld, is special on the file server. Any user belonging to that group has attenuated access privileges. Specifically, when checking such a user's access to files, the file's permission bits are first ANDed with 0770 for normal files or 0771 for directories. The effect is to deny world access permissions to noworld users, except when walking directories.

The user none is always allowed to attach to emelie without authentication but has minimal permissions.

Emelie maintains three file systems on a combination of disks and write–once–read–many (WORM) magneto–optical disks.
is a simple disk–based file system not backed by the worm.
mainis a worm–based file system with a disk–based look–aside cache. The disk cache holds modified worm blocks to overcome the write–once property of the worm. The cache also holds recently accessed non–modified blocks to speed up the effective access time of the worm. Occasionally (usually daily at 5AM) the
modified blocks in the disk cache are dumped. At this time, traffic to the file system is halted and the modified blocks are relabeled to the unwritten portion of the worm. After the dump, the file system traffic is continued and the relabeled blocks are copied to the worm by a background process.
dumpEach time the main file system is dumped, its root is appended to a subdirectory of the dump file system. Since the dump file system is not mirrored with a disk cache, it is read–only. The name of the newly added root is created from the date of the dump: /yyyy/mmdds. Here yyyy is the full year, mm is the
month number, dd is the day number and s is a sequence number if more than one dump is done in a day. For the first dump, s is null. For the subsequent dumps s is 1, 2, 3, etc.
The root of the main file system that is frozen on the first dump of March 1, 1992 will be named /1992/0301/ in the dump file system.

Place the root of the dump file system on /n/dump and show the modified times of the MIPS C compiler over all dumps in February, 1992:
9fs dump
ls –l /n/dump/1992/02??/mips/bin/vc

To get only one line of output for each version of the compiler:
ls –lp /n/dump/1992/02??/mips/bin/vc | uniq

Make the other file system available in directory /n/emelieother:
mount –c /srv/boot /n/emelieother other


yesterday(1), cwfs(4), srv(4), fs(8)
Sean Quinlan, ``A Cached WORM File System'', Software – Practice and Experience, December, 1991

For the moment, the file server serves both the old (third edition) and new (fourth edition) versions of 9P, deciding which to serve by sniffing the first packet on each connection.

Required IL, thus now deprecated.