xfs: add rmap btree block detection to log recovery

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

So such blocks can be correctly identified and have their operations
structures attached to validate recovery has not resulted in a
correct block.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Darrick J. Wong 2016-08-03 12:17:11 +10:00 committed by Dave Chinner
parent 5d650e90a1
commit a650e8f98e

View file

@ -2231,6 +2231,7 @@ xlog_recover_get_buf_lsn(
case XFS_ABTC_CRC_MAGIC: case XFS_ABTC_CRC_MAGIC:
case XFS_ABTB_MAGIC: case XFS_ABTB_MAGIC:
case XFS_ABTC_MAGIC: case XFS_ABTC_MAGIC:
case XFS_RMAP_CRC_MAGIC:
case XFS_IBT_CRC_MAGIC: case XFS_IBT_CRC_MAGIC:
case XFS_IBT_MAGIC: { case XFS_IBT_MAGIC: {
struct xfs_btree_block *btb = blk; struct xfs_btree_block *btb = blk;
@ -2399,6 +2400,9 @@ xlog_recover_validate_buf_type(
case XFS_BMAP_MAGIC: case XFS_BMAP_MAGIC:
bp->b_ops = &xfs_bmbt_buf_ops; bp->b_ops = &xfs_bmbt_buf_ops;
break; break;
case XFS_RMAP_CRC_MAGIC:
bp->b_ops = &xfs_rmapbt_buf_ops;
break;
default: default:
xfs_warn(mp, "Bad btree block magic!"); xfs_warn(mp, "Bad btree block magic!");
ASSERT(0); ASSERT(0);