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,10 +19,11 @@
* 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,10 +1236,13 @@
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,11 +2184,11 @@
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];
+ 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,11 +2200,11 @@
}
mdb_printf("\nBlocks\tLSIZE\tPSIZE\tASIZE"
"\t avg\t comp\t%%Total\tType\n");
- for (t = 0; t <= DMU_OT_NUMTYPES; t++) {
+ 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,10 +2211,12 @@
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");