Messages in this thread Patch in this message | | | From | Yangtao Li <> | Subject | [PATCH] f2fs: fix to check warm_data_age_threshold | Date | Tue, 17 Jan 2023 17:54:07 +0800 |
| |
hot_data_age_threshold is a non-zero positive number, and condition 2 includes condition 1, so there is no need to additionally judge whether t is 0. And we need to judge whether hot_data_age_threshold exceeds the number of available blocks.
Fixes: 71644dff4811 ("f2fs: add block_age-based extent cache") Signed-off-by: Yangtao Li <frank.li@vivo.com> --- fs/f2fs/sysfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index e396851a6dd1..b59595daf3ef 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -689,7 +689,10 @@ static ssize_t __sbi_store(struct f2fs_attr *a, } if (!strcmp(a->attr.name, "warm_data_age_threshold")) { - if (t == 0 || t <= sbi->hot_data_age_threshold) + block_t avail_user_block_count; + + avail_user_block_count = sbi->user_block_count - sbi->current_reserved_blocks; + if (t <= sbi->hot_data_age_threshold || t >= avail_user_block_count) return -EINVAL; if (t == *ui) return count; -- 2.25.1
| |