MCPcopy Create free account
hub / github.com/cgsecurity/testdisk / recover_JFS

Function recover_JFS

src/jfs.c:98–123  ·  view source on GitHub ↗

Primary superblock is at 0x8000 */

Source from the content-addressed store, hash-verified

96Primary superblock is at 0x8000
97*/
98int 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}

Callers 1

search_type_64Function · 0.85

Calls 3

test_JFSFunction · 0.85
set_JFS_infoFunction · 0.85
guid_cpyFunction · 0.85

Tested by

no test coverage detected