Re: sparse file handling bug in XFS

Dave Chinner
2011-06-19T22:27:27Z

On Thu, Jun 16, 2011 at 04:08:07PM -0500, Eric Sandeen wrote:
> On 6/16/11 12:57 PM, Christoph Hellwig wrote:
> > On Thu, Jun 16, 2011 at 12:33:49PM -0500, Eric Sandeen wrote:
> >> Actually this looks like it's a result of
> >>
> >> 6e857567dbbfe14dd6cc3f7414671b047b1ff5c7 xfs: don't truncate prealloc from frequently accessed inodes
> >>
> >> I thought Dave's patch from the "Re: drastic changes to allocsize semantics in or around 2.6.38?"
> >> thread would fix it, but it doesn't seem to. Here it is anyway ;)
> >
> > It should fix the thing about the preallocation staying when removing
> > and recreating the file. Keeping pre-allocate blocks around otherwise
> > is a considered a feature.
>
> It strikes me as odd that truncating & rewriting would lead to
> different preallocation though .. I'll let Dave chime in.

Yeah, it's an oversight - we should reset the XFS_IDIRTY_RELEASE
flag when we set the XFS_ITRUNCATED flag. We remove the
preallocation beyond EOF when we truncate, so we should also trash
the state that tries to preserve it at the same time....

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com