[dm-devel] dm: writecache: fix format string warning

Mike Snitzer snitzer at redhat.com
Tue May 29 18:09:26 UTC 2018


On Mon, May 28 2018 at 11:54am -0400,
Arnd Bergmann <arnd at arndb.de> wrote:

> The return type of ACCESS_ONCE is configuration dependent and may be either
> 'int' or 'long int' for the writecache_has_error() macro, so we get a warning
> like this for either format string:
> 
> In file included from drivers/md/dm-writecache.c:8:
> drivers/md/dm-writecache.c: In function 'writecache_status':
> drivers/md/dm-writecache.c:2227:10: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Werror=format=]
>    DMEMIT("%ld %llu %llu %llu", writecache_has_error(wc),
>           ^~~~~~~~~~~~~~~~~~~~
> include/linux/device-mapper.h:549:46: note: in definition of macro 'DMEMIT'
>       0 : scnprintf(result + sz, maxlen - sz, x))
>                                               ^
> 
> The code is otherwise correct, so we just need to shut up the warning,
> which can be done using an extra type cast.
> 
> Fixes: bb15b431d650 ("dm: add writecache target")
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Thanks, I've picked this up.




More information about the dm-devel mailing list