xfs: provide a centralized method for verifying inline fork data

Replace the current haphazard dir2 shortform verifier callsites with a
centralized verifier function that can be called either with the default
verifier functions or with a custom set.  This helps us strengthen
integrity checking while providing us with flexibility for repair tools.

xfs_repair wants this to be able to supply its own verifier functions
when trying to fix possibly corrupt metadata.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Darrick J. Wong
2018-01-08 10:51:06 -08:00
parent dc042c2d8f
commit 9cfb9b4747
6 changed files with 99 additions and 24 deletions

View File

@@ -2957,6 +2957,10 @@ xfs_recover_inode_owner_change(
if (error)
goto out_free_ip;
if (!xfs_inode_verify_forks(ip)) {
error = -EFSCORRUPTED;
goto out_free_ip;
}
if (in_f->ilf_fields & XFS_ILOG_DOWNER) {
ASSERT(in_f->ilf_fields & XFS_ILOG_DBROOT);