Err, the subject should have been:
[PATCH] xfs: fix xfs_debug warnings
On Sat, Apr 02, 2011 at 02:13:40PM -0400, Christoph Hellwig wrote:
> For a CONFIG_XFS_DEBUG=n build gcc complains about statements with no
> effect in xfs_debug:
>
> fs/xfs/quota/xfs_qm_syscalls.c: In function 'xfs_qm_scall_trunc_qfiles':
> fs/xfs/quota/xfs_qm_syscalls.c:291:3: warning: statement with no effect
>
> The reason for that is that the various new xfs message functions have a
> return value which is never used, and in case of the non-debug build
> xfs_debug the macro evaluates to a plain 0 which produces the above
> warnings. This can be fixed by turning xfs_debug into an inline function
> instead of a macro, but in addition to that I've also changed all the
> message helpers to return void as we never use their return values.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
>
> Index: linux-2.6/fs/xfs/linux-2.6/xfs_message.c
> ===================================================================
> --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_message.c 2011-04-02
> 07:29:33.619237021 -0700
> +++ linux-2.6/fs/xfs/linux-2.6/xfs_message.c 2011-04-02 07:33:02.383304718
> -0700
> @@ -28,53 +28,47 @@
> /*
> * XFS logging functions
> */
> -static int
> +static void
> __xfs_printk(
> const char *level,
> const struct xfs_mount *mp,
> struct va_format *vaf)
> {
> if (mp && mp->m_fsname)
> - return printk("%sXFS (%s): %pV\n", level, mp->m_fsname, vaf);
> - return printk("%sXFS: %pV\n", level, vaf);
> + printk("%sXFS (%s): %pV\n", level, mp->m_fsname, vaf);
> + printk("%sXFS: %pV\n", level, vaf);
> }
>
> -int xfs_printk(
> +void xfs_printk(
> const char *level,
> const struct xfs_mount *mp,
> const char *fmt, ...)
> {
> struct va_format vaf;
> va_list args;
> - int r;
>
> va_start(args, fmt);
>
> vaf.fmt = fmt;
> vaf.va = &args;
>
> - r = __xfs_printk(level, mp, &vaf);
> + __xfs_printk(level, mp, &vaf);
> va_end(args);
> -
> - return r;
> }
>
> #define define_xfs_printk_level(func, kern_level) \
> -int func(const struct xfs_mount *mp, const char *fmt, ...) \
> +void func(const struct xfs_mount *mp, const char *fmt, ...) \
> { \
> struct va_format vaf; \
> va_list args; \
> - int r; \
> \
> va_start(args, fmt); \
> \
> vaf.fmt = fmt; \
> vaf.va = &args; \
> \
> - r = __xfs_printk(kern_level, mp, &vaf); \
> + __xfs_printk(kern_level, mp, &vaf); \
> va_end(args); \
> - \
> - return r; \
> } \
>
> define_xfs_printk_level(xfs_emerg, KERN_EMERG);
> @@ -88,7 +82,7 @@ define_xfs_printk_level(xfs_info, KERN_I
> define_xfs_printk_level(xfs_debug, KERN_DEBUG);
> #endif
>
> -int
> +void
> xfs_alert_tag(
> const struct xfs_mount *mp,
> int panic_tag,
> @@ -97,7 +91,6 @@ xfs_alert_tag(
> struct va_format vaf;
> va_list args;
> int do_panic = 0;
> - int r;
>
> if (xfs_panic_mask && (xfs_panic_mask & panic_tag)) {
> xfs_printk(KERN_ALERT, mp,
> @@ -110,12 +103,10 @@ xfs_alert_tag(
> vaf.fmt = fmt;
> vaf.va = &args;
>
> - r = __xfs_printk(KERN_ALERT, mp, &vaf);
> + __xfs_printk(KERN_ALERT, mp, &vaf);
> va_end(args);
>
> BUG_ON(do_panic);
> -
> - return r;
> }
>
> void
> Index: linux-2.6/fs/xfs/linux-2.6/xfs_message.h
> ===================================================================
> --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_message.h 2011-04-02
> 07:29:33.631735833 -0700
> +++ linux-2.6/fs/xfs/linux-2.6/xfs_message.h 2011-04-02 07:32:07.359236603
> -0700
> @@ -3,32 +3,34 @@
>
> struct xfs_mount;
>
> -extern int xfs_printk(const char *level, const struct xfs_mount *mp,
> +extern void xfs_printk(const char *level, const struct xfs_mount *mp,
> const char *fmt, ...)
> __attribute__ ((format (printf, 3, 4)));
> -extern int xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_alert(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_alert_tag(const struct xfs_mount *mp, int tag,
> +extern void xfs_alert_tag(const struct xfs_mount *mp, int tag,
> const char *fmt, ...)
> __attribute__ ((format (printf, 3, 4)));
> -extern int xfs_crit(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_crit(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_err(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_err(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_warn(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_warn(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_notice(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_notice(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> -extern int xfs_info(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_info(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
>
> #ifdef DEBUG
> -extern int xfs_debug(const struct xfs_mount *mp, const char *fmt, ...)
> +extern void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...)
> __attribute__ ((format (printf, 2, 3)));
> #else
> -#define xfs_debug(mp, fmt, ...) (0)
> +static inline void xfs_debug(const struct xfs_mount *mp, const char *fmt,
> ...)
> +{
> +}
> #endif
>
> extern void assfail(char *expr, char *f, int l);
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
---end quoted text---
|