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--- _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs