On Tue, 10 Jan 2017, Coly Li wrote: > 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)) I caught that before submitting to Jens, so its in 4.10. I agree with Coly, however, that (data) should be added but I'm unable to do that at the moment. -- Eric Wheeler > > > > 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 > -- > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html >