xfs: add rmap btree block detection to log recovery
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 3 Aug 2016 02:17:11 +0000 (12:17 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 3 Aug 2016 02:17:11 +0000 (12:17 +1000)
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>
fs/xfs/xfs_log_recover.c

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