zpcimon: Add NVMe SMART data monitor

Add a new monitor which uses libnvme to collect SMART data from NVMes.
This monitor only implements the .collect_adapter_data operation since
it carries no state across data collections. Nevertheless for future
symmetry and possible future expansion also add an empty struct
nvmemon_ctx.

Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Niklas Schnelle
2026-06-22 12:43:07 +02:00
committed by Jan Höppner
parent a9dbb8a1a2
commit 2eceedeb11
9 changed files with 172 additions and 13 deletions
+8
View File
@@ -12,6 +12,7 @@
#define OPT_DUMP 128
#define OPT_FORMAT 129
#define OPT_SMART_DUMP 130
static struct util_opt opt_vec[] = {
UTIL_OPT_SECTION("OPERATION OPTIONS"),
@@ -35,6 +36,13 @@ static struct util_opt opt_vec[] = {
"This matches 'ethtool --module-info <netdev> raw on'",
.flags = UTIL_OPT_FLAG_NOSHORT,
},
{
.option = { "smart-log-raw", no_argument, NULL, OPT_SMART_DUMP },
.desc = "Include a base64 encoded binary dump of the "
"SMART log data for each NVMe. "
"This matches 'nvme smart-log --raw-binary <dev>'",
.flags = UTIL_OPT_FLAG_NOSHORT,
},
UTIL_OPT_SECTION("OPTIONS WITH ARGUMENTS"),
{
.option = { "interval", required_argument, NULL, 'i' },