Re: [PATCH 1/2] xfs: don't truncate attribute extents if no extents exist

Brian Foster
2015-06-19T15:45:26Z

On Fri, Jun 19, 2015 at 08:14:21AM -0700, Christoph Hellwig wrote:
> > A '-p 2' fsstress run to ENOSPC on a relatively small fs (1GB)
> > reproduces these problems.
>
> Any chance to add this test case to xfstests?
>

I think so. I'll look into it.

> > /* invalidate and truncate the attribute fork extents */
> > - if (dp->i_d.di_aformat != XFS_DINODE_FMT_LOCAL) {
> > + if (xfs_inode_hasattr(dp) &&
> > + dp->i_d.di_aformat != XFS_DINODE_FMT_LOCAL) {
>
> And please add a comment describing the condition here, especially
> as xfs_inode_hasattr doesn't have a very descriptive name.
>

How about this?

/*
* Invalidate and truncate the attribute fork extents. Make sure the
* fork actually has attributes as otherwise the invalidation has no
* blocks to read and returns an error. In this case, just do the fork
* removal below.
*/

Brian