2020-11-20 18:31:39

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH 032/141] floppy: Fix fall-through warnings for Clang

In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
by explicitly adding a fallthrough pseudo-keyword in places where the
code is intended to fall through to the next case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/block/floppy.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index 7df79ae6b0a1..21a2a7becba0 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -2124,6 +2124,7 @@ static void format_interrupt(void)
switch (interpret_errors()) {
case 1:
cont->error();
+ fallthrough;
case 2:
break;
case 0:
--
2.27.0


2021-04-20 20:27:33

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH 032/141] floppy: Fix fall-through warnings for Clang

Hi all,

Friendly ping: who can take this, please?

Thanks
--
Gustavo

On 11/20/20 12:28, Gustavo A. R. Silva wrote:
> In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
> by explicitly adding a fallthrough pseudo-keyword in places where the
> code is intended to fall through to the next case.
>
> Link: https://github.com/KSPP/linux/issues/115
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/block/floppy.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
> index 7df79ae6b0a1..21a2a7becba0 100644
> --- a/drivers/block/floppy.c
> +++ b/drivers/block/floppy.c
> @@ -2124,6 +2124,7 @@ static void format_interrupt(void)
> switch (interpret_errors()) {
> case 1:
> cont->error();
> + fallthrough;
> case 2:
> break;
> case 0:
>

2021-04-20 20:31:18

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH 032/141] floppy: Fix fall-through warnings for Clang

On 4/20/21 2:25 PM, Gustavo A. R. Silva wrote:
> Hi all,
>
> Friendly ping: who can take this, please?
>
> Thanks
> --
> Gustavo
>
> On 11/20/20 12:28, Gustavo A. R. Silva wrote:
>> In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
>> by explicitly adding a fallthrough pseudo-keyword in places where the
>> code is intended to fall through to the next case.
>>
>> Link: https://github.com/KSPP/linux/issues/115
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>> drivers/block/floppy.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
>> index 7df79ae6b0a1..21a2a7becba0 100644
>> --- a/drivers/block/floppy.c
>> +++ b/drivers/block/floppy.c
>> @@ -2124,6 +2124,7 @@ static void format_interrupt(void)
>> switch (interpret_errors()) {
>> case 1:
>> cont->error();
>> + fallthrough;
>> case 2:
>> break;
>> case 0:

I wonder about the consistency of the patches. The one I just applied
for libata adds a break, this one annotates fallthrough. But the cases
are really 100% the same. Why aren't the changes consistent? Both are
obviously fine, but for identical cases it seems odd that they differ.

IMHO, adding a break makes more sense. Annotate the fallthrough if the
two cases share work that needs to be done, as then that solution makes
sense.

--
Jens Axboe

2021-04-20 20:36:35

by Denis Efremov

[permalink] [raw]
Subject: Re: [PATCH 032/141] floppy: Fix fall-through warnings for Clang

Hi,

Sorry, this was missed somehow.

I would rewrite it to something more simple instead of adding fallthrough.

What about?

--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -2123,12 +2123,14 @@ static void set_floppy(int drive)
static void format_interrupt(void)
{
switch (interpret_errors()) {
+ case 0:
+ cont->done(1);
+ break;
case 1:
cont->error();
+ break;
case 2:
break;
- case 0:
- cont->done(1);
}
cont->redo();
}

On 4/20/21 11:25 PM, Gustavo A. R. Silva wrote:
> Hi all,
>
> Friendly ping: who can take this, please?
>
> Thanks
> --
> Gustavo
>
> On 11/20/20 12:28, Gustavo A. R. Silva wrote:
>> In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
>> by explicitly adding a fallthrough pseudo-keyword in places where the
>> code is intended to fall through to the next case.
>>
>> Link: https://github.com/KSPP/linux/issues/115
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>> drivers/block/floppy.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
>> index 7df79ae6b0a1..21a2a7becba0 100644
>> --- a/drivers/block/floppy.c
>> +++ b/drivers/block/floppy.c
>> @@ -2124,6 +2124,7 @@ static void format_interrupt(void)
>> switch (interpret_errors()) {
>> case 1:
>> cont->error();
>> + fallthrough;
>> case 2:
>> break;
>> case 0:
>>

2021-04-20 20:40:28

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH 032/141] floppy: Fix fall-through warnings for Clang



On 4/20/21 15:30, Jens Axboe wrote:

>>>
>>> diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
>>> index 7df79ae6b0a1..21a2a7becba0 100644
>>> --- a/drivers/block/floppy.c
>>> +++ b/drivers/block/floppy.c
>>> @@ -2124,6 +2124,7 @@ static void format_interrupt(void)
>>> switch (interpret_errors()) {
>>> case 1:
>>> cont->error();
>>> + fallthrough;
>>> case 2:
>>> break;
>>> case 0:
>
> I wonder about the consistency of the patches. The one I just applied
> for libata adds a break, this one annotates fallthrough. But the cases
> are really 100% the same. Why aren't the changes consistent? Both are
> obviously fine, but for identical cases it seems odd that they differ.
>
> IMHO, adding a break makes more sense. Annotate the fallthrough if the
> two cases share work that needs to be done, as then that solution makes
> sense.
>

Yeah; I'll resend this with a break, instead.

Thanks for the feedback.
--
Gustavo