xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 05/16] xfs: don't truncate prealloc from frequently accessed inodes
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 8 Nov 2010 06:36:45 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1289206519-18377-6-git-send-email-david@xxxxxxxxxxxxx>
References: <1289206519-18377-1-git-send-email-david@xxxxxxxxxxxxx> <1289206519-18377-6-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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.

<Prev in Thread] Current Thread [Next in Thread>