aboutsummaryrefslogtreecommitdiffstats
path: root/mkfs/f2fs_format.c
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2016-03-11 16:43:54 +0800
committerluca020400 <luca.stefani.ge1@gmail.com>2016-04-04 17:17:56 +0200
commit95d62086f3b1f078e5bee6b53ab661939900bb3f (patch)
tree912a567938f127d7f2fa13632937e2e2d0cd2803 /mkfs/f2fs_format.c
parentb96655498fa77e4b5cb7437dcba60eba90a70c56 (diff)
downloadandroid_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.c48
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 */