show_vdev_stats(const char *desc, const char *ctype, nvlist_t *nv, int indent)
{
vdev_stat_t *vs;
- vdev_stat_t v0 = { 0 };
+ vdev_stat_t *v0 = { 0 };
uint64_t sec;
uint64_t is_log = 0;
nvlist_t **child;
char rops[6], wops[6], rbytes[6], wbytes[6], rerr[6], werr[6], cerr[6];
char *prefix = "";
+ v0 = umem_zalloc(sizeof (*v0), UMEM_NOFAIL);
+
if (indent == 0 && desc != NULL) {
(void) printf(" "
" capacity operations bandwidth ---- errors ----\n");
if (nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS,
(uint64_t **)&vs, &c) != 0)
- vs = &v0;
+ vs = v0;
sec = MAX(1, vs->vs_timestamp / NANOSEC);
vs->vs_space ? 6 : 0, vs->vs_space ? avail : "",
rops, wops, rbytes, wbytes, rerr, werr, cerr);
}
+ free(v0);
if (nvlist_lookup_nvlist_array(nv, ctype, &child, &children) != 0)
return;