mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-08-08 05:30:55 +00:00
devlink: Add devlink health dump show command
Add devlink dump show command which displays the last saved dump. Devlink health saves a single dump. If a dump is not already stored by the devlink for this reporter, devlink generates a new dump. The dump can be generated automatically when a reporter reports on an error or manually by user's request. The dump's output is defined by the reporter. The command uses the infra structure for flexible format output introduced in previous patch. Example: $ devlink health dump show pci/0000:00:09.0 reporter tx Signed-off-by: Aya Levin <ayal@mellanox.com> Reviewed-by: Moshe Shemesh <moshe@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
7b8baf834d
commit
041e6e651a
@ -5993,6 +5993,11 @@ static int cmd_health_object_common(struct dl *dl, uint8_t cmd)
|
||||
return err;
|
||||
}
|
||||
|
||||
static int cmd_health_dump_show(struct dl *dl)
|
||||
{
|
||||
return cmd_health_object_common(dl, DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET);
|
||||
}
|
||||
|
||||
static int cmd_health_diagnose(struct dl *dl)
|
||||
{
|
||||
return cmd_health_object_common(dl, DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE);
|
||||
@ -6156,6 +6161,7 @@ static void cmd_health_help(void)
|
||||
pr_err("Usage: devlink health show [ dev DEV reporter REPORTER_NAME ]\n");
|
||||
pr_err(" devlink health recover DEV reporter REPORTER_NAME\n");
|
||||
pr_err(" devlink health diagnose DEV reporter REPORTER_NAME\n");
|
||||
pr_err(" devlink health dump show DEV reporter REPORTER_NAME\n");
|
||||
}
|
||||
|
||||
static int cmd_health(struct dl *dl)
|
||||
@ -6173,6 +6179,12 @@ static int cmd_health(struct dl *dl)
|
||||
} else if (dl_argv_match(dl, "diagnose")) {
|
||||
dl_arg_inc(dl);
|
||||
return cmd_health_diagnose(dl);
|
||||
} else if (dl_argv_match(dl, "dump")) {
|
||||
dl_arg_inc(dl);
|
||||
if (dl_argv_match(dl, "show")) {
|
||||
dl_arg_inc(dl);
|
||||
return cmd_health_dump_show(dl);
|
||||
}
|
||||
}
|
||||
pr_err("Command \"%s\" not found\n", dl_argv(dl));
|
||||
return -ENOENT;
|
||||
|
Loading…
Reference in New Issue
Block a user