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

Re: [4.9.1] Compiler warnings in bcache

From: Coly Li <hidden>
Date: 2017-01-10 05:41:33

On 2017/1/10 上午2:34, Kai Krakow wrote:
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 ?


-- 
Coly Li
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help