diff options
author | Chao Yu <chao2.yu@samsung.com> | 2016-03-11 16:43:54 +0800 |
---|---|---|
committer | luca020400 <luca.stefani.ge1@gmail.com> | 2016-04-04 17:17:56 +0200 |
commit | 95d62086f3b1f078e5bee6b53ab661939900bb3f (patch) | |
tree | 912a567938f127d7f2fa13632937e2e2d0cd2803 /mkfs/f2fs_format.c | |
parent | b96655498fa77e4b5cb7437dcba60eba90a70c56 (diff) | |
download | android_external_f2fs-tools-95d62086f3b1f078e5bee6b53ab661939900bb3f.tar.gz android_external_f2fs-tools-95d62086f3b1f078e5bee6b53ab661939900bb3f.tar.bz2 android_external_f2fs-tools-95d62086f3b1f078e5bee6b53ab661939900bb3f.zip |
f2fs-tools: rebase struct f2fs_summary_block with upstream
Struct f2fs_summary_block has been changed in upstream commits:
- commit 8f1dbbbbdfe9 ("f2fs: introduce lifetime write IO statistics")
- commit dfc08a12e49a ("f2fs: introduce f2fs_journal struct to wrap journal info")
This patch does the sync work for f2fs_summary_block structure between
f2fs-utils and f2fs kernel module.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'mkfs/f2fs_format.c')
-rw-r--r-- | mkfs/f2fs_format.c | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index ad890d8..8fe6b70 100644 --- a/mkfs/f2fs_format.c +++ b/mkfs/f2fs_format.c @@ -410,6 +410,7 @@ static int f2fs_init_nat_area(void) static int f2fs_write_check_point_pack(void) { struct f2fs_summary_block *sum = NULL; + struct f2fs_journal *journal; u_int32_t blk_size_bytes; u_int64_t cp_seg_blk_offset = 0; u_int32_t crc = 0; @@ -532,38 +533,39 @@ static int f2fs_write_check_point_pack(void) memset(sum, 0, sizeof(struct f2fs_summary_block)); SET_SUM_TYPE((&sum->footer), SUM_TYPE_DATA); - sum->n_nats = cpu_to_le16(1); - sum->nat_j.entries[0].nid = sb->root_ino; - sum->nat_j.entries[0].ne.version = 0; - sum->nat_j.entries[0].ne.ino = sb->root_ino; - sum->nat_j.entries[0].ne.block_addr = cpu_to_le32( + journal = &sum->journal; + journal->n_nats = cpu_to_le16(1); + journal->nat_j.entries[0].nid = sb->root_ino; + journal->nat_j.entries[0].ne.version = 0; + journal->nat_j.entries[0].ne.ino = sb->root_ino; + journal->nat_j.entries[0].ne.block_addr = cpu_to_le32( get_sb(main_blkaddr) + get_cp(cur_node_segno[0]) * config.blks_per_seg); - memcpy(sum_compact_p, &sum->n_nats, SUM_JOURNAL_SIZE); + memcpy(sum_compact_p, &journal->n_nats, SUM_JOURNAL_SIZE); sum_compact_p += SUM_JOURNAL_SIZE; memset(sum, 0, sizeof(struct f2fs_summary_block)); /* inode sit for root */ - sum->n_sits = cpu_to_le16(6); - sum->sit_j.entries[0].segno = cp->cur_node_segno[0]; - sum->sit_j.entries[0].se.vblocks = cpu_to_le16((CURSEG_HOT_NODE << 10) | 1); - f2fs_set_bit(0, (char *)sum->sit_j.entries[0].se.valid_map); - sum->sit_j.entries[1].segno = cp->cur_node_segno[1]; - sum->sit_j.entries[1].se.vblocks = cpu_to_le16((CURSEG_WARM_NODE << 10)); - sum->sit_j.entries[2].segno = cp->cur_node_segno[2]; - sum->sit_j.entries[2].se.vblocks = cpu_to_le16((CURSEG_COLD_NODE << 10)); + journal->n_sits = cpu_to_le16(6); + journal->sit_j.entries[0].segno = cp->cur_node_segno[0]; + journal->sit_j.entries[0].se.vblocks = cpu_to_le16((CURSEG_HOT_NODE << 10) | 1); + f2fs_set_bit(0, (char *)journal->sit_j.entries[0].se.valid_map); + journal->sit_j.entries[1].segno = cp->cur_node_segno[1]; + journal->sit_j.entries[1].se.vblocks = cpu_to_le16((CURSEG_WARM_NODE << 10)); + journal->sit_j.entries[2].segno = cp->cur_node_segno[2]; + journal->sit_j.entries[2].se.vblocks = cpu_to_le16((CURSEG_COLD_NODE << 10)); /* data sit for root */ - sum->sit_j.entries[3].segno = cp->cur_data_segno[0]; - sum->sit_j.entries[3].se.vblocks = cpu_to_le16((CURSEG_HOT_DATA << 10) | 1); - f2fs_set_bit(0, (char *)sum->sit_j.entries[3].se.valid_map); - sum->sit_j.entries[4].segno = cp->cur_data_segno[1]; - sum->sit_j.entries[4].se.vblocks = cpu_to_le16((CURSEG_WARM_DATA << 10)); - sum->sit_j.entries[5].segno = cp->cur_data_segno[2]; - sum->sit_j.entries[5].se.vblocks = cpu_to_le16((CURSEG_COLD_DATA << 10)); - - memcpy(sum_compact_p, &sum->n_sits, SUM_JOURNAL_SIZE); + journal->sit_j.entries[3].segno = cp->cur_data_segno[0]; + journal->sit_j.entries[3].se.vblocks = cpu_to_le16((CURSEG_HOT_DATA << 10) | 1); + f2fs_set_bit(0, (char *)journal->sit_j.entries[3].se.valid_map); + journal->sit_j.entries[4].segno = cp->cur_data_segno[1]; + journal->sit_j.entries[4].se.vblocks = cpu_to_le16((CURSEG_WARM_DATA << 10)); + journal->sit_j.entries[5].segno = cp->cur_data_segno[2]; + journal->sit_j.entries[5].se.vblocks = cpu_to_le16((CURSEG_COLD_DATA << 10)); + + memcpy(sum_compact_p, &journal->n_sits, SUM_JOURNAL_SIZE); sum_compact_p += SUM_JOURNAL_SIZE; /* hot data summary */ |