[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7b5a5907-a0bf-58a5-f4d7-f42a9b4755de@huawei.com>
Date: Mon, 12 Sep 2022 11:12:48 +0800
From: Jason Yan <yanaijie@...wei.com>
To: "Ritesh Harjani (IBM)" <ritesh.list@...il.com>
CC: <tytso@....edu>, <adilger.kernel@...ger.ca>, <jack@...e.cz>,
<lczerner@...hat.com>, <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH v2 07/13] ext4: factor out ext4_encoding_init()
On 2022/9/12 10:30, Jason Yan wrote:
>
> On 2022/9/8 16:56, Ritesh Harjani (IBM) wrote:
>> On 22/09/03 11:01AM, Jason Yan wrote:
>>> Factor out ext4_encoding_init(). No functional change.
>>>
>>> Signed-off-by: Jason Yan <yanaijie@...wei.com>
>>> Reviewed-by: Jan Kara <jack@...e.cz>
>>> ---
>>> fs/ext4/super.c | 80 +++++++++++++++++++++++++++----------------------
>>> 1 file changed, 44 insertions(+), 36 deletions(-)
>>>
>>> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
>>> index f8806226b796..67972b0218c0 100644
>>> --- a/fs/ext4/super.c
>>> +++ b/fs/ext4/super.c
>>> @@ -4521,6 +4521,48 @@ static int ext4_inode_info_init(struct
>>> super_block *sb,
>>> return 0;
>>> }
>>> +static int ext4_encoding_init(struct super_block *sb, struct
>>> ext4_super_block *es)
>>> +{
>>> +#if IS_ENABLED(CONFIG_UNICODE)
>>
>> How about simplying it like below.
>> if (!IS_ENABLED(CONFIG_UNICODE))
>> return 0;
>>
>> <...>
>>
>> Then we don't need #ifdef CONFIG_UNICODE
>>
>
> Nice idea. Will update.
>
Sorry I tried to compile with this change but the compiler is not clever
enough to ignore the code down if CONFIG_UNICODE is not enabled.
fs/ext4/super.c: In function ‘ext4_encoding_init’:
fs/ext4/super.c:4529:2: warning: ISO C90 forbids mixed declarations and
code [-Wdeclaration-after-statement]
4529 | const struct ext4_sb_encodings *encoding_info;
| ^~~~~
fs/ext4/super.c:4533:42: error: ‘struct super_block’ has no member named
‘s_encoding’
4533 | if (!ext4_has_feature_casefold(sb) || sb->s_encoding)
| ^~
fs/ext4/super.c:4536:18: error: implicit declaration of function
‘ext4_sb_read_encoding’; did you mean ‘ext4_sb_bread_unmovable’?
[-Werror=implicit-function-declaration]
4536 | encoding_info = ext4_sb_read_encoding(es);
| ^~~~~~~~~~~~~~~~~~~~~
| ext4_sb_bread_unmovable
fs/ext4/super.c:4536:16: warning: assignment to ‘const struct
ext4_sb_encodings *’ from ‘int’ makes pointer from integer without a
cast [-Wint-conversion]
4536 | encoding_info = ext4_sb_read_encoding(es);
| ^
fs/ext4/super.c:4543:36: error: dereferencing pointer to incomplete type
‘const struct ext4_sb_encodings’
4543 | encoding = utf8_load(encoding_info->version);
| ^~
fs/ext4/super.c:4562:4: error: ‘struct super_block’ has no member named
‘s_encoding’
4562 | sb->s_encoding = encoding;
| ^~
fs/ext4/super.c:4563:4: error: ‘struct super_block’ has no member named
‘s_encoding_flags’
4563 | sb->s_encoding_flags = encoding_flags;
| ^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:249: fs/ext4/super.o] Error 1
make[1]: *** [scripts/Makefile.build:465: fs/ext4] Error 2
make: *** [Makefile:1852: fs] Error 2
> Thanks
> Jason
> .
Powered by blists - more mailing lists