Messages in this thread | | | Date | Mon, 1 Feb 2021 12:11:23 -0800 | From | Jaegeuk Kim <> | Subject | Re: [f2fs-dev] [PATCH] f2fs: fix checkpoint mount option wrong combination |
| |
On 02/01, 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. > 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?
We need to clarify a bit more. :)
mount checkpoint=disable,checkpoint=merge remount checkpoint=enable,checkpoint=merge
Then, is it going to enable checkpoint with a thread?
> > > > 2021년 2월 1일 (월) 오후 9:40, Chao Yu <chao@kernel.org>님이 작성: > > > > On 2021/2/1 8:06, Daeho Jeong wrote: > > > From: Daeho Jeong <daehojeong@google.com> > > > > > > As checkpoint=merge comes in, mount option setting related to > > > checkpoint had been mixed up. Fixed it. > > > > > > Signed-off-by: Daeho Jeong <daehojeong@google.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@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
| |