2024-04-02 10:19:04

by Thorsten Blum

[permalink] [raw]
Subject: [PATCH] zonefs: Use str_plural() to fix Coccinelle warning

Fixes the following Coccinelle/coccicheck warning reported by
string_choices.cocci:

opportunity for str_plural(zgroup->g_nr_zones)

Signed-off-by: Thorsten Blum <[email protected]>
---
fs/zonefs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index c6a124e8d565..964fa7f24003 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -1048,7 +1048,7 @@ static int zonefs_init_zgroup(struct super_block *sb,
zonefs_info(sb, "Zone group \"%s\" has %u file%s\n",
zonefs_zgroup_name(ztype),
zgroup->g_nr_zones,
- zgroup->g_nr_zones > 1 ? "s" : "");
+ str_plural(zgroup->g_nr_zones));

return 0;
}
--
2.44.0



2024-04-08 01:48:56

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] zonefs: Use str_plural() to fix Coccinelle warning

On 4/2/24 19:17, Thorsten Blum wrote:
> Fixes the following Coccinelle/coccicheck warning reported by
> string_choices.cocci:
>
> opportunity for str_plural(zgroup->g_nr_zones)
>
> Signed-off-by: Thorsten Blum <[email protected]>
> ---
> fs/zonefs/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
> index c6a124e8d565..964fa7f24003 100644
> --- a/fs/zonefs/super.c
> +++ b/fs/zonefs/super.c
> @@ -1048,7 +1048,7 @@ static int zonefs_init_zgroup(struct super_block *sb,
> zonefs_info(sb, "Zone group \"%s\" has %u file%s\n",
> zonefs_zgroup_name(ztype),
> zgroup->g_nr_zones,
> - zgroup->g_nr_zones > 1 ? "s" : "");
> + str_plural(zgroup->g_nr_zones));

Looking at this function definition:

static inline const char *str_plural(size_t num)
{
return num == 1 ? "" : "s";
}

It is wrong: num == 0 should not imply plural. This function needs to be fixed.
E.g. it should be:

static inline const char *str_plural(size_t num)
{
return num <= 1 ? "" : "s";
}

Please fix that first and then we can apply your patch to zonefs.

--
Damien Le Moal
Western Digital Research


2024-04-08 10:06:44

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] zonefs: Use str_plural() to fix Coccinelle warning

On 4/8/24 19:04, Thorsten Blum wrote:
> On 8. Apr 2024, at 03:48, Damien Le Moal <[email protected]> wrote:
>>
>> Looking at this function definition:
>>
>> static inline const char *str_plural(size_t num)
>> {
>> return num == 1 ? "" : "s";
>> }
>>
>> It is wrong: num == 0 should not imply plural. This function needs to be fixed.
>
> I think the function is correct because in English it's:
>
> 0 files

Hu... I learned something today :)
OK. Will queue that the patch then !

> 1 file (every number but 1 is plural in English)
> 2 files
> ...
>
> Best,
> Thorsten

--
Damien Le Moal
Western Digital Research


2024-04-08 10:06:56

by Thorsten Blum

[permalink] [raw]
Subject: Re: [PATCH] zonefs: Use str_plural() to fix Coccinelle warning

On 8. Apr 2024, at 03:48, Damien Le Moal <[email protected]> wrote:
>
> Looking at this function definition:
>
> static inline const char *str_plural(size_t num)
> {
> return num == 1 ? "" : "s";
> }
>
> It is wrong: num == 0 should not imply plural. This function needs to be fixed.

I think the function is correct because in English it's:

0 files
1 file (every number but 1 is plural in English)
2 files
..

Best,
Thorsten

2024-04-09 23:51:59

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] zonefs: Use str_plural() to fix Coccinelle warning

On 4/2/24 19:17, Thorsten Blum wrote:
> Fixes the following Coccinelle/coccicheck warning reported by
> string_choices.cocci:
>
> opportunity for str_plural(zgroup->g_nr_zones)
>
> Signed-off-by: Thorsten Blum <[email protected]>

Applied to for-6.9-fixes. Thanks !


--
Damien Le Moal
Western Digital Research