[PATCH 05/16] xfs: don't truncate prealloc from frequently accessed inodes
Christoph Hellwig
hch at infradead.org
Mon Nov 8 05:36:45 CST 2010
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.
More information about the xfs
mailing list