Extract CPU number formatting logic from prepare_extradata() into a new append_cpu_nr() function.
This refactoring improves code organization by isolating CPU number formatting into its own function while reducing the complexity of prepare_extradata().
The change prepares the codebase for the upcoming taskname feature by establishing a consistent pattern for handling sysdata features.
The CPU number formatting logic itself remains unchanged; only its location has moved to improve maintainability.
Signed-off-by: Breno Leitao leitao@debian.org --- drivers/net/netconsole.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index c086e2fe51f874812379e6f89c421d7d32980f91..26ff2ed4de16bce58e9eeaf8b5b362dfaafaca0a 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -1117,13 +1117,21 @@ static void populate_configfs_item(struct netconsole_target *nt, init_target_config_group(nt, target_name); }
+static int append_cpu_nr(struct netconsole_target *nt, int offset) +{ + /* Append cpu=%d at extradata_complete after userdata str */ + return scnprintf(&nt->extradata_complete[offset], + MAX_EXTRADATA_ENTRY_LEN, " cpu=%u\n", + raw_smp_processor_id()); +} + /* * prepare_extradata - append sysdata at extradata_complete in runtime * @nt: target to send message to */ static int prepare_extradata(struct netconsole_target *nt) { - int sysdata_len, extradata_len; + int extradata_len;
/* userdata was appended when configfs write helper was called * by update_userdata(). @@ -1133,12 +1141,8 @@ static int prepare_extradata(struct netconsole_target *nt) if (!(nt->sysdata_fields & SYSDATA_CPU_NR)) goto out;
- /* Append cpu=%d at extradata_complete after userdata str */ - sysdata_len = scnprintf(&nt->extradata_complete[nt->userdata_length], - MAX_EXTRADATA_ENTRY_LEN, " cpu=%u\n", - raw_smp_processor_id()); - - extradata_len += sysdata_len; + if (nt->sysdata_fields & SYSDATA_CPU_NR) + extradata_len += append_cpu_nr(nt, nt->userdata_length);
WARN_ON_ONCE(extradata_len > MAX_EXTRADATA_ENTRY_LEN * MAX_EXTRADATA_ITEMS);