xref: /plan9/sys/doc/fs/p0 (revision 1c9e5a6c40ada6e3ab92ef50af8a5afeb33c6858)
.HTML "The 64-bit Standalone Plan 9 File Server .TA 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i

1 .TA 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i ..

2 .. delim $$ .EN .FP lucidasans

The 64-bit Standalone Plan 9 File Server .AU Ken Thompson* ken@plan9.bell-labs.com .FS \l'4i'

* now .CW ken@entrisphere.com
ken@google.com .FE .AU Geoff Collyer geoff@plan9.bell-labs.com .AI .MH .AB This paper is a revision of Thompson's "The Plan 9 File Server" , and describes the structure and the operation of the new 64-bit Plan 9 file servers. Some specifics apply to the 32-bit Plan 9 file server Emelie, which code is also the basis for the user-level file server kfs .

In 2004, Collyer created a 64-bit version of Thompson's 32-bit file server, updating all file offsets, sizes and block numbers to 64 bits. In addition, triple- and quadruple-indirect blocks were implemented. File name components were extended from 27 to 55 bytes. This code is also the basis for the user-level file server cwfs (4). .AE

Introduction

The Plan 9 file server Emelie is the oldest piece of system software still in use on Plan 9. It evolved from a user-level program that served serial lines on a Sequent multi-processor. The current implementation is neither clean nor portable, but it has slowly come to terms with its particular set of cranky computers and devices.

The file server fs64 runs a revision of Emelie's code with 64-bit file sizes, offsets and block numbers and indirect blocks from single to quadruple. Actually these are 63-bit values, since the type used is vlong (signed "long long" integer), but 63 bits should suffice for a little while.