mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
Additional Information for Zedlets
* Add ZPOOL pool state to zfs_post_common to allow differentiation between export and destroy by zedlets. * Add pool name as standard export This ensures pool name is exported to zedlets. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Don Brady <don.brady@intel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Closes #5942
This commit is contained in:
parent
3f2da6cb73
commit
bcdb96a3e1
@ -653,6 +653,16 @@ _zed_event_add_nvpair(uint64_t eid, zed_strings_t *zsp, nvpair_t *nvp)
|
|||||||
(void) snprintf(alt, sizeof (alt), "%s_str", name);
|
(void) snprintf(alt, sizeof (alt), "%s_str", name);
|
||||||
_zed_event_add_var(eid, zsp, prefix, alt, "%s",
|
_zed_event_add_var(eid, zsp, prefix, alt, "%s",
|
||||||
zpool_state_to_name(i64, VDEV_AUX_NONE));
|
zpool_state_to_name(i64, VDEV_AUX_NONE));
|
||||||
|
} else
|
||||||
|
/*
|
||||||
|
* shadow readable strings for pool state
|
||||||
|
*/
|
||||||
|
if (strcmp(name, FM_EREPORT_PAYLOAD_ZFS_POOL_STATE) == 0) {
|
||||||
|
char alt[32];
|
||||||
|
|
||||||
|
(void) snprintf(alt, sizeof (alt), "%s_str", name);
|
||||||
|
_zed_event_add_var(eid, zsp, prefix, alt, "%s",
|
||||||
|
zpool_pool_state_to_name(i32));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DATA_TYPE_DOUBLE:
|
case DATA_TYPE_DOUBLE:
|
||||||
|
@ -54,6 +54,7 @@ extern "C" {
|
|||||||
#define FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE "pool_failmode"
|
#define FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE "pool_failmode"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_POOL_GUID "pool_guid"
|
#define FM_EREPORT_PAYLOAD_ZFS_POOL_GUID "pool_guid"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT "pool_context"
|
#define FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT "pool_context"
|
||||||
|
#define FM_EREPORT_PAYLOAD_ZFS_POOL_STATE "pool_state"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_GUID "vdev_guid"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_GUID "vdev_guid"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_TYPE "vdev_type"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_TYPE "vdev_type"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_PATH "vdev_path"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_PATH "vdev_path"
|
||||||
|
@ -266,9 +266,10 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out,
|
|||||||
/*
|
/*
|
||||||
* Generic payload members common to all ereports.
|
* Generic payload members common to all ereports.
|
||||||
*/
|
*/
|
||||||
fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_POOL,
|
fm_payload_set(ereport,
|
||||||
DATA_TYPE_STRING, spa_name(spa), FM_EREPORT_PAYLOAD_ZFS_POOL_GUID,
|
FM_EREPORT_PAYLOAD_ZFS_POOL, DATA_TYPE_STRING, spa_name(spa),
|
||||||
DATA_TYPE_UINT64, spa_guid(spa),
|
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, DATA_TYPE_UINT64, spa_guid(spa),
|
||||||
|
FM_EREPORT_PAYLOAD_ZFS_POOL_STATE, DATA_TYPE_UINT64, spa_state(spa),
|
||||||
FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, DATA_TYPE_INT32,
|
FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, DATA_TYPE_INT32,
|
||||||
spa_load_state(spa), NULL);
|
spa_load_state(spa), NULL);
|
||||||
|
|
||||||
@ -920,8 +921,12 @@ zfs_post_common(spa_t *spa, vdev_t *vd, const char *type, const char *name,
|
|||||||
ZFS_ERROR_CLASS, name);
|
ZFS_ERROR_CLASS, name);
|
||||||
VERIFY0(nvlist_add_uint8(resource, FM_VERSION, FM_RSRC_VERSION));
|
VERIFY0(nvlist_add_uint8(resource, FM_VERSION, FM_RSRC_VERSION));
|
||||||
VERIFY0(nvlist_add_string(resource, FM_CLASS, class));
|
VERIFY0(nvlist_add_string(resource, FM_CLASS, class));
|
||||||
|
VERIFY0(nvlist_add_string(resource,
|
||||||
|
FM_EREPORT_PAYLOAD_ZFS_POOL, spa_name(spa)));
|
||||||
VERIFY0(nvlist_add_uint64(resource,
|
VERIFY0(nvlist_add_uint64(resource,
|
||||||
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, spa_guid(spa)));
|
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, spa_guid(spa)));
|
||||||
|
VERIFY0(nvlist_add_uint64(resource,
|
||||||
|
FM_EREPORT_PAYLOAD_ZFS_POOL_STATE, spa_state(spa)));
|
||||||
VERIFY0(nvlist_add_int32(resource,
|
VERIFY0(nvlist_add_int32(resource,
|
||||||
FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, spa_load_state(spa)));
|
FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, spa_load_state(spa)));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user