lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <a98a7866-3e57-e480-9405-4002de0ec4ad@huawei.com> Date: Tue, 2 Feb 2021 09:28:59 +0800 From: Chao Yu <yuchao0@...wei.com> To: Daeho Jeong <daeho43@...il.com>, Chao Yu <chao@...nel.org> CC: Daeho Jeong <daehojeong@...gle.com>, <kernel-team@...roid.com>, <linux-kernel@...r.kernel.org>, <linux-f2fs-devel@...ts.sourceforge.net> Subject: Re: [f2fs-dev] [PATCH] f2fs: fix checkpoint mount option wrong combination On 2021/2/1 21:11, Daeho Jeong wrote: > Actually, I think we need to select one among them, disable, enable > and merge. I realized my previous understanding about that was wrong. Actually, 1. chekcpoint=enable/disable decide whether we will allow checkpoint 2. checkpoint=merge or not decide how we issue checkpoint They are different, we should not only select only one of them, the combination of them is allowed. Thanks, > In that case of "checkpoint=merge,checkpoint=enable", the last option > will override the ones before that. > This is how the other mount options like fsync_mode, whint_mode and etc. > So, the answer will be "checkpoint=enable". What do you think? > > > > 2021년 2월 1일 (월) 오후 9:40, Chao Yu <chao@...nel.org>님이 작성: >> >> On 2021/2/1 8:06, Daeho Jeong wrote: >>> From: Daeho Jeong <daehojeong@...gle.com> >>> >>> As checkpoint=merge comes in, mount option setting related to >>> checkpoint had been mixed up. Fixed it. >>> >>> Signed-off-by: Daeho Jeong <daehojeong@...gle.com> >>> --- >>> fs/f2fs/super.c | 11 +++++------ >>> 1 file changed, 5 insertions(+), 6 deletions(-) >>> >>> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c >>> index 56696f6cfa86..8231c888c772 100644 >>> --- a/fs/f2fs/super.c >>> +++ b/fs/f2fs/super.c >>> @@ -930,20 +930,25 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) >>> return -EINVAL; >>> F2FS_OPTION(sbi).unusable_cap_perc = arg; >>> set_opt(sbi, DISABLE_CHECKPOINT); >>> + clear_opt(sbi, MERGE_CHECKPOINT); >>> break; >>> case Opt_checkpoint_disable_cap: >>> if (args->from && match_int(args, &arg)) >>> return -EINVAL; >>> F2FS_OPTION(sbi).unusable_cap = arg; >>> set_opt(sbi, DISABLE_CHECKPOINT); >>> + clear_opt(sbi, MERGE_CHECKPOINT); >>> break; >>> case Opt_checkpoint_disable: >>> set_opt(sbi, DISABLE_CHECKPOINT); >>> + clear_opt(sbi, MERGE_CHECKPOINT); >>> break; >>> case Opt_checkpoint_enable: >>> clear_opt(sbi, DISABLE_CHECKPOINT); >>> + clear_opt(sbi, MERGE_CHECKPOINT); >> >> What if: -o checkpoint=merge,checkpoint=enable >> >> Can you please explain the rule of merge/disable/enable combination and their >> result? e.g. >> checkpoint=merge,checkpoint=enable >> checkpoint=enable,checkpoint=merge >> checkpoint=merge,checkpoint=disable >> checkpoint=disable,checkpoint=merge >> >> If the rule/result is clear, it should be documented. >> >> Thanks, >> >> >>> break; >>> case Opt_checkpoint_merge: >>> + clear_opt(sbi, DISABLE_CHECKPOINT); >>> set_opt(sbi, MERGE_CHECKPOINT); >>> break; >>> #ifdef CONFIG_F2FS_FS_COMPRESSION >>> @@ -1142,12 +1147,6 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) >>> return -EINVAL; >>> } >>> >>> - if (test_opt(sbi, DISABLE_CHECKPOINT) && >>> - test_opt(sbi, MERGE_CHECKPOINT)) { >>> - f2fs_err(sbi, "checkpoint=merge cannot be used with checkpoint=disable\n"); >>> - return -EINVAL; >>> - } >>> - >>> /* Not pass down write hints if the number of active logs is lesser >>> * than NR_CURSEG_PERSIST_TYPE. >>> */ >>> > > > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@...ts.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel >
Powered by blists - more mailing lists