On Mon, Jul 13, 2015 at 10:51:00PM -0400, Oleg Drokin wrote: > > On Jul 13, 2015, at 10:46 PM, Greg Kroah-Hartman wrote: > > > On Mon, Jul 06, 2015 at 12:48:56PM -0400, green@xxxxxxxxxxxxxx wrote: > >> From: Oleg Drokin <green@xxxxxxxxxxxxxx> > >> > >> It's just a fancy libcfs_debug_mb module parameter wrapper, > >> so just add debug buffer size check and resizing and the same > >> functionality now would be accessible via > >> /sys/module/libcfs/parameters/libcfs_debug_mb > >> > >> Also add a symlink for backwards compatibility. > >> > >> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> > >> --- > >> drivers/staging/lustre/lustre/libcfs/debug.c | 37 ++++++++++++++++++++++-- > >> drivers/staging/lustre/lustre/libcfs/module.c | 32 ++------------------ > >> drivers/staging/lustre/lustre/libcfs/tracefile.c | 12 -------- > >> drivers/staging/lustre/lustre/libcfs/tracefile.h | 1 - > >> 4 files changed, 37 insertions(+), 45 deletions(-) > >> > >> diff --git a/drivers/staging/lustre/lustre/libcfs/debug.c b/drivers/staging/lustre/lustre/libcfs/debug.c > >> index 5ae7b65..e4c7129 100644 > >> --- a/drivers/staging/lustre/lustre/libcfs/debug.c > >> +++ b/drivers/staging/lustre/lustre/libcfs/debug.c > >> @@ -57,8 +57,39 @@ module_param(libcfs_debug, int, 0644); > >> MODULE_PARM_DESC(libcfs_debug, "Lustre kernel debug mask"); > >> EXPORT_SYMBOL(libcfs_debug); > >> > >> +static int libcfs_param_debug_mb_set(const char *val, > >> + const struct kernel_param *kp) > >> +{ > >> + int rc; > >> + unsigned num; > >> + > >> + rc = kstrtouint(val, 0, &num); > >> + if (rc == -EINVAL) > >> + return -EINVAL; > >> + > >> + if (!*((unsigned int *)kp->arg)) { > >> + *((unsigned int *)kp->arg) = num; > >> + return 0; > >> + } > >> + > >> + rc = cfs_trace_set_debug_mb(num); > >> + > >> + if (!rc) > >> + *((unsigned int *)kp->arg) = cfs_trace_get_debug_mb(); > >> + > >> + return rc; > >> +} > >> + > >> +static struct kernel_param_ops param_ops_debugmb = { > >> + .set = libcfs_param_debug_mb_set, > >> + .get = param_get_uint, > >> +}; > >> + > >> +#define param_check_debugmb(name, p) \ > >> + __param_check(name, p, unsigned int) > >> + > >> static unsigned int libcfs_debug_mb; > >> -module_param(libcfs_debug_mb, uint, 0644); > >> +module_param(libcfs_debug_mb, debugmb, 0644); > > > > module_param wants a variable type as the second option, not a variable > > name, how is this working? > > debugmb IS the type, that I just declared above. > See all the param_ops_XXX and param_check_XXX thing? Ah, missed that, sorry, my fault. Ok, I see you resent this with a better comment, thanks for that, I'll go queue it up now. greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel