Merge commit 'refs/top-bases/linux-zfs-branch' into linux-zfs-branch
This commit is contained in:
commit
e1c837497a
|
@ -4431,7 +4431,7 @@ zpool_do_events_next(ev_opts_t *opts)
|
||||||
nvlist_t *nvl;
|
nvlist_t *nvl;
|
||||||
int ret, dropped;
|
int ret, dropped;
|
||||||
|
|
||||||
(void) printf(gettext("%-27s %s\n"), "TIME", "CLASS");
|
(void) printf(gettext("%-30s %s\n"), "TIME", "CLASS");
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
ret = zpool_events_next(g_zfs, &nvl, &dropped, !!opts->follow);
|
ret = zpool_events_next(g_zfs, &nvl, &dropped, !!opts->follow);
|
||||||
|
|
|
@ -496,9 +496,19 @@ fm_zevent_insert(zevent_t *ev)
|
||||||
void
|
void
|
||||||
fm_zevent_post(nvlist_t *nvl, nvlist_t *detector, zevent_cb_t *cb)
|
fm_zevent_post(nvlist_t *nvl, nvlist_t *detector, zevent_cb_t *cb)
|
||||||
{
|
{
|
||||||
|
int64_t tv_array[2];
|
||||||
|
timestruc_t tv;
|
||||||
size_t nvl_size = 0;
|
size_t nvl_size = 0;
|
||||||
zevent_t *ev;
|
zevent_t *ev;
|
||||||
|
|
||||||
|
gethrestime(&tv);
|
||||||
|
tv_array[0] = tv.tv_sec;
|
||||||
|
tv_array[1] = tv.tv_nsec;
|
||||||
|
if (nvlist_add_int64_array(nvl, FM_EREPORT_TIME, tv_array, 2)) {
|
||||||
|
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
(void) nvlist_size(nvl, &nvl_size, NV_ENCODE_NATIVE);
|
(void) nvlist_size(nvl, &nvl_size, NV_ENCODE_NATIVE);
|
||||||
if (nvl_size > ERPT_DATA_SZ || nvl_size == 0) {
|
if (nvl_size > ERPT_DATA_SZ || nvl_size == 0) {
|
||||||
atomic_add_64(&erpt_kstat_data.erpt_dropped.value.ui64, 1);
|
atomic_add_64(&erpt_kstat_data.erpt_dropped.value.ui64, 1);
|
||||||
|
@ -892,8 +902,6 @@ fm_ereport_set(nvlist_t *ereport, int version, const char *erpt_class,
|
||||||
{
|
{
|
||||||
char ereport_class[FM_MAX_CLASS];
|
char ereport_class[FM_MAX_CLASS];
|
||||||
const char *name;
|
const char *name;
|
||||||
timestruc_t tv;
|
|
||||||
int64_t tv_array[2];
|
|
||||||
va_list ap;
|
va_list ap;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -925,13 +933,6 @@ fm_ereport_set(nvlist_t *ereport, int version, const char *erpt_class,
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
||||||
|
|
||||||
gethrestime(&tv);
|
|
||||||
tv_array[0] = tv.tv_sec;
|
|
||||||
tv_array[1] = tv.tv_nsec;
|
|
||||||
if (nvlist_add_int64_array(ereport, FM_EREPORT_TIME, tv_array, 2)) {
|
|
||||||
atomic_add_64(&erpt_kstat_data.erpt_set_failed.value.ui64, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -67,6 +67,7 @@ extern "C" {
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_PATH "vdev_path"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_PATH "vdev_path"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_DEVID "vdev_devid"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_DEVID "vdev_devid"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_FRU "vdev_fru"
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_FRU "vdev_fru"
|
||||||
|
#define FM_EREPORT_PAYLOAD_ZFS_VDEV_STATE "vdev_state"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_GUID "parent_guid"
|
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_GUID "parent_guid"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_TYPE "parent_type"
|
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_TYPE "parent_type"
|
||||||
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_PATH "parent_path"
|
#define FM_EREPORT_PAYLOAD_ZFS_PARENT_PATH "parent_path"
|
||||||
|
|
|
@ -820,9 +820,12 @@ zfs_post_common(spa_t *spa, vdev_t *vd, const char *name)
|
||||||
VERIFY(nvlist_add_string(resource, FM_CLASS, class) == 0);
|
VERIFY(nvlist_add_string(resource, FM_CLASS, class) == 0);
|
||||||
VERIFY(nvlist_add_uint64(resource,
|
VERIFY(nvlist_add_uint64(resource,
|
||||||
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, spa_guid(spa)) == 0);
|
FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, spa_guid(spa)) == 0);
|
||||||
if (vd)
|
if (vd) {
|
||||||
VERIFY(nvlist_add_uint64(resource,
|
VERIFY(nvlist_add_uint64(resource,
|
||||||
FM_EREPORT_PAYLOAD_ZFS_VDEV_GUID, vd->vdev_guid) == 0);
|
FM_EREPORT_PAYLOAD_ZFS_VDEV_GUID, vd->vdev_guid) == 0);
|
||||||
|
VERIFY(nvlist_add_uint64(resource,
|
||||||
|
FM_EREPORT_PAYLOAD_ZFS_VDEV_STATE, vd->vdev_state) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
fm_zevent_post(resource, NULL, zfs_zevent_post_cb);
|
fm_zevent_post(resource, NULL, zfs_zevent_post_cb);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue