/docsFilesys.txt
\                                                                    vandys
7010 7020 thru \ Load filesystem source
Filesystem to be built on top of blocks

Still primarily work in terms of block numbers
Provide "safety net" for block changes for source code blocks
Hierarchy of uses of blocks
Pre-allocation, with block metadata to indicate:
 Block in use/valid
 Block is available, currently empty
 Block is untouchable; sentinel for end of file

Pre-allocation for all "files"
Pre-allocation for "projects"
 A project is one or more directory blocks
  Directory is a block range followed by a description
  Human editable, but also machine readable
  Space after directory is allocated sequentially to new objects
  Primitives can allocate (directory entry added), insert space, etc.
 An entry in a project can point to a sub-project
  File metadata indicates directory versus file, etc.




\                                                                    vandys
Block access numbering

First, make it easy to access other vocabularies by adding the voc.id
extension so if a string isn't found using the usual search a dot will
make a search in "voc" for "id".

Use a vector which can remap the indicated block #.  By default, it's
1:1 with physical disk, but once you active the FS it does a mapping.
So once FS is used, you never use actual block #'s, but instead do
things like:

fs.cd /home/andy
fs.open notes   fs.open vi
fs.notes list, fs.notes v, etc.
fs.vi# thru
fs.notes close

Don't let multiple files of same name open at same time.  Share vocab
across all sessions.  Allocate space when sucking in "fs" definitions,
so nothing's forgotten unless "fs" itself is removed.  Need to think
about what techniques needed to thread "fs" specially into dynamic
list of files.