From 7dd3d51b9137e51c667c9c05df3ec3e5009ca157 Mon Sep 17 00:00:00 2001 From: Aya Levin Date: Wed, 2 Oct 2019 17:35:15 +0300 Subject: [PATCH] devlink: Left justification on FMSG output FMSG output is dynamic, space separator must be on the left hand side of the value. Otherwise output has redundant left indentation regardless the hierarchy. Before the patch: Common config: SQ: stride size: 64 size: 1024 CQ: stride size: 64 size: 1024 SQs: channel ix: 0 tc: 0 txq ix: 0 sqn: 10 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 6 HW status: 0 channel ix: 1 tc: 0 txq ix: 1 sqn: 14 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 10 HW status: 0 channel ix: 2 tc: 0 txq ix: 2 sqn: 18 HW state: 1 stopped: false cc: 5 pc: 5 CQ: cqn: 14 HW status: 0 channel ix: 3 tc: 0 txq ix: 3 sqn: 22 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 18 HW status: 0 With the patch: Common config: SQ: stride size: 64 size: 1024 CQ: stride size: 64 size: 1024 SQs: channel ix: 0 tc: 0 txq ix: 0 sqn: 10 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 6 HW status: 0 channel ix: 1 tc: 0 txq ix: 1 sqn: 14 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 10 HW status: 0 channel ix: 2 tc: 0 txq ix: 2 sqn: 18 HW state: 1 stopped: false cc: 5 pc: 5 CQ: cqn: 14 HW status: 0 channel ix: 3 tc: 0 txq ix: 3 sqn: 22 HW state: 1 stopped: false cc: 0 pc: 0 CQ: cqn: 18 HW status: 0 Fixes: 844a61764c6f ("devlink: Add helper functions for name and value separately") Signed-off-by: Aya Levin Acked-by: Jiri Pirko Signed-off-by: Tariq Toukan Signed-off-by: Stephen Hemminger --- devlink/devlink.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/devlink/devlink.c b/devlink/devlink.c index d654dc7b..50baf82a 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -1872,26 +1872,29 @@ static void pr_out_u64(struct dl *dl, const char *name, uint64_t val) static void pr_out_bool_value(struct dl *dl, bool value) { + __pr_out_indent_newline(dl); if (dl->json_output) jsonw_bool(dl->jw, value); else - pr_out(" %s", value ? "true" : "false"); + pr_out("%s", value ? "true" : "false"); } static void pr_out_uint_value(struct dl *dl, unsigned int value) { + __pr_out_indent_newline(dl); if (dl->json_output) jsonw_uint(dl->jw, value); else - pr_out(" %u", value); + pr_out("%u", value); } static void pr_out_uint64_value(struct dl *dl, uint64_t value) { + __pr_out_indent_newline(dl); if (dl->json_output) jsonw_u64(dl->jw, value); else - pr_out(" %"PRIu64, value); + pr_out("%"PRIu64, value); } static bool is_binary_eol(int i) @@ -1918,18 +1921,20 @@ static void pr_out_binary_value(struct dl *dl, uint8_t *data, uint32_t len) static void pr_out_str_value(struct dl *dl, const char *value) { + __pr_out_indent_newline(dl); if (dl->json_output) jsonw_string(dl->jw, value); else - pr_out(" %s", value); + pr_out("%s", value); } static void pr_out_name(struct dl *dl, const char *name) { + __pr_out_indent_newline(dl); if (dl->json_output) jsonw_name(dl->jw, name); else - pr_out(" %s:", name); + pr_out("%s:", name); } static void pr_out_region_chunk_start(struct dl *dl, uint64_t addr) -- 2.39.2