fs/super.c: use && instead of & for warn_on condition
authorVincent Stehlé <[email protected]>
Mon, 21 Sep 2015 15:18:34 +0000 (17:18 +0200)
committerJiri Kosina <[email protected]>
Tue, 8 Dec 2015 13:50:57 +0000 (14:50 +0100)
This fixes the following sparse warning:

  fs/super.c:1202:9: warning: dubious: x & !y

Bitwise and logical and are equivalent here, but logical was intended.
The generated code is identical, with and without CONFIG_LOCKDEP.

Signed-off-by: Vincent Stehlé <[email protected]>
Acked-by: Oleg Nesterov <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
fs/super.c

index 954aeb80e202be0a40fc42eeca465c033ab1fc9a..7ea56de57d4b874a3d3737aa49dafa94715a6ff8 100644 (file)
@@ -1199,7 +1199,7 @@ int __sb_start_write(struct super_block *sb, int level, bool wait)
        else
                ret = percpu_down_read_trylock(sb->s_writers.rw_sem + level-1);
 
-       WARN_ON(force_trylock & !ret);
+       WARN_ON(force_trylock && !ret);
        return ret;
 }
 EXPORT_SYMBOL(__sb_start_write);