On Thu, Oct 06, 2022 at 07:42:06PM -0300, Guilherme G. Piccoli wrote: > Currently this tuning is only exposed as a filesystem option, > but most Linux distros automatically mount pstore, hence changing > this setting requires remounting it. Also, if that mount option > wasn't explicitly set it doesn't show up in mount information, > so users cannot check what is the current value of kmsg_bytes. > > Let's then expose it as a module parameter, allowing both user > visibility at all times (even if not manually set) and also the > possibility of setting that as a boot/module parameter. I've been meaning to do this too. :) > > Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> > --- > fs/pstore/platform.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c > index c32957e4b256..be05090076ce 100644 > --- a/fs/pstore/platform.c > +++ b/fs/pstore/platform.c > @@ -89,6 +89,11 @@ static char *compress = > module_param(compress, charp, 0444); > MODULE_PARM_DESC(compress, "compression to use"); > > +/* How much of the kernel log to snapshot */ > +unsigned long kmsg_bytes = CONFIG_PSTORE_DEFAULT_KMSG_BYTES; > +module_param(kmsg_bytes, ulong, 0444); > +MODULE_PARM_DESC(kmsg_bytes, "amount of kernel log to snapshot (in bytes)"); > + > /* Compression parameters */ > static struct crypto_comp *tfm; > > @@ -100,9 +105,6 @@ struct pstore_zbackend { > static char *big_oops_buf; > static size_t big_oops_buf_sz; > > -/* How much of the console log to snapshot */ > -unsigned long kmsg_bytes = CONFIG_PSTORE_DEFAULT_KMSG_BYTES; > - > void pstore_set_kmsg_bytes(int bytes) > { > kmsg_bytes = bytes; > -- > 2.38.0 Doing a mount will override the result, so I wonder if there should be two variables, etc... not a concern for the normal use case. Also, I've kind of wanted to get rid of a "default" for this and instead use a value based on the compression vs record sizes, etc. But I didn't explore it. -- Kees Cook