diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/cwfs/doc/changes |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/cwfs/doc/changes')
-rwxr-xr-x | sys/src/cmd/cwfs/doc/changes | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/sys/src/cmd/cwfs/doc/changes b/sys/src/cmd/cwfs/doc/changes new file mode 100755 index 000000000..e1f8a02ac --- /dev/null +++ b/sys/src/cmd/cwfs/doc/changes @@ -0,0 +1,68 @@ + changes to Ken's file server to make this 63-bit file server + + Geoff Collyer + July—October 2004 + +note: 2⁶=9,223,372,036,854,775,808 or 8EB (9.2×10ⁱ⁸) + +• identified longs that refer to offsets, sizes and block numbers, and +changed them to type Off (vlong); fixed all print formats to match. +fixed byte-swapping for the 'x' config to match. + +• fixed VLONG 9p1 message packing and unpacking macros to actually +handle 64-bit offsets and sizes. + +• implemented triple-indirect blocks. affected code in + dev/cw.c port/con.c port/dentry.c port/sub.c + port/chk.c port/console.c port/portdat.h + +• Fri Aug 6 16:50:59 PDT 2004 + ; ./sizes + Plan 9 v4 63-bit file server + sizeof(Dentry) = 124 + sizeof(Cache) = 88 + +• added long(er) file name components (56 bytes), long enough for all but one + name in my /.longnames file (68-byte .xml name). + +• Fri Aug 6 21:43:41 PDT 2004 + ; ./sizes + Plan 9 v4 63-bit file server sizes + sizeof(Dentry) = 160 + sizeof(Cache) = 88 + +• touched up lib.h (from libc.h) to bring it up to date with formatting + functions, verbs & flags. +• check now reports stack usage: 320 bytes upon entry to fsck first time, + 92 bytes of stack per recursion. given 16000 bytes of stack, + that's 170 recursions maximum. +• booted xtc (terminal) from fs64 (used fs64 as main file system) + +note: current file server with triple-indirect blocks at 4k block size + has a maximum file size of ~505GB (5.42×10ⁱⁱ). + with quadruple-indirect blocks, max would be ~275TB @ 4k block size. + +• got igbe fs driver working (a couple small changes) +• eliminated some gotos (started with 580, down to 454) +• added quadruple indirect blocks: lets us reach 2⁶ with a 32kB block size +• got igbe boot driver & pxe booting working +• on-disk qid paths are now Offs, but 9p1 qids on the wire are still ulongs +• generalised & parameterised indirect block implementation +• tested with plain w0 fs, cached fake worm on w0, cw jukebox (hp 160fx) +• ip directories in fs & fs64 are identical except for whitespace and + goto-elimination +• replaced most of nemo's ide code with newer ide code lifted from 9load, + then from cpu kernel (sdata.c & support). this brings us dma, rwm & lba48, + finds ide controllers by itself, even pci ones, & copes with dead drives + (i.e., doesn't panic). +• fixed long-standing bug that caused a 5-second delay before each console + prompt on systems without a serial console. +• further type parameterisation: Userid (short), Timet (long), Devsize (vlong). + Comment on v7 kernel portability work, quoting scj & dmr from BSTJ v57 + #6 part 2., p. 2038: ``The important data types used within the + system were identified and specified using typedef: disk offsets, + absolute times, internal device names, and the like. This effort was + carried out by K. Thompson.'' +• corrected compat.h dependencies in mkfiles +• eliminated all warnings +• implemented truncation via wstat |