| 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
|
| Previous by Date: | [PATCH 12/14] repair: switch block usage bitmap to a btree, Christoph Hellwig |
|---|---|
| Next by Date: | [PATCH 11/14] repair: cleanup alloc/free/reset of the block usage tracking, Christoph Hellwig |
| Previous by Thread: | [PATCH 12/14] repair: switch block usage bitmap to a btree, Christoph Hellwig |
| Next by Thread: | [PATCH 11/14] repair: cleanup alloc/free/reset of the block usage tracking, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |