xfs
[Top] [All Lists]

Re: [PATCH] xfs: don't look forever in xfs_inode_ag_walk during async in

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfs: don't look forever in xfs_inode_ag_walk during async inode flushes
From: Alex Elder <aelder@xxxxxxx>
Date: Wed, 13 Apr 2011 15:33:33 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1302157685-3966-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1302157685-3966-1-git-send-email-david@xxxxxxxxxxxxx>
Reply-to: aelder@xxxxxxx
On Thu, 2011-04-07 at 16:28 +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> When the underlying inode buffer is locked and xfs_sync_inode_attr()
> is doing a non-blocking flush, xfs_iflush() can return EAGAIN. When
> this happenѕ, clear the error rather than returning it to
> xfs_inode_ag_walk(), as returning EAGAIN will result in the AG walk
> delaying for a short while and trying again. This can result in
> background walks getting stuck on the one AG until inode buffer is
> unlocked by some other means.
> 
> This behaviour was noticed when analysing event traces followed by
> code inspection and verification of the fix via further traces.
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>

Looks good.

Reviewed-by: Alex Elder <aelder@xxxxxxx>


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