44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <uuid/uuid.h>
|
|
#include "kerncompat.h"
|
|
#include "radix-tree.h"
|
|
#include "ctree.h"
|
|
#include "disk-io.h"
|
|
#include "print-tree.h"
|
|
#include "transaction.h"
|
|
|
|
int main(int ac, char **av) {
|
|
struct btrfs_super_block super;
|
|
struct btrfs_root *root;
|
|
char uuidbuf[37];
|
|
|
|
if (ac != 2) {
|
|
fprintf(stderr, "usage: %s device\n", av[0]);
|
|
exit(1);
|
|
}
|
|
radix_tree_init();
|
|
root = open_ctree(av[1], &super);
|
|
if (!root) {
|
|
fprintf(stderr, "unable to open %s\n", av[1]);
|
|
exit(1);
|
|
}
|
|
printf("fs tree\n");
|
|
btrfs_print_tree(root, root->node);
|
|
printf("map tree\n");
|
|
btrfs_print_tree(root->fs_info->extent_root,
|
|
root->fs_info->extent_root->node);
|
|
printf("inode tree\n");
|
|
btrfs_print_tree(root->fs_info->inode_root,
|
|
root->fs_info->inode_root->node);
|
|
printf("root tree\n");
|
|
btrfs_print_tree(root->fs_info->tree_root,
|
|
root->fs_info->tree_root->node);
|
|
printf("total blocks %Lu\n", btrfs_super_total_blocks(&super));
|
|
printf("blocks used %Lu\n", btrfs_super_blocks_used(&super));
|
|
uuidbuf[36] = '\0';
|
|
uuid_unparse(super.fsid, uuidbuf);
|
|
printf("uuid %s\n", uuidbuf);
|
|
return 0;
|
|
}
|