Marcus,
        I think you missed understood my points.  This discussion
started up over why sparse files did or did not work on SGI's version
of Unix(TM).  I tried to explain a little history.  I was trying to
give enough context to help folks understand what had happened.

        I was >>not<< try to make System V or BSD look good or bad.
IMHO, UFS (aka BSD FF) is far ``better'' than the V7 family - and it
was ``silly'' that System V did not pick it up sooner.  But that
was not the issue being debated.

        All I was trying to imply is that many, many vendors can not
use >>either<< file system -- for two primary reasons in this case:
performance and predicability.  Some other reasons to not use
either are:  reliablity, fault tolerance, fast restart, etc...
I'm sure there are many more reasons that I have not listed.

        As for Extent-Based File Systems, yes they have been
around for a very long time.  As you point out, UCSD-P used them, as
did most of the Digital family (DOS-8, DOS-11, RT-11, RSTS, RSX-11*
VMS, TSS-8, TOPS, TENEX etc) [Some of us are, sadly, old enough to have
used all of those systems, sigh...] I'm fairly sure extent-based
file systems were used by Perkin_Elmer, DG, and probably IBM and
others too.  They >>have<< been around for a very long time.  And,
as you point, they are not an be-all-and-end-all.  They have their
problems also.  There are always design trade-offs everywhere --
that is, what we, as engineers get paid for...

        On the on hand, when UNIX started being ``overhauled''
by folks in the ``Scientific Computing'' Business, its current
family of file systems did not work well (for different reasons).
The trade-offs made in the V7 and BSD family, were often not appropriate
This was not an issue of getting ``frustrated'' with the V7 file system.
If you take Masscomp alone, a quadratic block search (like BSD FF
has in it) will not do in a ``real-time'' system.  Similarly,
for Stellar and I would expect SGI, when N-way striping files for
very fast FORTRAN I/O, you need to ``know'' where the blocks are.
While the BSD FF file system is ``better'' -- it is just not cool for
those uses.
        On the other hand, some of the extent-based tricks cause a few
nuisances for general time-sharing (like disk compression).  In fact
to pick on Masscomp, we never wrote our own ``compact file system'' 
program [eventually somebody, David Arnovitz, did and put it in their
user group library].

        Similarly, as UNIX went into the ``Commerial'' business,
the file systems were again overhauled -- TTS (now called Veritas)
built a ``log structured file system for their UNIX.  As you point
out, IBM built JFS.  Digital built its AdvFS.  BSD built one also.
>>>And there have been many others in non-UNIX systems.  I'm not
trying to be complete... just trying to explain how we got here!!<<<

        As for the whole issue of what got Info-AFS here... sparse
files -- you are right few programs use them.  But they are used.
Look at your fsck messages.  The ``POSSIBLE FILE SIZE ERROR''
message [note to tjk - man if we could change one message in our
past lives....].  This is fsck telling us that it found a sparse
file.  On my file server I tend to get 5-10 of them on my root.
        Now there >>was<< an argument for them, which when UNIX
was young, did hold water.  In the old days of >>Version 5<<, you
know before Honeyman... ;-) RK05 disks had 4820 blocks -- yes folks
2.4 megs.  That was your root file systems and you had another for
/usr (none of the /home stuff).  In those days, RK05 >>drives<<cost
about $6k-8K and the disk packs (single platter) cost a few hundred
(cost per meg is left as an exercise...) Making the file sparse could
just save you a block or two and that was always cost effective.
However.... in the days of storage that cost 1/Megabyte, saving
a few blocks on the disk may not be worth it.  Certainly, trading
the storage savings vs the predicable behavior in RT systems - it's
not worth it

        So.... to close......

        Not all UNIX ``physical'' file systems have sparse files.
There is no requirment (POSIX or the like) for them.  Thus ``layered''
file systems like AFS, Ficus or CFE, will ``inherit'' the storage
behavior of the physical filesystem (BSD FF, EFS, Veritas etc)..

        Now lets get this discussion back to AFS issues....

Clem

Reply via email to