xfsprogs: print name of verifier if it fails
PATCH 1/1 xfsprogs: print name of verifier if it fails
This adds a name to each buf_ops structure, so that if a verifier fails we can print the type of verifier that failed it. Should be a slight debugging aid, I hope.
Signed-off-by Eric Sandeen <[email protected]>
---
db/attr.c +1 -0
@@ -570,6 +570,7 @@ xfs_attr3_db_write_verify( }const struct xfs_buf_ops xfs_attr3_db_buf_ops = { + .name ="xfs_attr3" , .verify_read = xfs_attr3_db_read_verify, .verify_write = xfs_attr3_db_write_verify, };
db/dir2.c +1 -0
@@ -1037,6 +1037,7 @@ xfs_dir3_db_write_verify( }const struct xfs_buf_ops xfs_dir3_db_buf_ops = { + .name ="xfs_dir3" , .verify_read = xfs_dir3_db_read_verify, .verify_write = xfs_dir3_db_write_verify, };
db/metadump.c +2 -1
@@ -221,7 +221,8 @@ write_buf( bp->b_ops->verify_write (bp);if (bp->b_error) {print_warning ( -"obfuscation corrupted block at bno 0x%llx/0x%x" , +"obfuscation corrupted block at %s bno 0x%llx/0x%x" , + bp->b_ops->name, (long long )bp->b_bn, bp->b_bcount); } }
libxfs/libxfs_io.h +1 -0
@@ -52,6 +52,7 @@ struct xfs_buf_map {struct xfs_buf_map (map) = { .bm_bn = (blkno), .bm_len = (numblk) };struct xfs_buf_ops { +char *name;void (*verify_read)(struct xfs_buf *);void (*verify_write)(struct xfs_buf *); };
libxfs/rdwr.c +3 -2
@@ -1075,8 +1075,9 @@ libxfs_writebufr(xfs_buf_t *bp) bp->b_ops->verify_write (bp);if (bp->b_error) {fprintf (stderr, -_ ("%s: write verifer failed on bno 0x%llx/0x%x\n" ), - __func__, (long long )bp->b_bn, bp->b_bcount); +_ ("%s: write verifer failed on %s bno 0x%llx/0x%x\n" ), + __func__, bp->b_ops->name, + (long long )bp->b_bn, bp->b_bcount);return bp->b_error; } }
libxfs/util.c +2 -2
@@ -725,9 +725,9 @@ voidxfs_verifier_error ( struct xfs_buf *bp) { -xfs_alert (NULL ,"Metadata %s detected at block 0x%llx/0x%x" , +xfs_alert (NULL ,"Metadata %s detected at %s block 0x%llx/0x%x" , bp->b_error == -EFSBADCRC ?"CRC error" :"corruption" , - bp->b_bn,BBTOB (bp->b_length)); + bp->b_ops->name, bp->b_bn,BBTOB (bp->b_length)); }/*
libxfs/xfs_alloc.c +2 -0
@@ -531,6 +531,7 @@ xfs_agfl_write_verify( }const struct xfs_buf_ops xfs_agfl_buf_ops = { + .name ="xfs_agfl" , .verify_read = xfs_agfl_read_verify, .verify_write = xfs_agfl_write_verify, };
@@ -2335,6 +2336,7 @@ xfs_agf_write_verify( }const struct xfs_buf_ops xfs_agf_buf_ops = { + .name ="xfs_agf" , .verify_read = xfs_agf_read_verify, .verify_write = xfs_agf_write_verify, };
libxfs/xfs_alloc_btree.c +1 -0
@@ -377,6 +377,7 @@ xfs_allocbt_write_verify( }const struct xfs_buf_ops xfs_allocbt_buf_ops = { + .name ="xfs_allocbt" , .verify_read = xfs_allocbt_read_verify, .verify_write = xfs_allocbt_write_verify, };
libxfs/xfs_attr_leaf.c +1 -0
@@ -323,6 +323,7 @@ xfs_attr3_leaf_read_verify( }const struct xfs_buf_ops xfs_attr3_leaf_buf_ops = { + .name ="xfs_attr3_leaf" , .verify_read = xfs_attr3_leaf_read_verify, .verify_write = xfs_attr3_leaf_write_verify, };
libxfs/xfs_attr_remote.c +1 -0
@@ -196,6 +196,7 @@ xfs_attr3_rmt_write_verify( }const struct xfs_buf_ops xfs_attr3_rmt_buf_ops = { + .name ="xfs_attr3_rmt" , .verify_read = xfs_attr3_rmt_read_verify, .verify_write = xfs_attr3_rmt_write_verify, };
libxfs/xfs_bmap_btree.c +1 -0
@@ -717,6 +717,7 @@ xfs_bmbt_write_verify( }const struct xfs_buf_ops xfs_bmbt_buf_ops = { + .name ="xfs_bmbt" , .verify_read = xfs_bmbt_read_verify, .verify_write = xfs_bmbt_write_verify, };
libxfs/xfs_da_btree.c +1 -0
@@ -240,6 +240,7 @@ xfs_da3_node_read_verify( }const struct xfs_buf_ops xfs_da3_node_buf_ops = { + .name ="xfs_da3_node" , .verify_read = xfs_da3_node_read_verify, .verify_write = xfs_da3_node_write_verify, };
libxfs/xfs_dir2_block.c +1 -0
@@ -119,6 +119,7 @@ xfs_dir3_block_write_verify( }const struct xfs_buf_ops xfs_dir3_block_buf_ops = { + .name ="xfs_dir3_block" , .verify_read = xfs_dir3_block_read_verify, .verify_write = xfs_dir3_block_write_verify, };
libxfs/xfs_dir2_data.c +2 -0
@@ -302,11 +302,13 @@ xfs_dir3_data_write_verify( }const struct xfs_buf_ops xfs_dir3_data_buf_ops = { + .name ="xfs_dir3_data" , .verify_read = xfs_dir3_data_read_verify, .verify_write = xfs_dir3_data_write_verify, };static const struct xfs_buf_ops xfs_dir3_data_reada_buf_ops = { + .name ="xfs_dir3_data_reada" , .verify_read = xfs_dir3_data_reada_verify, .verify_write = xfs_dir3_data_write_verify, };
libxfs/xfs_dir2_leaf.c +2 -0
@@ -242,11 +242,13 @@ xfs_dir3_leafn_write_verify( }const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops = { + .name ="xfs_dir3_leaf1" , .verify_read = xfs_dir3_leaf1_read_verify, .verify_write = xfs_dir3_leaf1_write_verify, };const struct xfs_buf_ops xfs_dir3_leafn_buf_ops = { + .name ="xfs_dir3_leafn" , .verify_read = xfs_dir3_leafn_read_verify, .verify_write = xfs_dir3_leafn_write_verify, };
libxfs/xfs_dir2_node.c +1 -0
@@ -147,6 +147,7 @@ xfs_dir3_free_write_verify( }const struct xfs_buf_ops xfs_dir3_free_buf_ops = { + .name ="xfs_dir3_free" , .verify_read = xfs_dir3_free_read_verify, .verify_write = xfs_dir3_free_write_verify, };
libxfs/xfs_dquot_buf.c +1 -0
@@ -290,6 +290,7 @@ xfs_dquot_buf_write_verify( }const struct xfs_buf_ops xfs_dquot_buf_ops = { + .name ="xfs_dquot" , .verify_read = xfs_dquot_buf_read_verify, .verify_write = xfs_dquot_buf_write_verify, };
libxfs/xfs_ialloc.c +1 -0
@@ -2566,6 +2566,7 @@ xfs_agi_write_verify( }const struct xfs_buf_ops xfs_agi_buf_ops = { + .name ="xfs_agi" , .verify_read = xfs_agi_read_verify, .verify_write = xfs_agi_write_verify, };
libxfs/xfs_ialloc_btree.c +1 -0
@@ -303,6 +303,7 @@ xfs_inobt_write_verify( }const struct xfs_buf_ops xfs_inobt_buf_ops = { + .name ="xfs_inobt" , .verify_read = xfs_inobt_read_verify, .verify_write = xfs_inobt_write_verify, };
libxfs/xfs_inode_buf.c +2 -0
@@ -141,11 +141,13 @@ xfs_inode_buf_write_verify( }const struct xfs_buf_ops xfs_inode_buf_ops = { + .name ="xfs_inode" , .verify_read = xfs_inode_buf_read_verify, .verify_write = xfs_inode_buf_write_verify, };const struct xfs_buf_ops xfs_inode_buf_ra_ops = { + .name ="xxfs_inode_ra" , .verify_read = xfs_inode_buf_readahead_verify, .verify_write = xfs_inode_buf_write_verify, };
libxfs/xfs_sb.c +2 -0
@@ -661,11 +661,13 @@ xfs_sb_write_verify( }const struct xfs_buf_ops xfs_sb_buf_ops = { + .name ="xfs_sb" , .verify_read = xfs_sb_read_verify, .verify_write = xfs_sb_write_verify, };const struct xfs_buf_ops xfs_sb_quiet_buf_ops = { + .name ="xfs_sb_quiet" , .verify_read = xfs_sb_quiet_read_verify, .verify_write = xfs_sb_write_verify, };
libxfs/xfs_symlink_remote.c +1 -0
@@ -164,6 +164,7 @@ xfs_symlink_write_verify( }const struct xfs_buf_ops xfs_symlink_buf_ops = { + .name ="xfs_symlink" , .verify_read = xfs_symlink_read_verify, .verify_write = xfs_symlink_write_verify, };
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs