Re: [PATCH 05/16] xfs: don't truncate prealloc from frequently accessed inodes

Christoph Hellwig
2010-11-08T11:35:19Z

I'd be much more happy about fixing this properly in nfsd. But I guess
the fix is simple enough that we can put it into XFS for now. Any
reason you use up a whole int in the inode instead of using a flag in
i_flags?

> -
> - ASSERT(ip->i_delayed_blks == 0);
> + /*
> + * even after flushing the inode, there can still be delalloc
> + * blocks on the inode beyond EOF due to speculative
> + * preallocation. These are not removed until the release
> + * function is called or the inode is inactivated. Hence we
> + * cannot assert here that ip->i_delayed_blks == 0.
> + */

Shouldn't this be in a separate patch given that we can fail the flush
due to iolock contention? I think this and the swapext fix are .37
material in fact.