[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <493ce255-efcd-48af-ad7f-6e421cc04f1c@redhat.com>
Date: Wed, 20 Nov 2024 08:27:57 -0600
From: Eric Sandeen <sandeen@...hat.com>
To: Jaegeuk Kim <jaegeuk@...nel.org>, linux-kernel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net
Cc: stable@...r.kernel.org, Daniel Rosenberg <drosen@...gle.com>
Subject: Re: [PATCH] Revert "f2fs: remove unreachable lazytime mount option
parsing"
On 11/12/24 3:39 PM, Jaegeuk Kim wrote:
> Hi Eric,
>
> Could you please check this revert as it breaks the mount()?
> It seems F2FS needs to implement new mount support.
>
> Thanks,
I'm sorry, I missed this email. I will look into it more today.
As for f2fs new mount API support, I have been struggling with it for a
long time, f2fs has been uniquely complex. The assumption that the superblock
and on-disk features are known at option parsing time makes it much more
difficult than most other filesystems.
But if there's a problem/regression with this commit, I have no objection to
reverting the commit for now, and I'm sorry for the error.
-Eric
> On 11/12, Jaegeuk Kim wrote:
>> This reverts commit 54f43a10fa257ad4af02a1d157fefef6ebcfa7dc.
>>
>> The above commit broke the lazytime mount, given
>>
>> mount("/dev/vdb", "/mnt/test", "f2fs", 0, "lazytime");
>>
>> CC: stable@...r.kernel.org # 6.11+
>> Signed-off-by: Daniel Rosenberg <drosen@...gle.com>
>> Signed-off-by: Jaegeuk Kim <jaegeuk@...nel.org>
>> ---
>> fs/f2fs/super.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
>> index 49519439b770..35c4394e4fc6 100644
>> --- a/fs/f2fs/super.c
>> +++ b/fs/f2fs/super.c
>> @@ -150,6 +150,8 @@ enum {
>> Opt_mode,
>> Opt_fault_injection,
>> Opt_fault_type,
>> + Opt_lazytime,
>> + Opt_nolazytime,
>> Opt_quota,
>> Opt_noquota,
>> Opt_usrquota,
>> @@ -226,6 +228,8 @@ static match_table_t f2fs_tokens = {
>> {Opt_mode, "mode=%s"},
>> {Opt_fault_injection, "fault_injection=%u"},
>> {Opt_fault_type, "fault_type=%u"},
>> + {Opt_lazytime, "lazytime"},
>> + {Opt_nolazytime, "nolazytime"},
>> {Opt_quota, "quota"},
>> {Opt_noquota, "noquota"},
>> {Opt_usrquota, "usrquota"},
>> @@ -922,6 +926,12 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
>> f2fs_info(sbi, "fault_type options not supported");
>> break;
>> #endif
>> + case Opt_lazytime:
>> + sb->s_flags |= SB_LAZYTIME;
>> + break;
>> + case Opt_nolazytime:
>> + sb->s_flags &= ~SB_LAZYTIME;
>> + break;
>> #ifdef CONFIG_QUOTA
>> case Opt_quota:
>> case Opt_usrquota:
>> --
>> 2.47.0.277.g8800431eea-goog
>
Powered by blists - more mailing lists