| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | [PATCH 2/5] xfs: lock the AIL before removing the buffer item |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Tue, 24 Sep 2013 16:01:13 +1000 |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1380002476-18839-1-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1380002476-18839-1-git-send-email-david@xxxxxxxxxxxxx> |
From: Dave Chinner <dchinner@xxxxxxxxxx>
Regression introduced by commit 46f9d2e ("xfs: aborted buf items can
be in the AIL") which fails to lock the AIL before removing the
item. Spinlock debugging throws a warning about this.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
fs/xfs/xfs_buf_item.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c
index 88c5ea7..f1d85cf 100644
--- a/fs/xfs/xfs_buf_item.c
+++ b/fs/xfs/xfs_buf_item.c
@@ -628,6 +628,7 @@ xfs_buf_item_unlock(
else if (aborted) {
ASSERT(XFS_FORCED_SHUTDOWN(lip->li_mountp));
if (lip->li_flags & XFS_LI_IN_AIL) {
+ spin_lock(&lip->li_ailp->xa_lock);
xfs_trans_ail_delete(lip->li_ailp, lip,
SHUTDOWN_LOG_IO_ERROR);
}
--
1.8.3.2
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 4/5] xfs: fix XFS_IOC_FREE_EOFBLOCKS definition, Dave Chinner |
|---|---|
| Next by Date: | [PATCH 5/5] xfs: log recovery lsn ordering needs uuid check, Dave Chinner |
| Previous by Thread: | Re: [PATCH 4/5] xfs: fix XFS_IOC_FREE_EOFBLOCKS definition, Mark Tinguely |
| Next by Thread: | Re: [PATCH 2/5] xfs: lock the AIL before removing the buffer item, Mark Tinguely |
| Indexes: | [Date] [Thread] [Top] [All Lists] |