Primary superblock is at 0x8000 */
| 96 | Primary superblock is at 0x8000 |
| 97 | */ |
| 98 | int recover_JFS(const disk_t *disk_car, const struct jfs_superblock *sb,partition_t *partition,const int verbose, const int dump_ind) |
| 99 | { |
| 100 | if(test_JFS(disk_car, sb, partition, dump_ind)!=0) |
| 101 | return 1; |
| 102 | set_JFS_info(sb, partition); |
| 103 | partition->part_type_i386=P_LINUX; |
| 104 | partition->part_type_sun=PSUN_LINUX; |
| 105 | partition->part_type_mac=PMAC_LINUX; |
| 106 | partition->part_type_gpt=GPT_ENT_TYPE_LINUX_DATA; |
| 107 | partition->part_size=(uint64_t)le32(sb->s_pbsize) * le64(sb->s_size) + |
| 108 | (uint64_t)le32(sb->s_bsize) * (le24(sb->s_fsckpxd.len)+le24(sb->s_logpxd.len)); |
| 109 | partition->sborg_offset=64*512; |
| 110 | partition->sb_size=JFS_SUPERBLOCK_SIZE; |
| 111 | partition->sb_offset=0; |
| 112 | guid_cpy(&partition->part_uuid, (const efi_guid_t *)&sb->s_uuid); |
| 113 | if(verbose>0) |
| 114 | { |
| 115 | log_info("\n"); |
| 116 | log_info("recover_JFS: s_blocksize=%u\n",partition->blocksize); |
| 117 | log_info("recover_JFS: s_size %lu\n",(long unsigned int)le64(sb->s_size)); |
| 118 | log_info("recover_JFS: s_fsckpxd.len:%d\n", (int)le24(sb->s_fsckpxd.len)); |
| 119 | log_info("recover_JFS: s_logpxd.len:%d\n", (int)le24(sb->s_logpxd.len)); |
| 120 | log_info("recover_JFS: part_size %lu\n",(long unsigned)(partition->part_size/disk_car->sector_size)); |
| 121 | } |
| 122 | return 0; |
| 123 | } |
no test coverage detected