Subject: Re: about untar performance on -current
To: enami tsugutomo <enami@sm.sony.co.jp>
From: Chuck Silvers <chuq@chuq.com>
List: tech-kern
Date: 04/13/2001 00:42:16
On Fri, Apr 13, 2001 at 09:35:05AM +0900, enami tsugutomo wrote:
> Hi, chuck.
> 
> Chuck Silvers <chuq@chuq.com> writes:
> 
> > however, the XXX comment you added isn't right.  in the sync case we do need
> > to flush the whole block to make sure it's all on disk.  this will be true
> > even when the current softdep interaction problem is fixed the right way.
> 
> Do you mean we need to flush past the `oldeof'?

yes.  when the fragment is extended to a full block (perhaps due to a someone
seeking a ways past EOF and writing there), we need to flush the whole block,
not just the part that was previously in the file.  we could do a better job
of doing this flushing only when we really need to, though.


> I initially thought that it is enough to flush from beginning of file
> system block (oldoef & ~(bsize - 1)) to end of current data on disk
> (oldeof), but that makes softdep code panic and so I wrote the comment.

currently the softdep problem will cause a panic if you flush the same part
of a block with a dependency multiple times, but that's not the real reason
why we need to flush the whole block there.

-Chuck