From: Josef Bacik <jbacik@xxxxxx>
While looking at a log of a corrupted fs I needed to verify we were
missing csums for a given range. Make this easier by printing out the
range of bytes a csum item covers.
Signed-off-by: Josef Bacik <jbacik@xxxxxx>
---
v1->v2:
- print the byte range instead of just the length
print-tree.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/print-tree.c b/print-tree.c
index 5927ed3..2aead6a 100644
--- a/print-tree.c
+++ b/print-tree.c
@@ -1103,9 +1103,16 @@ void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *eb)
case BTRFS_CSUM_ITEM_KEY:
printf("\t\tcsum item\n");
break;
- case BTRFS_EXTENT_CSUM_KEY:
- printf("\t\textent csum item\n");
+ case BTRFS_EXTENT_CSUM_KEY: {
+ u16 csum_size =
+ btrfs_super_csum_size(root->fs_info->super_copy);
+ u32 size = (item_size / csum_size) *
+ root->fs_info->sectorsize;
+ printf("\t\textent csum item range %llu-%llu\n",
+ (unsigned long long)disk_key.offset,
+ (unsigned long long)disk_key.offset + size);
break;
+ }
case BTRFS_EXTENT_DATA_KEY:
print_file_extent_item(eb, item, i, ptr);
break;
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html