[PATCH v2 2/2] xfs: disable log force in xfs_buf_item_push() to avoid xa_lock recursion

Mark Tinguely tinguely at sgi.com
Wed Feb 6 14:25:21 CST 2013


On 02/06/13 06:44, Brian Foster wrote:
> If the trylock fails and the buffer is pinned and stale, the
> resulting xfs_log_force() can lead to lock recursion on the ailp
> xa_lock. Call __xfs_buf_trylock() to attempt the buf lock with
> xa_lock held, but to avoid the log force. If the trylock had raced
> with the buffer being pinned, return XFS_ITEM_PINNED such that
> xfsaild will pend up a log force on the next scan.
>
> Signed-off-by: Brian Foster<bfoster at redhat.com>
> ---
>   fs/xfs/xfs_buf_item.c |   14 +++++++++++++-
>   1 files changed, 13 insertions(+), 1 deletions(-)

Looks good.

Reviewed-by: Mark Tinguely <tinguely at sgi.com>



More information about the xfs mailing list