// SPDX-License-Identifier: GPL-2.0 #include #include #include #include int main(int argc, char **argv) { struct logical_block_metadata_cap cap = {}; const char *filename; int fd; int result; if (argc != 2) { fprintf(stderr, "Usage: %s BLOCK_DEVICE\n", argv[0]); return 1; } filename = argv[1]; fd = open(filename, O_RDONLY); if (fd < 0) { perror(filename); return 1; } result = ioctl(fd, FS_IOC_GETLBMD_CAP, &cap); if (result < 0) { perror("ioctl"); return 1; } printf("metadata_size: %u\n", cap.lbmd_size); printf("pi_offset: %u\n", cap.lbmd_pi_offset); printf("pi_tuple_size: %u\n", cap.lbmd_pi_size); return 0; }