On Tue, Feb 25, 2025 at 12:41:50PM +0100, Paolo Abeni wrote: > On 2/21/25 2:52 PM, Breno Leitao wrote: > > Add configfs interface to enable/disable the taskname sysdata feature. > > This adds the following functionality: > > > > The implementation follows the same pattern as the existing CPU number > > feature, ensuring consistent behavior and error handling across sysdata > > features. > > > > Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx> > > --- > > drivers/net/netconsole.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 50 insertions(+) > > > > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c > > index 1b109f46512ffb7628c6b34c6efdfc301376dd53..5a29144ae37ee7b487b1a252b0f2ce8574f9cefa 100644 > > --- a/drivers/net/netconsole.c > > +++ b/drivers/net/netconsole.c > > @@ -426,6 +426,20 @@ static ssize_t sysdata_cpu_nr_enabled_show(struct config_item *item, char *buf) > > return sysfs_emit(buf, "%d\n", cpu_nr_enabled); > > } > > > > +/* configfs helper to display if taskname sysdata feature is enabled */ > > +static ssize_t sysdata_taskname_enabled_show(struct config_item *item, > > + char *buf) > > +{ > > + struct netconsole_target *nt = to_target(item->ci_parent); > > + bool taskname_enabled; > > + > > + mutex_lock(&dynamic_netconsole_mutex); > > + taskname_enabled = !!(nt->sysdata_fields & SYSDATA_TASKNAME); > > + mutex_unlock(&dynamic_netconsole_mutex); > > + > > + return sysfs_emit(buf, "%d\n", taskname_enabled); > > +} > > + > > /* > > * This one is special -- targets created through the configfs interface > > * are not enabled (and the corresponding netpoll activated) by default. > > @@ -841,6 +855,40 @@ static void disable_sysdata_feature(struct netconsole_target *nt, > > nt->extradata_complete[nt->userdata_length] = 0; > > } > > > > +static ssize_t sysdata_taskname_enabled_store(struct config_item *item, > > + const char *buf, size_t count) > > +{ > > + struct netconsole_target *nt = to_target(item->ci_parent); > > + bool taskname_enabled, curr; > > + ssize_t ret; > > + > > + ret = kstrtobool(buf, &taskname_enabled); > > + if (ret) > > + return ret; > > + > > + mutex_lock(&dynamic_netconsole_mutex); > > + curr = nt->sysdata_fields & SYSDATA_TASKNAME; > > Minor nit: > curr = !!(nt->sysdata_fields & SYSDATA_TASKNAME); > > would be preferable, and more robust if later on other SYSDATA_ bits are > added, 'moving down' SYSDATA_TASKNAME definition. > > Also it would be more consistent with previous usage in > `sysdata_taskname_enabled_show()` Good point, in fact. I will update! Thanks for the review, --breno