xfs
[Top] [All Lists]

[PATCH 14/14] repair: add missing locking in scanfunc_bmap

To: xfs@xxxxxxxxxxx
Subject: [PATCH 14/14] repair: add missing locking in scanfunc_bmap
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Wed, 02 Sep 2009 13:55:45 -0400
Cc: Barry Naujok <bnaujok@xxxxxxx>
References: <20090902175531.469184575@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: quilt/0.47-1
Make sure to protect access to the block usage tracking btree with
the ag_lock.


Signed-off-by: Barry Naujok <bnaujok@xxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>


Index: xfsprogs-dev/repair/scan.c
===================================================================
--- xfsprogs-dev.orig/repair/scan.c     2009-08-20 03:16:13.000000000 +0000
+++ xfsprogs-dev/repair/scan.c  2009-08-20 03:18:17.000000000 +0000
@@ -235,6 +235,7 @@
                agno = XFS_FSB_TO_AGNO(mp, bno);
                agbno = XFS_FSB_TO_AGBNO(mp, bno);
 
+               pthread_mutex_lock(&ag_locks[agno]);
                state = get_bmap(agno, agbno);
                switch (state) {
                case XR_E_UNKNOWN:
@@ -280,6 +281,7 @@
                                state, ino, (__uint64_t) bno);
                        break;
                }
+               pthread_mutex_unlock(&ag_locks[agno]);
        } else  {
                /*
                 * attribute fork for realtime files is in the regular

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