diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index a627cb951dc61b12517e61c8b1eba4d07d0e084e..f779cca2346f393f8f7d075abf17e41faf6b92d6 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -552,7 +552,8 @@ xfs_inode_item_push( if (!xfs_buf_delwri_queue(bp, buffer_list)) rval = XFS_ITEM_FLUSHING; xfs_buf_relse(bp); - } + } else if (error == -EAGAIN) + rval = XFS_ITEM_LOCKED; spin_lock(&lip->li_ailp->ail_lock); out_unlock: