diff --git a/f2fs_utils/f2fs_sparseblock.c b/f2fs_utils/f2fs_sparseblock.c index 17552fb5..297a976c 100644 --- a/f2fs_utils/f2fs_sparseblock.c +++ b/f2fs_utils/f2fs_sparseblock.c @@ -26,9 +26,9 @@ #member, le64_to_cpu((ptr)->member), le64_to_cpu((ptr)->member) ); \ } while (0); -#define segno_in_journal(sum, i) (sum->sit_j.entries[i].segno) +#define segno_in_journal(jnl, i) (jnl->sit_j.entries[i].segno) -#define sit_in_journal(sum, i) (sum->sit_j.entries[i].se) +#define sit_in_journal(jnl, i) (jnl->sit_j.entries[i].se) static void dbg_print_raw_sb_info(struct f2fs_super_block *sb) { @@ -137,10 +137,10 @@ static void dbg_print_info_struct(struct f2fs_info *info) SLOGD("blocks_per_sit: %"PRIu64, info->blocks_per_sit); SLOGD("sit_blocks loc: %p", info->sit_blocks); SLOGD("sit_sums loc: %p", info->sit_sums); - SLOGD("sit_sums num: %d", le16_to_cpu(info->sit_sums->n_sits)); + SLOGD("sit_sums num: %d", le16_to_cpu(info->sit_sums->journal.n_sits)); unsigned int i; - for(i = 0; i < (le16_to_cpu(info->sit_sums->n_sits)); i++) { - SLOGD("entry %d in journal entries is for segment %d",i, le32_to_cpu(segno_in_journal(info->sit_sums, i))); + for(i = 0; i < (le16_to_cpu(info->sit_sums->journal.n_sits)); i++) { + SLOGD("entry %d in journal entries is for segment %d",i, le32_to_cpu(segno_in_journal(info->journal, i))); } SLOGD("cp_blkaddr: %"PRIu64, info->cp_blkaddr); @@ -360,7 +360,7 @@ static int get_sit_summary(int fd, struct f2fs_info *info, struct f2fs_checkpoin if (is_set_ckpt_flags(cp, CP_COMPACT_SUM_FLAG)) { if (read_structure_blk(fd, info->cp_valid_cp_blkaddr + le32_to_cpu(cp->cp_pack_start_sum), buffer, 1)) return -1; - memcpy(&info->sit_sums->n_sits, &buffer[SUM_JOURNAL_SIZE], SUM_JOURNAL_SIZE); + memcpy(&info->sit_sums->journal.n_sits, &buffer[SUM_JOURNAL_SIZE], SUM_JOURNAL_SIZE); } else { u64 blk_addr; if (is_set_ckpt_flags(cp, CP_UMOUNT_FLAG)) @@ -503,9 +503,9 @@ int run_on_used_blocks(u64 startblock, struct f2fs_info *info, int (*func)(u64 p /* check the SIT entries in the journal */ found = 0; - for(i = 0; i < le16_to_cpu(info->sit_sums->n_sits); i++) { - if (le32_to_cpu(segno_in_journal(info->sit_sums, i)) == segnum) { - sit_entry = &sit_in_journal(info->sit_sums, i); + for(i = 0; i < le16_to_cpu(info->sit_sums->journal.n_sits); i++) { + if (le32_to_cpu(segno_in_journal(info->journal, i)) == segnum) { + sit_entry = &sit_in_journal(info->journal, i); found = 1; break; } diff --git a/f2fs_utils/f2fs_sparseblock.h b/f2fs_utils/f2fs_sparseblock.h index 0a0dab47..c3416449 100644 --- a/f2fs_utils/f2fs_sparseblock.h +++ b/f2fs_utils/f2fs_sparseblock.h @@ -35,6 +35,7 @@ extern "C" { struct f2fs_sit_block; struct f2fs_summary_block; +struct f2fs_journal; struct f2fs_info { u_int64_t blocks_per_segment; @@ -45,6 +46,7 @@ struct f2fs_info { u_int64_t blocks_per_sit; struct f2fs_sit_block *sit_blocks; struct f2fs_summary_block *sit_sums; + struct f2fs_journal *journal; u_int64_t cp_blkaddr; u_int64_t cp_valid_cp_blkaddr;