Re: [PATCH 4/4] jbd: use a single printk for jbd_debug()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 01-08-13 12:21:05, Joe Perches wrote:
> On Thu, 2013-08-01 at 15:01 -0400, Paul Gortmaker wrote:
> > Backport of jbd2 commit 169f1a2a87aae44034da4b9f81be1683d33de6d0
> > ("jbd2: use a single printk for jbd_debug()")
> 
> Hey Paul.
> 
> > diff --git a/include/linux/jbd.h b/include/linux/jbd.h
> []
> > @@ -56,16 +56,13 @@
> >  #define JBD_EXPENSIVE_CHECKING
> >  extern ushort journal_enable_debug;
> >  
> > -#define jbd_debug(n, f, a...)						\
> > -	do {								\
> > -		if ((n) <= journal_enable_debug) {			\
> > -			printk (KERN_DEBUG "(%s, %d): %s: ",		\
> > -				__FILE__, __LINE__, __func__);	\
> > -			printk (f, ## a);				\
> > -		}							\
> > -	} while (0)
> > +void __jbd_debug(int level, const char *file, const char *func,
> > +		 unsigned int line, const char *fmt, ...
> > +
> > +#define jbd_debug(n, fmt, a...) \
> > +	__jbd_debug((n), __FILE__, __func__, __LINE__, (fmt), ##a)
> >  #else
> > -#define jbd_debug(f, a...)	/**/
> > +#define jbd_debug(n, fmt, a...)    /**/
> >  #endif
> 
> It might have been (and may still be) simpler/better
> to use a single macro like:
> 
> #define jbd_dbg(n, fmt, ...)			\
> do {						\
> 	if ((n) < journal_enable_debug)		\
> 		pr_debug(fmt, ##__VA_ARGS__);	\
> } while (0)
> 
> and then use dynamic_debug to add the __func__,
> and __LINE__ when desired.
> 
> echo -n 'module jbd +pfl' <dynamic_debug>/control
  Umm, I like the Paul's way better. Sure we have to jump into
__jbd_debug() even if we won't write any message because debug level is low
but OTOH jbd_debug() is non-empty only when JBD_EXPENSIVE_CHECKING is
enabled. So there the extra call is fine.

								Honza
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux