summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Bo <bo.li.liu@oracle.com>2017-08-18 15:15:21 -0600
committerDavid Sterba <dsterba@suse.com>2017-08-21 17:47:43 +0200
commit07638ea5987e51715b35eb5a9a9e908f18ffabf7 (patch)
tree5f2e4f8b97a4c3d5de3eee1e82cbfe0c1aa1aa48
parent4335958de2a43c6790c7f6aa0682aa7189983fa4 (diff)
downloadlinux-07638ea5987e51715b35eb5a9a9e908f18ffabf7.tar.bz2
Btrfs: remove BUG() in print_extent_item
btrfs_print_leaf() is used in btrfs_get_extent_inline_ref_type, so here we really want to print the invalid value of ref type instead of causing a kernel panic. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/print-tree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c
index 6e7a8c40dcd9..c1acbdcb476c 100644
--- a/fs/btrfs/print-tree.c
+++ b/fs/btrfs/print-tree.c
@@ -121,7 +121,10 @@ static void print_extent_item(struct extent_buffer *eb, int slot, int type)
offset, btrfs_shared_data_ref_count(eb, sref));
break;
default:
- BUG();
+ btrfs_err(eb->fs_info,
+ "extent %llu has invalid ref type %d",
+ eb->start, type);
+ return;
}
ptr += btrfs_extent_inline_ref_size(type);
}