Thread (5 messages) 5 messages, 4 authors, 2017-01-31

Re: [4.9.1] Compiler warnings in bcache

From: Kai Krakow <hidden>
Date: 2017-01-10 20:51:38

Am Tue, 10 Jan 2017 13:41:25 +0800
schrieb Coly Li [off-list ref]:
On 2017/1/10 上午2:34, Kai Krakow wrote:
quoted
When compiling kernel 4.9.1, I'm seeing the following warnings:

In file included from ./include/linux/bio.h:23:0,
                 from drivers/md/bcache/bcache.h:181,
                 from drivers/md/bcache/writeback.c:9:
drivers/md/bcache/writeback.c: In Funktion
»bch_cached_dev_writeback_init«: ./include/linux/ioprio.h:15:73:
Warnung: Klammern um Arithmetik in Operand von »|« empfohlen
[-Wparentheses] #define IOPRIO_PRIO_VALUE(class, data) (((class) <<
IOPRIO_CLASS_SHIFT) | data) ^ drivers/md/bcache/writeback.c:515:25:
Anmerkung: bei Substitution des Makros »IOPRIO_PRIO_VALUE«
dc->ioprio_bypass    = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE,
IOPRIO_BE_NR-1); ^

It suggests to put parentheses around the expression with the "|"
operand. No other kernel source files show warnings for me, so
maybe it should be fixed.

I would create a patch myself but I'm not sure if it would be
correct and sufficient to put parenthesis around "data" like this:

#define IOPRIO_PRIO_VALUE(class, data) (((class) <<
IOPRIO_CLASS_SHIFT) | (data)) 
Hi Kai Krakow,

This fix is necessary, please send a patch to IOPRIO_PRIO_VALUE().

BTW, I don't see dc->ioprio_bypass from upstream kernel source, is it
from a development tree ?
Ahhh... This is from Erics ioprio bypass patches. I'm still using the
4.8 patchset with 4.9. Maybe it has been updated meanwhile?

-- 
Regards,
Kai

Replies to list-only preferred.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help