| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | [PATCH 2/3] xfs: lock the AIL before removing the buffer item |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Tue, 17 Sep 2013 11:44:30 +1000 |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1379382271-29907-1-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1379382271-29907-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 3/3] xfs: asserting lock not held during freeing not valid, Dave Chinner |
|---|---|
| Next by Date: | Cеминар для строительных компаний, семинары для инвесторов |
| Previous by Thread: | [PATCH 3/3] xfs: asserting lock not held during freeing not valid, Dave Chinner |
| Next by Thread: | Cеминар для строительных компаний, семинары для инвесторов |
| Indexes: | [Date] [Thread] [Top] [All Lists] |