| 53 | } |
| 54 | |
| 55 | int check_btrfs(disk_t *disk_car,partition_t *partition) |
| 56 | { |
| 57 | unsigned char *buffer=(unsigned char*)MALLOC(BTRFS_SUPER_INFO_SIZE); |
| 58 | if(disk_car->pread(disk_car, buffer, BTRFS_SUPER_INFO_SIZE, partition->part_offset + BTRFS_SUPER_INFO_OFFSET) != BTRFS_SUPER_INFO_SIZE) |
| 59 | { |
| 60 | free(buffer); |
| 61 | return 1; |
| 62 | } |
| 63 | if(test_btrfs((struct btrfs_super_block*)buffer)!=0) |
| 64 | { |
| 65 | free(buffer); |
| 66 | return 1; |
| 67 | } |
| 68 | set_btrfs_info((struct btrfs_super_block*)buffer, partition); |
| 69 | free(buffer); |
| 70 | return 0; |
| 71 | } |
| 72 | |
| 73 | /* |
| 74 | Primary superblock is at 1024 (SUPERBLOCK_OFFSET) |
no test coverage detected