xfs
[Top] [All Lists]

[PATCH] xfs: lock the rt summary inode when unmapping realtime extents

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: [PATCH] xfs: lock the rt summary inode when unmapping realtime extents
From: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Date: Wed, 29 Jun 2016 13:02:34 -0700
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
User-agent: Mutt/1.5.24 (2015-08-30)
When we're deleting realtime extents, lock the summary inode
in case we need to update the summary info.  This prevents an
assert on the rsumip inode lock on a debug kernel.

(Same idea as "xfs: lock rt summary inode on allocation".)

Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
 fs/xfs/libxfs/xfs_bmap.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
index 97820c1..9c7227b 100644
--- a/fs/xfs/libxfs/xfs_bmap.c
+++ b/fs/xfs/libxfs/xfs_bmap.c
@@ -5524,6 +5524,8 @@ __xfs_bunmapi(
                 */
                xfs_ilock(mp->m_rbmip, XFS_ILOCK_EXCL);
                xfs_trans_ijoin(tp, mp->m_rbmip, XFS_ILOCK_EXCL);
+               xfs_ilock(mp->m_rsumip, XFS_ILOCK_EXCL);
+               xfs_trans_ijoin(tp, mp->m_rsumip, XFS_ILOCK_EXCL);
        }
 
        extno = 0;

<Prev in Thread] Current Thread [Next in Thread>