]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfsprogs-dev.git/commit
xfs_repair: use rmap btree data to check block types
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 18 Aug 2016 23:53:30 +0000 (09:53 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 18 Aug 2016 23:53:30 +0000 (09:53 +1000)
commit0f94fa4b023916527a206d54861555bb99247deb
treee2e65f513477cc912099129fd1b334c882aca3dc
parent4428538d2ccf8bdeef0b54229dc71f62c66ee790
xfs_repair: use rmap btree data to check block types

Originally-From: Dave Chinner <dchinner@redhat.com>

Use the rmap btree to pre-populate the block type information so that
when repair iterates the primary metadata, we can confirm the block
type.

Ensure that we remove the flag bits from blockcount before using the
length field.

When we're processing rmap records, we set the bmap state of
the entire extent, not just the first block of the extent.  This
enables us to catch improperly overlapping rmap records and later to
ensure that the entire primary metadata extent matches (owner-wise)
the reverse mapping.  It also enables us to catch the case where the
rmapbt maps something that isn't pointed to by primary metadata.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
[darrick.wong@oracle.com: split patch, strip flag bits from blockcount]
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
repair/dinode.c
repair/incore.h
repair/scan.c
repair/xfs_repair.c