diff options
| author | Dave Chinner <dchinner@redhat.com> | 2013-09-24 02:01:13 -0400 |
|---|---|---|
| committer | Ben Myers <bpm@sgi.com> | 2013-09-24 13:31:41 -0400 |
| commit | 4885235806bb95c3fad5a5238e323cb746c3a49b (patch) | |
| tree | 2952172d9a17ca87227a50766f3d69bf8f290982 | |
| parent | 272b98c6455f00884f0350f775c5342358ebb73f (diff) | |
xfs: lock the AIL before removing the buffer item
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@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
| -rw-r--r-- | fs/xfs/xfs_buf_item.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index 88c5ea75ebf6..f1d85cfc0a54 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c | |||
| @@ -628,6 +628,7 @@ xfs_buf_item_unlock( | |||
| 628 | else if (aborted) { | 628 | else if (aborted) { |
| 629 | ASSERT(XFS_FORCED_SHUTDOWN(lip->li_mountp)); | 629 | ASSERT(XFS_FORCED_SHUTDOWN(lip->li_mountp)); |
| 630 | if (lip->li_flags & XFS_LI_IN_AIL) { | 630 | if (lip->li_flags & XFS_LI_IN_AIL) { |
| 631 | spin_lock(&lip->li_ailp->xa_lock); | ||
| 631 | xfs_trans_ail_delete(lip->li_ailp, lip, | 632 | xfs_trans_ail_delete(lip->li_ailp, lip, |
| 632 | SHUTDOWN_LOG_IO_ERROR); | 633 | SHUTDOWN_LOG_IO_ERROR); |
| 633 | } | 634 | } |
