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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 07, 2011 at 04:28:05PM +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.

It's a bit sad that we have two callers now that need to explicitly
ignore the EAGAIN and only one that actually cares, but until we
get rid of VFS-dirty inodes and ->write_inode it looks like we
can't do anything about it.


Reviewed-by: Christoph Hellwig <hch@xxxxxx>

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux