From fbb34d3b5145c3c55a4e49e17c82fcc5d5c47dd4 Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Sun, 12 Jan 2025 17:00:08 +0900 Subject: [PATCH] nvme-print-stdout: add get feature pls mode print This change required libnvme FEAT_PLS_MODE definition added. Signed-off-by: Tokunori Ikegami --- nvme-print-stdout.c | 4 ++++ nvme-print.c | 16 ++++++++++++++++ nvme-print.h | 1 + 3 files changed, 21 insertions(+) diff --git a/nvme-print-stdout.c b/nvme-print-stdout.c index fe3c971e..4a8a95df 100644 --- a/nvme-print-stdout.c +++ b/nvme-print-stdout.c @@ -4971,6 +4971,10 @@ static void stdout_feature_show_fields(enum nvme_features_id fid, case NVME_FEAT_FID_SPINUP_CONTROL: printf("\tSpinup control feature Enabled: %s\n", (result & 1) ? "True" : "False"); break; + case NVME_FEAT_FID_POWER_LOSS_SIGNAL: + printf("\tPower Loss Signaling Mode (PLSM): %s\n", + nvme_pls_mode_to_string(NVME_GET(result, FEAT_PLS_MODE))); + break; case NVME_FEAT_FID_ENH_CTRL_METADATA: case NVME_FEAT_FID_CTRL_METADATA: case NVME_FEAT_FID_NS_METADATA: diff --git a/nvme-print.c b/nvme-print.c index b94d2356..e95d21e0 100644 --- a/nvme-print.c +++ b/nvme-print.c @@ -1349,6 +1349,22 @@ const char *nvme_time_scale_to_string(__u8 ts) return "Reserved"; } +const char *nvme_pls_mode_to_string(__u8 mode) +{ + switch (mode) { + case 0: + return "not enabled"; + case 1: + return "enabled with Emergency Power Fail"; + case 2: + return "enabled with Forced Quiescence"; + default: + break; + } + + return "Reserved"; +} + void nvme_feature_show(enum nvme_features_id fid, int sel, unsigned int result) { nvme_print(show_feature, NORMAL, fid, sel, result); diff --git a/nvme-print.h b/nvme-print.h index f6096a87..6fedd584 100644 --- a/nvme-print.h +++ b/nvme-print.h @@ -313,6 +313,7 @@ const char *nvme_pel_rci_rcpit_to_string(enum nvme_pel_rci_rcpit rcpit); const char *nvme_pel_ehai_pit_to_string(enum nvme_pel_ehai_pit pit); const char *nvme_ssi_state_to_string(__u8 state); const char *nvme_time_scale_to_string(__u8 ts); +const char *nvme_pls_mode_to_string(__u8 mode); void nvme_dev_full_path(nvme_ns_t n, char *path, size_t len); void nvme_generic_full_path(nvme_ns_t n, char *path, size_t len); -- 2.50.1