summaryrefslogtreecommitdiff
path: root/usr/src/cmd/mdb/common/modules/zfs/zfs.c
diff options
context:
space:
mode:
authorPrashanth Sreenivasa <pks@delphix.com>2016-09-22 09:30:13 -0700
committerPrakash Surya <prakash.surya@delphix.com>2018-01-10 08:00:10 -0800
commit5cabbc6b49070407fb9610cfe73d4c0e0dea3e77 (patch)
tree2348a2b4993b5a1f269cff4e010fcbcac97f18b4 /usr/src/cmd/mdb/common/modules/zfs/zfs.c
parenteb9c32327f4caf584b309530acc3df1b67f1d286 (diff)
downloadillumos-joyent-5cabbc6b49070407fb9610cfe73d4c0e0dea3e77.tar.gz
7614 zfs device evacuation/removal
Reviewed by: Alex Reece <alex@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Richard Laager <rlaager@wiktel.com> Reviewed by: Tim Chase <tim@chase2k.com> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/cmd/mdb/common/modules/zfs/zfs.c')
-rw-r--r--usr/src/cmd/mdb/common/modules/zfs/zfs.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/usr/src/cmd/mdb/common/modules/zfs/zfs.c b/usr/src/cmd/mdb/common/modules/zfs/zfs.c
index b106ba404f..75d9fbd102 100644
--- a/usr/src/cmd/mdb/common/modules/zfs/zfs.c
+++ b/usr/src/cmd/mdb/common/modules/zfs/zfs.c
@@ -423,6 +423,23 @@ zfs_params(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
/* ARGSUSED */
static int
+dva(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
+{
+ dva_t dva;
+ if (mdb_vread(&dva, sizeof (dva_t), addr) == -1) {
+ mdb_warn("failed to read dva_t");
+ return (DCMD_ERR);
+ }
+ mdb_printf("<%llu:%llx:%llx>\n",
+ (u_longlong_t)DVA_GET_VDEV(&dva),
+ (u_longlong_t)DVA_GET_OFFSET(&dva),
+ (u_longlong_t)DVA_GET_ASIZE(&dva));
+
+ return (DCMD_OK);
+}
+
+/* ARGSUSED */
+static int
blkptr(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
{
char type[80], checksum[80], compress[80];
@@ -2055,10 +2072,12 @@ spa_space(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
sd.ms_freeingtree >> shift, suffix);
mdb_printf("ms_freedtree = %llu%s\n",
sd.ms_freedtree >> shift, suffix);
- mdb_printf("ms_tree = %llu%s\n", sd.ms_tree >> shift, suffix);
+ mdb_printf("ms_tree = %llu%s\n",
+ sd.ms_tree >> shift, suffix);
mdb_printf("ms_deferspace = %llu%s\n",
sd.ms_deferspace >> shift, suffix);
- mdb_printf("last synced avail = %llu%s\n", sd.avail >> shift, suffix);
+ mdb_printf("last synced avail = %llu%s\n",
+ sd.avail >> shift, suffix);
mdb_printf("current syncing avail = %llu%s\n",
sd.nowavail >> shift, suffix);
@@ -3916,6 +3935,7 @@ out:
static const mdb_dcmd_t dcmds[] = {
{ "arc", "[-bkmg]", "print ARC variables", arc_print },
{ "blkptr", ":", "print blkptr_t", blkptr },
+ { "dva", ":", "print dva_t", dva },
{ "dbuf", ":", "print dmu_buf_impl_t", dbuf },
{ "dbuf_stats", ":", "dbuf stats", dbuf_stats },
{ "dbufs",