aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2016-01-04 00:10:19 -0500
committerDave Chinner <david@fromorbit.com>2016-01-04 00:10:19 -0500
commit233135b763db7c64d07b728a9c66745fb0376275 (patch)
tree0b091cd4c785f3fad2d245d9fc9a842f3067681b /fs/xfs
parent1d4292bfdc77f4f7c520064be15d0c46bd025fd2 (diff)
xfs: 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 <sandeen@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/libxfs/xfs_alloc.c2
-rw-r--r--fs/xfs/libxfs/xfs_alloc_btree.c1
-rw-r--r--fs/xfs/libxfs/xfs_attr_leaf.c1
-rw-r--r--fs/xfs/libxfs/xfs_attr_remote.c1
-rw-r--r--fs/xfs/libxfs/xfs_bmap_btree.c1
-rw-r--r--fs/xfs/libxfs/xfs_da_btree.c1
-rw-r--r--fs/xfs/libxfs/xfs_dir2_block.c1
-rw-r--r--fs/xfs/libxfs/xfs_dir2_data.c2
-rw-r--r--fs/xfs/libxfs/xfs_dir2_leaf.c2
-rw-r--r--fs/xfs/libxfs/xfs_dir2_node.c1
-rw-r--r--fs/xfs/libxfs/xfs_dquot_buf.c1
-rw-r--r--fs/xfs/libxfs/xfs_ialloc.c1
-rw-r--r--fs/xfs/libxfs/xfs_ialloc_btree.c1
-rw-r--r--fs/xfs/libxfs/xfs_inode_buf.c2
-rw-r--r--fs/xfs/libxfs/xfs_sb.c2
-rw-r--r--fs/xfs/libxfs/xfs_symlink_remote.c1
-rw-r--r--fs/xfs/xfs_buf.h1
-rw-r--r--fs/xfs/xfs_error.c4
18 files changed, 24 insertions, 2 deletions
diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c
index 3479294c1d58..e1e7fe3b5424 100644
--- a/fs/xfs/libxfs/xfs_alloc.c
+++ b/fs/xfs/libxfs/xfs_alloc.c
@@ -535,6 +535,7 @@ xfs_agfl_write_verify(
535} 535}
536 536
537const struct xfs_buf_ops xfs_agfl_buf_ops = { 537const struct xfs_buf_ops xfs_agfl_buf_ops = {
538 .name = "xfs_agfl",
538 .verify_read = xfs_agfl_read_verify, 539 .verify_read = xfs_agfl_read_verify,
539 .verify_write = xfs_agfl_write_verify, 540 .verify_write = xfs_agfl_write_verify,
540}; 541};
@@ -2339,6 +2340,7 @@ xfs_agf_write_verify(
2339} 2340}
2340 2341
2341const struct xfs_buf_ops xfs_agf_buf_ops = { 2342const struct xfs_buf_ops xfs_agf_buf_ops = {
2343 .name = "xfs_agf",
2342 .verify_read = xfs_agf_read_verify, 2344 .verify_read = xfs_agf_read_verify,
2343 .verify_write = xfs_agf_write_verify, 2345 .verify_write = xfs_agf_write_verify,
2344}; 2346};
diff --git a/fs/xfs/libxfs/xfs_alloc_btree.c b/fs/xfs/libxfs/xfs_alloc_btree.c
index 90de071dd4c2..eb8bbfe85484 100644
--- a/fs/xfs/libxfs/xfs_alloc_btree.c
+++ b/fs/xfs/libxfs/xfs_alloc_btree.c
@@ -379,6 +379,7 @@ xfs_allocbt_write_verify(
379} 379}
380 380
381const struct xfs_buf_ops xfs_allocbt_buf_ops = { 381const struct xfs_buf_ops xfs_allocbt_buf_ops = {
382 .name = "xfs_allocbt",
382 .verify_read = xfs_allocbt_read_verify, 383 .verify_read = xfs_allocbt_read_verify,
383 .verify_write = xfs_allocbt_write_verify, 384 .verify_write = xfs_allocbt_write_verify,
384}; 385};
diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
index aa187f7ba2dd..01a5ecfedfcf 100644
--- a/fs/xfs/libxfs/xfs_attr_leaf.c
+++ b/fs/xfs/libxfs/xfs_attr_leaf.c
@@ -328,6 +328,7 @@ xfs_attr3_leaf_read_verify(
328} 328}
329 329
330const struct xfs_buf_ops xfs_attr3_leaf_buf_ops = { 330const struct xfs_buf_ops xfs_attr3_leaf_buf_ops = {
331 .name = "xfs_attr3_leaf",
331 .verify_read = xfs_attr3_leaf_read_verify, 332 .verify_read = xfs_attr3_leaf_read_verify,
332 .verify_write = xfs_attr3_leaf_write_verify, 333 .verify_write = xfs_attr3_leaf_write_verify,
333}; 334};
diff --git a/fs/xfs/libxfs/xfs_attr_remote.c b/fs/xfs/libxfs/xfs_attr_remote.c
index 5ab95ffa4ae9..f3ed9bf0b065 100644
--- a/fs/xfs/libxfs/xfs_attr_remote.c
+++ b/fs/xfs/libxfs/xfs_attr_remote.c
@@ -201,6 +201,7 @@ xfs_attr3_rmt_write_verify(
201} 201}
202 202
203const struct xfs_buf_ops xfs_attr3_rmt_buf_ops = { 203const struct xfs_buf_ops xfs_attr3_rmt_buf_ops = {
204 .name = "xfs_attr3_rmt",
204 .verify_read = xfs_attr3_rmt_read_verify, 205 .verify_read = xfs_attr3_rmt_read_verify,
205 .verify_write = xfs_attr3_rmt_write_verify, 206 .verify_write = xfs_attr3_rmt_write_verify,
206}; 207};
diff --git a/fs/xfs/libxfs/xfs_bmap_btree.c b/fs/xfs/libxfs/xfs_bmap_btree.c
index 6b0cf6546a82..1637c37bfbaa 100644
--- a/fs/xfs/libxfs/xfs_bmap_btree.c
+++ b/fs/xfs/libxfs/xfs_bmap_btree.c
@@ -720,6 +720,7 @@ xfs_bmbt_write_verify(
720} 720}
721 721
722const struct xfs_buf_ops xfs_bmbt_buf_ops = { 722const struct xfs_buf_ops xfs_bmbt_buf_ops = {
723 .name = "xfs_bmbt",
723 .verify_read = xfs_bmbt_read_verify, 724 .verify_read = xfs_bmbt_read_verify,
724 .verify_write = xfs_bmbt_write_verify, 725 .verify_write = xfs_bmbt_write_verify,
725}; 726};
diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c
index e89a0f8f827c..097bf7717d80 100644
--- a/fs/xfs/libxfs/xfs_da_btree.c
+++ b/fs/xfs/libxfs/xfs_da_btree.c
@@ -245,6 +245,7 @@ xfs_da3_node_read_verify(
245} 245}
246 246
247const struct xfs_buf_ops xfs_da3_node_buf_ops = { 247const struct xfs_buf_ops xfs_da3_node_buf_ops = {
248 .name = "xfs_da3_node",
248 .verify_read = xfs_da3_node_read_verify, 249 .verify_read = xfs_da3_node_read_verify,
249 .verify_write = xfs_da3_node_write_verify, 250 .verify_write = xfs_da3_node_write_verify,
250}; 251};
diff --git a/fs/xfs/libxfs/xfs_dir2_block.c b/fs/xfs/libxfs/xfs_dir2_block.c
index 9c10e2b8cfcb..aa17cb788946 100644
--- a/fs/xfs/libxfs/xfs_dir2_block.c
+++ b/fs/xfs/libxfs/xfs_dir2_block.c
@@ -123,6 +123,7 @@ xfs_dir3_block_write_verify(
123} 123}
124 124
125const struct xfs_buf_ops xfs_dir3_block_buf_ops = { 125const struct xfs_buf_ops xfs_dir3_block_buf_ops = {
126 .name = "xfs_dir3_block",
126 .verify_read = xfs_dir3_block_read_verify, 127 .verify_read = xfs_dir3_block_read_verify,
127 .verify_write = xfs_dir3_block_write_verify, 128 .verify_write = xfs_dir3_block_write_verify,
128}; 129};
diff --git a/fs/xfs/libxfs/xfs_dir2_data.c b/fs/xfs/libxfs/xfs_dir2_data.c
index af71a84f343c..725fc7841fde 100644
--- a/fs/xfs/libxfs/xfs_dir2_data.c
+++ b/fs/xfs/libxfs/xfs_dir2_data.c
@@ -305,11 +305,13 @@ xfs_dir3_data_write_verify(
305} 305}
306 306
307const struct xfs_buf_ops xfs_dir3_data_buf_ops = { 307const struct xfs_buf_ops xfs_dir3_data_buf_ops = {
308 .name = "xfs_dir3_data",
308 .verify_read = xfs_dir3_data_read_verify, 309 .verify_read = xfs_dir3_data_read_verify,
309 .verify_write = xfs_dir3_data_write_verify, 310 .verify_write = xfs_dir3_data_write_verify,
310}; 311};
311 312
312static const struct xfs_buf_ops xfs_dir3_data_reada_buf_ops = { 313static const struct xfs_buf_ops xfs_dir3_data_reada_buf_ops = {
314 .name = "xfs_dir3_data_reada",
313 .verify_read = xfs_dir3_data_reada_verify, 315 .verify_read = xfs_dir3_data_reada_verify,
314 .verify_write = xfs_dir3_data_write_verify, 316 .verify_write = xfs_dir3_data_write_verify,
315}; 317};
diff --git a/fs/xfs/libxfs/xfs_dir2_leaf.c b/fs/xfs/libxfs/xfs_dir2_leaf.c
index 3923e1f94697..b887fb2a2bcf 100644
--- a/fs/xfs/libxfs/xfs_dir2_leaf.c
+++ b/fs/xfs/libxfs/xfs_dir2_leaf.c
@@ -245,11 +245,13 @@ xfs_dir3_leafn_write_verify(
245} 245}
246 246
247const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops = { 247const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops = {
248 .name = "xfs_dir3_leaf1",
248 .verify_read = xfs_dir3_leaf1_read_verify, 249 .verify_read = xfs_dir3_leaf1_read_verify,
249 .verify_write = xfs_dir3_leaf1_write_verify, 250 .verify_write = xfs_dir3_leaf1_write_verify,
250}; 251};
251 252
252const struct xfs_buf_ops xfs_dir3_leafn_buf_ops = { 253const struct xfs_buf_ops xfs_dir3_leafn_buf_ops = {
254 .name = "xfs_dir3_leafn",
253 .verify_read = xfs_dir3_leafn_read_verify, 255 .verify_read = xfs_dir3_leafn_read_verify,
254 .verify_write = xfs_dir3_leafn_write_verify, 256 .verify_write = xfs_dir3_leafn_write_verify,
255}; 257};
diff --git a/fs/xfs/libxfs/xfs_dir2_node.c b/fs/xfs/libxfs/xfs_dir2_node.c
index 70b0cb2fd556..63ee03db796c 100644
--- a/fs/xfs/libxfs/xfs_dir2_node.c
+++ b/fs/xfs/libxfs/xfs_dir2_node.c
@@ -150,6 +150,7 @@ xfs_dir3_free_write_verify(
150} 150}
151 151
152const struct xfs_buf_ops xfs_dir3_free_buf_ops = { 152const struct xfs_buf_ops xfs_dir3_free_buf_ops = {
153 .name = "xfs_dir3_free",
153 .verify_read = xfs_dir3_free_read_verify, 154 .verify_read = xfs_dir3_free_read_verify,
154 .verify_write = xfs_dir3_free_write_verify, 155 .verify_write = xfs_dir3_free_write_verify,
155}; 156};
diff --git a/fs/xfs/libxfs/xfs_dquot_buf.c b/fs/xfs/libxfs/xfs_dquot_buf.c
index 5331b7f0460c..11cefb2a372a 100644
--- a/fs/xfs/libxfs/xfs_dquot_buf.c
+++ b/fs/xfs/libxfs/xfs_dquot_buf.c
@@ -282,6 +282,7 @@ xfs_dquot_buf_write_verify(
282} 282}
283 283
284const struct xfs_buf_ops xfs_dquot_buf_ops = { 284const struct xfs_buf_ops xfs_dquot_buf_ops = {
285 .name = "xfs_dquot",
285 .verify_read = xfs_dquot_buf_read_verify, 286 .verify_read = xfs_dquot_buf_read_verify,
286 .verify_write = xfs_dquot_buf_write_verify, 287 .verify_write = xfs_dquot_buf_write_verify,
287}; 288};
diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c
index 70c1db99f6a7..66d702e6b9ff 100644
--- a/fs/xfs/libxfs/xfs_ialloc.c
+++ b/fs/xfs/libxfs/xfs_ialloc.c
@@ -2572,6 +2572,7 @@ xfs_agi_write_verify(
2572} 2572}
2573 2573
2574const struct xfs_buf_ops xfs_agi_buf_ops = { 2574const struct xfs_buf_ops xfs_agi_buf_ops = {
2575 .name = "xfs_agi",
2575 .verify_read = xfs_agi_read_verify, 2576 .verify_read = xfs_agi_read_verify,
2576 .verify_write = xfs_agi_write_verify, 2577 .verify_write = xfs_agi_write_verify,
2577}; 2578};
diff --git a/fs/xfs/libxfs/xfs_ialloc_btree.c b/fs/xfs/libxfs/xfs_ialloc_btree.c
index f39b285beb19..6dd44f9ea727 100644
--- a/fs/xfs/libxfs/xfs_ialloc_btree.c
+++ b/fs/xfs/libxfs/xfs_ialloc_btree.c
@@ -304,6 +304,7 @@ xfs_inobt_write_verify(
304} 304}
305 305
306const struct xfs_buf_ops xfs_inobt_buf_ops = { 306const struct xfs_buf_ops xfs_inobt_buf_ops = {
307 .name = "xfs_inobt",
307 .verify_read = xfs_inobt_read_verify, 308 .verify_read = xfs_inobt_read_verify,
308 .verify_write = xfs_inobt_write_verify, 309 .verify_write = xfs_inobt_write_verify,
309}; 310};
diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c
index 268c00f4f83a..1b8d98a915c4 100644
--- a/fs/xfs/libxfs/xfs_inode_buf.c
+++ b/fs/xfs/libxfs/xfs_inode_buf.c
@@ -132,11 +132,13 @@ xfs_inode_buf_write_verify(
132} 132}
133 133
134const struct xfs_buf_ops xfs_inode_buf_ops = { 134const struct xfs_buf_ops xfs_inode_buf_ops = {
135 .name = "xfs_inode",
135 .verify_read = xfs_inode_buf_read_verify, 136 .verify_read = xfs_inode_buf_read_verify,
136 .verify_write = xfs_inode_buf_write_verify, 137 .verify_write = xfs_inode_buf_write_verify,
137}; 138};
138 139
139const struct xfs_buf_ops xfs_inode_buf_ra_ops = { 140const struct xfs_buf_ops xfs_inode_buf_ra_ops = {
141 .name = "xxfs_inode_ra",
140 .verify_read = xfs_inode_buf_readahead_verify, 142 .verify_read = xfs_inode_buf_readahead_verify,
141 .verify_write = xfs_inode_buf_write_verify, 143 .verify_write = xfs_inode_buf_write_verify,
142}; 144};
diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c
index a0b071d881a0..8a53eaa349f4 100644
--- a/fs/xfs/libxfs/xfs_sb.c
+++ b/fs/xfs/libxfs/xfs_sb.c
@@ -679,11 +679,13 @@ xfs_sb_write_verify(
679} 679}
680 680
681const struct xfs_buf_ops xfs_sb_buf_ops = { 681const struct xfs_buf_ops xfs_sb_buf_ops = {
682 .name = "xfs_sb",
682 .verify_read = xfs_sb_read_verify, 683 .verify_read = xfs_sb_read_verify,
683 .verify_write = xfs_sb_write_verify, 684 .verify_write = xfs_sb_write_verify,
684}; 685};
685 686
686const struct xfs_buf_ops xfs_sb_quiet_buf_ops = { 687const struct xfs_buf_ops xfs_sb_quiet_buf_ops = {
688 .name = "xfs_sb_quiet",
687 .verify_read = xfs_sb_quiet_read_verify, 689 .verify_read = xfs_sb_quiet_read_verify,
688 .verify_write = xfs_sb_write_verify, 690 .verify_write = xfs_sb_write_verify,
689}; 691};
diff --git a/fs/xfs/libxfs/xfs_symlink_remote.c b/fs/xfs/libxfs/xfs_symlink_remote.c
index cb6fd20a4d3d..2e2c6716b623 100644
--- a/fs/xfs/libxfs/xfs_symlink_remote.c
+++ b/fs/xfs/libxfs/xfs_symlink_remote.c
@@ -168,6 +168,7 @@ xfs_symlink_write_verify(
168} 168}
169 169
170const struct xfs_buf_ops xfs_symlink_buf_ops = { 170const struct xfs_buf_ops xfs_symlink_buf_ops = {
171 .name = "xfs_symlink",
171 .verify_read = xfs_symlink_read_verify, 172 .verify_read = xfs_symlink_read_verify,
172 .verify_write = xfs_symlink_write_verify, 173 .verify_write = xfs_symlink_write_verify,
173}; 174};
diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h
index c79b717d9b88..c75721acd867 100644
--- a/fs/xfs/xfs_buf.h
+++ b/fs/xfs/xfs_buf.h
@@ -132,6 +132,7 @@ struct xfs_buf_map {
132 struct xfs_buf_map (map) = { .bm_bn = (blkno), .bm_len = (numblk) }; 132 struct xfs_buf_map (map) = { .bm_bn = (blkno), .bm_len = (numblk) };
133 133
134struct xfs_buf_ops { 134struct xfs_buf_ops {
135 char *name;
135 void (*verify_read)(struct xfs_buf *); 136 void (*verify_read)(struct xfs_buf *);
136 void (*verify_write)(struct xfs_buf *); 137 void (*verify_write)(struct xfs_buf *);
137}; 138};
diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
index 74d0e5966ebc..88693a98fac5 100644
--- a/fs/xfs/xfs_error.c
+++ b/fs/xfs/xfs_error.c
@@ -164,9 +164,9 @@ xfs_verifier_error(
164{ 164{
165 struct xfs_mount *mp = bp->b_target->bt_mount; 165 struct xfs_mount *mp = bp->b_target->bt_mount;
166 166
167 xfs_alert(mp, "Metadata %s detected at %pF, block 0x%llx", 167 xfs_alert(mp, "Metadata %s detected at %pF, %s block 0x%llx",
168 bp->b_error == -EFSBADCRC ? "CRC error" : "corruption", 168 bp->b_error == -EFSBADCRC ? "CRC error" : "corruption",
169 __return_address, bp->b_bn); 169 __return_address, bp->b_ops->name, bp->b_bn);
170 170
171 xfs_alert(mp, "Unmount and run xfs_repair"); 171 xfs_alert(mp, "Unmount and run xfs_repair");
172 172