2 * Author: Gabriel de Perthuis <g2p.code@gmail.com>
8 #define _FILE_OFFSET_BITS 64
9 #define __USE_FILE_OFFSET64
10 #define _XOPEN_SOURCE 500
22 #include <sys/ioctl.h>
23 #include <sys/types.h>
26 #include <uuid/uuid.h>
32 fprintf(stderr, "Usage: bcache-super-show [-f] <device>\n");
35 int main(int argc, char **argv)
39 struct cache_sb sb_stack, *sb = &sb_stack;
40 size_t bytes = sizeof(*sb);
41 bool force_csum = false;
43 while ((o = getopt(argc, argv, "f")) != EOF)
62 int fd = open(argv[0], O_RDONLY);
64 printf("Can't open dev %s: %s\n", argv[0], strerror(errno));
68 if (pread(fd, sb, bytes, SB_START) != bytes) {
69 fprintf(stderr, "Couldn't read\n");
74 bytes = sizeof(*sb) + sb->keys * sizeof(uint64_t);
77 if (pread(fd, sb, bytes, SB_START) != bytes) {
78 fprintf(stderr, "Couldn't read\n");
84 show_super_cache(sb, force_csum);
86 show_super_backingdev(sb, force_csum);