|
@@ -215,6 +215,7 @@ F2FS_RW_ATTR(SM_INFO, f2fs_sm_info, min_fsync_blocks, min_fsync_blocks);
|
|
|
F2FS_RW_ATTR(NM_INFO, f2fs_nm_info, ram_thresh, ram_thresh);
|
|
|
F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, max_victim_search, max_victim_search);
|
|
|
F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, dir_level, dir_level);
|
|
|
+F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, cp_interval, cp_interval);
|
|
|
|
|
|
#define ATTR_LIST(name) (&f2fs_attr_##name.attr)
|
|
|
static struct attribute *f2fs_attrs[] = {
|
|
@@ -231,6 +232,7 @@ static struct attribute *f2fs_attrs[] = {
|
|
|
ATTR_LIST(max_victim_search),
|
|
|
ATTR_LIST(dir_level),
|
|
|
ATTR_LIST(ram_thresh),
|
|
|
+ ATTR_LIST(cp_interval),
|
|
|
NULL,
|
|
|
};
|
|
|
|
|
@@ -1014,6 +1016,7 @@ static void init_sb_info(struct f2fs_sb_info *sbi)
|
|
|
atomic_set(&sbi->nr_pages[i], 0);
|
|
|
|
|
|
sbi->dir_level = DEF_DIR_LEVEL;
|
|
|
+ sbi->cp_interval = DEF_CP_INTERVAL;
|
|
|
clear_sbi_flag(sbi, SBI_NEED_FSCK);
|
|
|
|
|
|
INIT_LIST_HEAD(&sbi->s_list);
|
|
@@ -1350,6 +1353,8 @@ try_onemore:
|
|
|
f2fs_commit_super(sbi, true);
|
|
|
}
|
|
|
|
|
|
+ sbi->cp_expires = round_jiffies_up(jiffies);
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
free_kobj:
|