]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit - repair/phase6.c
xfs_repair: join realtime inodes to transaction only once
authorEric Sandeen <sandeen@redhat.com>
Fri, 28 Feb 2020 04:20:42 +0000 (23:20 -0500)
committerEric Sandeen <sandeen@sandeen.net>
Fri, 28 Feb 2020 04:20:42 +0000 (23:20 -0500)
commitfbbb184b189c62beed2a694d14e83bd316fd4140
treebbec35ca6551916160dddd0e7e4e757ad9d898b5
parent38abdcbd86801cc251b61ba15d59175679a80107
xfs_repair: join realtime inodes to transaction only once

fill_rbmino() and fill_rsumino() can join the inode to the transactions
multiple times before committing, which is not permitted.

This leads to cache purge errors when running repair:

  "cache_purge: shake on cache 0x92f5c0 left 129 nodes!?"

Move the libxfs_trans_ijoin out of the while loop to avoid this.

Fixes: e2dd0e1cc ("libxfs: remove libxfs_trans_iget")
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
repair/phase6.c