-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Hi,
After upgarding zfs on a Linux system, we noticed that the ZPOOL_STATUS enum now contains 28 entry (0 to 27) instead of 25. (shifting the ZPOOL_STATUS_OK position from 24 to 27 in the process... triggering an alert in our Prometheus monitoring :-)
According to https://github.com/zfsonlinux/zfs/blob/master/include/libzfs.h, 3 new status were added:
ZPOOL_STATUS_HOSTID_ACTIVE, ZPOOL_STATUS_HOSTID_REQUIRED and ZPOOL_STATUS_IO_FAILURE_MMP.
For the record, here is the full list of values in zpool_status_t enum :
0 ZPOOL_STATUS_CORRUPT_CACHE, /* corrupt /kernel/drv/zpool.cache /
1 ZPOOL_STATUS_MISSING_DEV_R, / missing device with replicas /
2 ZPOOL_STATUS_MISSING_DEV_NR, / missing device with no replicas /
3 ZPOOL_STATUS_CORRUPT_LABEL_R, / bad device label with replicas /
4 ZPOOL_STATUS_CORRUPT_LABEL_NR, / bad device label with no replicas /
5 ZPOOL_STATUS_BAD_GUID_SUM, / sum of device guids didn't match /
6 ZPOOL_STATUS_CORRUPT_POOL, / pool metadata is corrupted /
7 ZPOOL_STATUS_CORRUPT_DATA, / data errors in user (meta)data /
8 ZPOOL_STATUS_FAILING_DEV, / device experiencing errors /
9 ZPOOL_STATUS_VERSION_NEWER, / newer on-disk version /
10 ZPOOL_STATUS_HOSTID_MISMATCH, / last accessed by another system /
11 ZPOOL_STATUS_HOSTID_ACTIVE, / currently active on another system /
12 ZPOOL_STATUS_HOSTID_REQUIRED, / multihost=on and hostid=0 /
13 ZPOOL_STATUS_IO_FAILURE_WAIT, / failed I/O, failmode 'wait' /
14 ZPOOL_STATUS_IO_FAILURE_CONTINUE, / failed I/O, failmode 'continue' /
15 ZPOOL_STATUS_IO_FAILURE_MMP, / failed MMP, failmode not 'panic' /
16 ZPOOL_STATUS_BAD_LOG, / cannot read log chain(s) /
17 ZPOOL_STATUS_ERRATA, / informational errata available /
18 ZPOOL_STATUS_UNSUP_FEAT_READ, / unsupported features for read /
19 ZPOOL_STATUS_UNSUP_FEAT_WRITE, / unsupported features for write /
20 ZPOOL_STATUS_FAULTED_DEV_R, / faulted device with replicas /
21 ZPOOL_STATUS_FAULTED_DEV_NR, / faulted device with no replicas /
22 ZPOOL_STATUS_VERSION_OLDER, / older legacy on-disk version /
23 ZPOOL_STATUS_FEAT_DISABLED, / supported features are disabled /
24 ZPOOL_STATUS_RESILVERING, / device being resilvered /
25 ZPOOL_STATUS_OFFLINE_DEV, / device offline /
26 ZPOOL_STATUS_REMOVED_DEV, / removed device */
27 ZPOOL_STATUS_OK
We are fine with the zfs-exporter code as it is because it return a numeric status sufficient for alerting but maybe updating the zfs_zpool_poolstatus metric help text would be a good idea :-)
Cheers