From: Darrick J. Wong <djwong@xxxxxxxxxx> When we free all the incore block mapping data, be sure to free the locks too. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> --- repair/incore.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/repair/incore.c b/repair/incore.c index 2ed37a105..06edaf0d6 100644 --- a/repair/incore.c +++ b/repair/incore.c @@ -301,8 +301,17 @@ free_bmaps(xfs_mount_t *mp) { xfs_agnumber_t i; + pthread_mutex_destroy(&rt_lock.lock); + + for (i = 0; i < mp->m_sb.sb_agcount; i++) + pthread_mutex_destroy(&ag_locks[i].lock); + + free(ag_locks); + ag_locks = NULL; + for (i = 0; i < mp->m_sb.sb_agcount; i++) btree_destroy(ag_bmap[i]); + free(ag_bmap); ag_bmap = NULL;