On Tue, Jun 11, 2013 at 01:38:24PM -0400, Paul Gortmaker wrote: > > +#if defined(CONFIG_JBD_DEBUG) || defined(CONFIG_JBD2_DEBUG) > +static inline void __jbd_debug(int level, const char *file, const char *func, > + unsigned int line, const char *fmt, ...) > +{ > + struct va_format vaf; > + va_list args; > + > + if (level > JOURNAL_ENABLE_DEBUG) > + return; > + va_start(args, fmt); > + vaf.fmt = fmt; > + vaf.va = &args; > + printk(KERN_DEBUG "%s: (%s, %u): %pV\n", file, func, line, &vaf); > + va_end(args); > +} > +#endif What's the difference in the overall size of jbd.ko and jbd2.ko using an inline __jbd_debug compared with one where the __jbd_debug is defined as a function in fs/jbd2/journal.c (or fs/jbd/journal.c; that will be the problem trying to solve this problem for jbd and jbd2 at the same time)? If gcc was competent at optimizing inline functions with varargs, this might be fine. But I'm a bit concerned whether this might cause a lot of bloat if CONFIG_JBD2_DEBUG is enabled. It would be nice if the impact was small enough that people were willing to enable so it's available when we want to do debuggin. Regards, - Ted -- 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