Print this page
2619 asynchronous destruction of ZFS file systems
2747 SPA versioning with zfs feature flags
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <gwilson@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>
Approved by: Dan McDonald <danmcd@nexenta.com>
*** 19,28 ****
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ * Copyright (c) 2012 by Delphix. All rights reserved.
*/
/* Portions Copyright 2010 Robert Milkowski */
#include <mdb/mdb_ctf.h>
*** 1235,1244 ****
--- 1236,1248 ----
aux = "VERS_NEWER";
break;
case VDEV_AUX_VERSION_OLDER:
aux = "VERS_OLDER";
break;
+ case VDEV_AUX_UNSUP_FEAT:
+ aux = "UNSUP_FEAT";
+ break;
case VDEV_AUX_SPARED:
aux = "SPARED";
break;
case VDEV_AUX_ERR_EXCEEDED:
aux = "ERR_EXCEEDED";
*** 2180,2190 ****
mdb_warn("failed to read data at %p;", addr);
mdb_printf("maybe no stats? run \"zpool scrub\" first.");
return (DCMD_ERR);
}
! tzb = &stats.zab_type[DN_MAX_LEVELS][DMU_OT_NUMTYPES];
if (tzb->zb_gangs != 0) {
mdb_printf("Ganged blocks: %llu\n",
(longlong_t)tzb->zb_gangs);
}
--- 2184,2194 ----
mdb_warn("failed to read data at %p;", addr);
mdb_printf("maybe no stats? run \"zpool scrub\" first.");
return (DCMD_ERR);
}
! tzb = &stats.zab_type[DN_MAX_LEVELS][DMU_OT_TOTAL];
if (tzb->zb_gangs != 0) {
mdb_printf("Ganged blocks: %llu\n",
(longlong_t)tzb->zb_gangs);
}
*** 2196,2206 ****
}
mdb_printf("\nBlocks\tLSIZE\tPSIZE\tASIZE"
"\t avg\t comp\t%%Total\tType\n");
! for (t = 0; t <= DMU_OT_NUMTYPES; t++) {
char csize[NICENUM_BUFLEN], lsize[NICENUM_BUFLEN];
char psize[NICENUM_BUFLEN], asize[NICENUM_BUFLEN];
char avg[NICENUM_BUFLEN];
char comp[NICENUM_BUFLEN], pct[NICENUM_BUFLEN];
char typename[64];
--- 2200,2210 ----
}
mdb_printf("\nBlocks\tLSIZE\tPSIZE\tASIZE"
"\t avg\t comp\t%%Total\tType\n");
! for (t = 0; t <= DMU_OT_TOTAL; t++) {
char csize[NICENUM_BUFLEN], lsize[NICENUM_BUFLEN];
char psize[NICENUM_BUFLEN], asize[NICENUM_BUFLEN];
char avg[NICENUM_BUFLEN];
char comp[NICENUM_BUFLEN], pct[NICENUM_BUFLEN];
char typename[64];
*** 2207,2216 ****
--- 2211,2222 ----
int l;
if (t == DMU_OT_DEFERRED)
strcpy(typename, "deferred free");
+ else if (t == DMU_OT_OTHER)
+ strcpy(typename, "other");
else if (t == DMU_OT_TOTAL)
strcpy(typename, "Total");
else if (mdb_readstr(typename, sizeof (typename),
(uintptr_t)dmu_ot[t].ot_name) == -1) {
mdb_warn("failed to read type name");