public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* f
@ 2011-04-02 18:13 Christoph Hellwig
  2011-04-02 22:09 ` [PATCH] xfs: fix xfs_debug warnings Christoph Hellwig
  2011-04-04 18:13 ` Alex Elder
  0 siblings, 2 replies; 6+ messages in thread
From: Christoph Hellwig @ 2011-04-02 18:13 UTC (permalink / raw)
  To: xfs

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@lst.de>

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] xfs: fix xfs_debug warnings
  2011-04-02 18:13 f Christoph Hellwig
@ 2011-04-02 22:09 ` Christoph Hellwig
  2011-04-03  0:16   ` Dave Chinner
  2011-04-04 18:13 ` Alex Elder
  1 sibling, 1 reply; 6+ messages in thread
From: Christoph Hellwig @ 2011-04-02 22:09 UTC (permalink / raw)
  To: xfs

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@lst.de>
> 
> 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@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
---end quoted text---

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] xfs: fix xfs_debug warnings
  2011-04-02 22:09 ` [PATCH] xfs: fix xfs_debug warnings Christoph Hellwig
@ 2011-04-03  0:16   ` Dave Chinner
  2011-04-03 10:58     ` Christoph Hellwig
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Chinner @ 2011-04-03  0:16 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

On Sat, Apr 02, 2011 at 06:09:05PM -0400, Christoph Hellwig wrote:
> 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@lst.de>

Looks good, though I don't get those warnings using gcc-4.4.4. I
guess it's gcc-4.6 issuing the warnings?

Reviewed-by: Dave Chinner <dchinner@redhat.com>

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] xfs: fix xfs_debug warnings
  2011-04-03  0:16   ` Dave Chinner
@ 2011-04-03 10:58     ` Christoph Hellwig
  2011-04-04  0:21       ` Dave Chinner
  0 siblings, 1 reply; 6+ messages in thread
From: Christoph Hellwig @ 2011-04-03 10:58 UTC (permalink / raw)
  To: Dave Chinner; +Cc: xfs

On Sun, Apr 03, 2011 at 10:16:48AM +1000, Dave Chinner wrote:
> Looks good, though I don't get those warnings using gcc-4.4.4. I
> guess it's gcc-4.6 issuing the warnings?

Debian testing recently updated to gcc 4.5.2 from gcc 4.4.x, I think
that's when I started to see them.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] xfs: fix xfs_debug warnings
  2011-04-03 10:58     ` Christoph Hellwig
@ 2011-04-04  0:21       ` Dave Chinner
  0 siblings, 0 replies; 6+ messages in thread
From: Dave Chinner @ 2011-04-04  0:21 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

On Sun, Apr 03, 2011 at 06:58:23AM -0400, Christoph Hellwig wrote:
> On Sun, Apr 03, 2011 at 10:16:48AM +1000, Dave Chinner wrote:
> > Looks good, though I don't get those warnings using gcc-4.4.4. I
> > guess it's gcc-4.6 issuing the warnings?
> 
> Debian testing recently updated to gcc 4.5.2 from gcc 4.4.x, I think
> that's when I started to see them.

Ok, my build box is still running on squeeze which would explain the
difference. I'll look at upgrading it in the not-too-distant future.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] xfs: fix xfs_debug warnings
  2011-04-02 18:13 f Christoph Hellwig
  2011-04-02 22:09 ` [PATCH] xfs: fix xfs_debug warnings Christoph Hellwig
@ 2011-04-04 18:13 ` Alex Elder
  1 sibling, 0 replies; 6+ messages in thread
From: Alex Elder @ 2011-04-04 18:13 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

On Sat, 2011-04-02 at 14:13 -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@lst.de>

Looks good.

Reviewed-by: Alex Elder <aelder@sgi.com>

. . .

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-04-04 18:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-02 18:13 f Christoph Hellwig
2011-04-02 22:09 ` [PATCH] xfs: fix xfs_debug warnings Christoph Hellwig
2011-04-03  0:16   ` Dave Chinner
2011-04-03 10:58     ` Christoph Hellwig
2011-04-04  0:21       ` Dave Chinner
2011-04-04 18:13 ` Alex Elder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox