]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
libxfs: print name of verifier if it fails
authorEric Sandeen <sandeen@redhat.com>
Mon, 23 Nov 2015 04:24:24 +0000 (15:24 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 23 Nov 2015 04:24:24 +0000 (15:24 +1100)
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 <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
22 files changed:
db/attr.c
db/dir2.c
db/metadump.c
libxfs/libxfs_io.h
libxfs/rdwr.c
libxfs/util.c
libxfs/xfs_alloc.c
libxfs/xfs_alloc_btree.c
libxfs/xfs_attr_leaf.c
libxfs/xfs_attr_remote.c
libxfs/xfs_bmap_btree.c
libxfs/xfs_da_btree.c
libxfs/xfs_dir2_block.c
libxfs/xfs_dir2_data.c
libxfs/xfs_dir2_leaf.c
libxfs/xfs_dir2_node.c
libxfs/xfs_dquot_buf.c
libxfs/xfs_ialloc.c
libxfs/xfs_ialloc_btree.c
libxfs/xfs_inode_buf.c
libxfs/xfs_sb.c
libxfs/xfs_symlink_remote.c

index 5e691005b758749f205b7c5250e517d7795d9005..e26ac67e0232e149a5ba1b3729c66aa3424c00ae 100644 (file)
--- a/db/attr.c
+++ b/db/attr.c
@@ -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,
 };
index cc7666270c7df1b1c7034514cd1843c917d4ceed..533f705f7b1da3c4486c99e05f947decd3b9a2ae 100644 (file)
--- a/db/dir2.c
+++ b/db/dir2.c
@@ -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,
 };
index e503d6f18d31664ee844fa8fec0aecf567658d1c..8cdcb92e8848903b84710de29f7587454c2df802 100644 (file)
@@ -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);
                }
        }
index 38b4c6fbeee2d91864384f7fd95ae05df66a8449..86b18a0c598591eab25bfce41601fa69ec9a9e91 100644 (file)
@@ -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 *);
 };
index c19070fb6923ca04035cf4a27d8ae93b9b815c37..0804285e390ce58a2dd4440272006194bdeccd4f 100644 (file)
@@ -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;
                }
        }
index 6192e6c873cd3727f3fc469793308bc2749b53b6..0609ba41feac1da8daa2bd01ca869fb1c24494e2 100644 (file)
@@ -725,9 +725,9 @@ void
 xfs_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));
 }
 
 /*
index 95c8d441a037c7e2f7a6c6273b94ae2e88f63a52..b43655cb0b90fbd5f2d1f226d7741c108556f779 100644 (file)
@@ -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,
 };
index e60538a97ac767dbb08b578d58d163b5c305d193..f583bd1fbcf57bf9d136d7c93ee63843ffc6740d 100644 (file)
@@ -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,
 };
index bf473ebae356d560b31c4d9ec703cf5c1cf66810..1186cacb8bebf84892ee89d5c91b5d3f33bc6d78 100644 (file)
@@ -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,
 };
index 39ab350f937581adadad6349e9b5090261425d54..95383e39f68f2a9a3dddfe60b3ff3fa45634277d 100644 (file)
@@ -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,
 };
index f42bc2d7a5a34fa404d720c12d868fc60bc386e1..52c9c75b397b58ebfd5aa22bcef3e50d590039d8 100644 (file)
@@ -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,
 };
index bdd60a010cad74081276b276fce3daf43f7d7a4f..bf5fe2179ff85ef37b7f9b0b8f572f8d4cba6181 100644 (file)
@@ -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,
 };
index d7ba0e9f1be5b2175eee85fd7fdf3875edac0d26..32bde3115c07012d740d961d289a353d12add7f7 100644 (file)
@@ -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,
 };
index 37b3b68f97ade29a772ecf0c32f8ff13d03a6b80..6ae5cd2f068c6ab19894416c4d6bb531396c1049 100644 (file)
@@ -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,
 };
index 77c2e659854fd5f836d59fad9b752c40238b9710..f80d91fc32e605ad741ab65da55b2a5f6ea4a4eb 100644 (file)
@@ -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,
 };
index 689a3fd95b3bce692e309c56eb88e077a0ecc6e1..224daa634ff4998b8d762b1083529e6c8ee60ba1 100644 (file)
@@ -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,
 };
index 1a2546b40910c9f72c101b7812ccfdc857ab1509..38f9703833f4c458e765249f5a4c7fbbea7ee4f0 100644 (file)
@@ -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,
 };
index d39f9b62516b8edc775238179fc468063589eccd..5039f4b7993830b0e975ac6e576fa0c514cba3df 100644 (file)
@@ -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,
 };
index 09ffdb42e36873eb24b8fa513d882a3d393d69b2..f592ad15f89812adde24021a64cb56fbe81ecd50 100644 (file)
@@ -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,
 };
index 747a87968c201cf3a5b901b41544da82c64ef464..324715e8b1c5f5b710898eb304e45e2ec45ccd3a 100644 (file)
@@ -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,
 };
index c293d68d9ca3d8c03b06f646d4d12c43d4b400b0..78ad8895e378f9ce967acc4eb4536a3ed2f2d038 100644 (file)
@@ -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,
 };
index 647444aea50032eced3f0c8a3cc8254b9f187fb2..fb9ece88401ae14e52635684f5f0413232e05e26 100644 (file)
@@ -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,
 };