Commit d4bc4c5f authored by Brian Foster's avatar Brian Foster Committed by Darrick J. Wong

xfs: return locked status of inode buffer on xfsaild push

If the inode buffer backing a particular inode is locked,
xfs_iflush() returns -EAGAIN and xfs_inode_item_push() skips the
inode. It still returns success to xfsaild, however, which bypasses
the xfsaild backoff heuristic. Update xfs_inode_item_push() to
return locked status if the inode buffer couldn't be locked.
Signed-off-by: default avatarBrian Foster <>
Reviewed-by: default avatarChristoph Hellwig <>
Reviewed-by: default avatarDarrick J. Wong <>
Signed-off-by: default avatarDarrick J. Wong <>
parent 8d3d7e2b
...@@ -552,7 +552,8 @@ xfs_inode_item_push( ...@@ -552,7 +552,8 @@ xfs_inode_item_push(
if (!xfs_buf_delwri_queue(bp, buffer_list)) if (!xfs_buf_delwri_queue(bp, buffer_list))
xfs_buf_relse(bp); xfs_buf_relse(bp);
} } else if (error == -EAGAIN)
spin_lock(&lip->li_ailp->ail_lock); spin_lock(&lip->li_ailp->ail_lock);
out_unlock: out_unlock:
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment