Peter Jeremy writes:
> On 2000-Jun-22 15:22:12 -0500, Chris Dillon <[EMAIL PROTECTED]> wrote:
> >I think it would be a very good idea to enable softupdates by default
> >when a new filesystem is created.  Modify newfs to do this and use
> >tunefs only if you want to _disable_ softupdates on a filesystem.  
> My only concern with doing this is softupdates behaviour when disk
> space is freed.  If you delete a file, it takes about 20 seconds for
> the space occupied by the file to appear in the free list.  If you
> have relatively little free disk space and write another file, you
> can get `disk full', even though there will be sufficient free space
> when the freed blocks become available.


> This has bitten a number of people who have turned softupdates on for
> their root filesystems - and had installworld die.

I get bit by "make install" for the kernel under those conditions.

The other side effect is with scripts that rearrange disk space and
then want to report on remaining space - df returns the out-of-date
answer. I know - this is a multitasking OS, so you have to live with
that kind of thing, but it shouldn't be quite so blatant.

> Whilst the solution to this appears obvious (if you can't allocate a
> block, but there are free blocks on the to-be-commited list, wait for
> free space to become available), actually implementing it is quite
> difficult if you want to avoid deadlocks.  Kirk has previously
> recommended that softupdates not be enabled on a filesystem unless it
> has sufficient free space to absorb about 1 minute's writes.

The "obvious solution" won't fix the second problem I see. The
solution to that one sould be that a "sync" on the file system in
question does what you expect it to do (and now several someones can
point out the discussion of why this doesn't work, right?). That fixes
the second problem, and provides a workaround for the first problem if
you really need it.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to