Subject: Re: LFS v2 problems with full partition
To: Konrad Schroder <perseant@hhhh.org>
From: Andrew Gillham <gillham@vaultron.com>
List: current-users
Date: 07/18/2001 18:11:27
At 05:00 PM 7/18/01 -0700, Konrad Schroder wrote:

>While not good, but that's what I expect to happen when the partition
>fills; the cleaner is just too inefficient in its use of space when almost
>every segment is packed full of data it needs to keep.

At the very least it should not panic right?  It should just stop and return
errors to the caller.

>Does the process you have filling the disk exit with "disk full", or is it
>still writing when the machine panics?

In this case tar is still attempting to fill up the disk when the panic occurs.
I haven't seen a "disk full" error ever.

>If you want to spend some time on it, you can try playing around with the
>"-M" option to newfs_lfs to give yourself more spare segments, but the
>problem that the cleaner can use more space than it frees is a pretty bad
>one.

True.  At some point I would expect to see "disk full" and all writes would
block, but this doesn't happen obviously.

>What should probably happen instead is that the cleaner should recognize
>this condition and *not* clean, leaving the kernel with some segments left
>so a user can remove some files until the cleaner can effectively work
>again; and the kernel has to know how to write blocks required for file
>removal but not any others.  This will require a lot of thought to
>implement.
>                                                 Konrad Schroder
>                                                 perseant@hhhh.org

This happens if I boot single-user and mount the partition also.  I get an
error that lfs_cleanerd can't be started (e.g. it is on /usr which is not 
mounted)
and then it will panic.  So this is really a question of whether the kernel 
panics
because it can't find a free segment, or whether it stops attempting to 
write to
the filesystem.

Let me do some testing with the '-M' option.  I really like the performance of
LFS, particularly the "untar pkgsrc ; rm pkgsrc" test, but I can't have 
something
that will panic in the event a log file overflows or something.

I am totally amazed that I can untar pkgsrc in 24 seconds flat!  Removing 
it takes
about 10 seconds.  (all on an empty LFS partition)
Quick benchmark on freshly newfs'd partitions:
          LFS       FFS
untar    0:24      07:52
rm -fr   0:10      12:53


-Andrew