Project

General

Profile

Bug #4230

zpool import panics system

Added by Zhiwen Zheng about 6 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2013-10-18
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

ffffff00107e7790 unix:die+e9 ()
ffffff00107e78a0 unix:trap+13c0 ()
ffffff00107e78b0 unix:cmntrap+1ca ()
ffffff00107e7a40 zfs:spa_history_log_internal+ad ()
ffffff00107e7ab0 zfs:spa_history_log_version+6c ()
ffffff00107e7b70 zfs:spa_import+13f ()
ffffff00107e7bc0 zfs:zfs_ioc_pool_import+117 ()
ffffff00107e7c70 zfs:zfsdev_ioctl+4ff ()
ffffff00107e7cb0 genunix:cdev_ioctl+39 ()
ffffff00107e7d00 specfs:spec_ioctl+60 ()
ffffff00107e7d90 genunix:fop_ioctl+55 ()
ffffff00107e7eb0 genunix:ioctl+9b ()
ffffff00107e7f00 unix:brand_sys_sysenter+2b7 ()

syncing file systems...
done

spa_history_log_internal::dis

spa_history_log_internal: pushq %rbp
spa_history_log_internal+1: movq %rsp,%rbp
spa_history_log_internal+4: subq $0xa0,%rsp
spa_history_log_internal+0xb: testq %rdx,%rdx
spa_history_log_internal+0xe: movq %rbx,-0x48(%rbp)
spa_history_log_internal+0x12: movq %r12,-0x40(%rbp)
spa_history_log_internal+0x16: movq %rdi,%rbx
spa_history_log_internal+0x19: movq %r13,-0x38(%rbp)
spa_history_log_internal+0x1d: movq %r14,-0x30(%rbp)
spa_history_log_internal+0x21: movq %rsi,%r12
spa_history_log_internal+0x24: movq %r15,-0x28(%rbp)
spa_history_log_internal+0x28: movq %rcx,-0x20(%rbp)
spa_history_log_internal+0x2c: movq %rdx,%r13
spa_history_log_internal+0x2f: movq %rdx,-0x18(%rbp)
spa_history_log_internal+0x33: movq %rsi,-0x10(%rbp)
spa_history_log_internal+0x37: movq %rcx,%r14
spa_history_log_internal+0x3a: movq %rdi,-0x8(%rbp)
spa_history_log_internal+0x3e: movq %r8,-0x60(%rbp)
spa_history_log_internal+0x42: movq %r9,-0x58(%rbp)
spa_history_log_internal+0x46: je +0x60 <spa_history_log_internal+0xa8>
spa_history_log_internal+0x48: leaq 0x10(%rbp),%rax
spa_history_log_internal+0x4c: leaq -0xa0(%rbp),%r15
spa_history_log_internal+0x53: movl $0x20,-0xa0(%rbp)
spa_history_log_internal+0x5d: movq %rax,-0x98(%rbp)
spa_history_log_internal+0x64: leaq -0x80(%rbp),%rax
spa_history_log_internal+0x68: movq %rax,-0x90(%rbp)
spa_history_log_internal+0x6f: call +0x457022c <fnvlist_alloc>
spa_history_log_internal+0x74: movq %r15,%r9
spa_history_log_internal+0x77: movq %r14,%r8
spa_history_log_internal+0x7a: movq %r13,%rcx
spa_history_log_internal+0x7d: movq %rbx,%rdx
spa_history_log_internal+0x80: movq %r12,%rsi
spa_history_log_internal+0x83: movq %rax,%rdi
spa_history_log_internal+0x86: call -0x1bb <log_internal>
spa_history_log_internal+0x8b: movq -0x48(%rbp),%rbx
spa_history_log_internal+0x8f: movq -0x40(%rbp),%r12
spa_history_log_internal+0x93: movq -0x38(%rbp),%r13
spa_history_log_internal+0x97: movq -0x30(%rbp),%r14
spa_history_log_internal+0x9b: movq -0x28(%rbp),%r15
spa_history_log_internal+0x9f: leave
spa_history_log_internal+0xa0: ret
spa_history_log_internal+0xa1: nopl 0x0(%rax)
spa_history_log_internal+0xa8: call +0x2ae3 <spa_get_dsl>
spa_history_log_internal+0xad: movq 0x18(%rax),%rdi
spa_history_log_internal+0xb1: call -0x409c6 <dmu_tx_create_dd>
spa_history_log_internal+0xb6: movl $0x1,%esi
spa_history_log_internal+0xbb: movq %rax,%rdi
spa_history_log_internal+0xbe: movq %rax,%r13
spa_history_log_internal+0xc1: call -0x3e2a6 <dmu_tx_assign>
spa_history_log_internal+0xc6: testl %eax,%eax
spa_history_log_internal+0xc8: jne +0x56 <spa_history_log_internal+0x120>
spa_history_log_internal+0xca: leaq 0x10(%rbp),%rax
spa_history_log_internal+0xce: leaq -0xa0(%rbp),%r15
spa_history_log_internal+0xd5: movl $0x20,-0xa0(%rbp)
spa_history_log_internal+0xdf: movq %rax,-0x98(%rbp)
spa_history_log_internal+0xe6: leaq -0x80(%rbp),%rax
spa_history_log_internal+0xea: movq %rax,-0x90(%rbp)
spa_history_log_internal+0xf1: call +0x45701aa <fnvlist_alloc>
spa_history_log_internal+0xf6: movq %r15,%r9
spa_history_log_internal+0xf9: movq %rax,%rdi
spa_history_log_internal+0xfc: movq %r14,%r8
spa_history_log_internal+0xff: movq %r13,%rcx
spa_history_log_internal+0x102: movq %rbx,%rdx
spa_history_log_internal+0x105: movq %r12,%rsi
spa_history_log_internal+0x108: call -0x23d <log_internal>
spa_history_log_internal+0x10d: movq %r13,%rdi
spa_history_log_internal+0x110: call -0x3def5 <dmu_tx_commit>
spa_history_log_internal+0x115: jmp -0x8f <spa_history_log_internal+0x8b>
spa_history_log_internal+0x11a: nopw 0x0(%rax,%rax)
spa_history_log_internal+0x120: movq %r13,%rdi
spa_history_log_internal+0x123: call -0x3dcc8 <dmu_tx_abort>
spa_history_log_internal+0x128: jmp -0xa2 <spa_history_log_internal+0x8b>

::regs

%rax = 0x0000000000000000 %r9 = 0x0000000000001388
%rbx = 0xffffff033f4ba000 %r10 = 0x0000000000000001
%rcx = 0xfffffffff78fee68 %r11 = 0xfffffffffb800d33 fakesoftint_return
%rdx = 0x0000000000000000 %r12 = 0xfffffffff78ec047
%rsi = 0xfffffffff78ec047 %r13 = 0x0000000000000000
%rdi = 0xffffff033f4ba000 %r14 = 0xfffffffff78fee68
%r8 = 0x0000000000000000 %r15 = 0x0000000000000003

%rip = 0xfffffffff788169d spa_history_log_internal+0xad
%rbp = 0xffffff00107e7a40
%rsp = 0xffffff00107e79a0
%rflags = 0x00010282
id=0 vip=0 vif=0 ac=0 vm=0 rf=1 nt=0 iopl=0x0
status=<of,df,IF,tf,SF,zf,af,pf,cf>

%cs = 0x0030    %ds = 0x004b    %es = 0x004b
%trapno = 0xe %fs = 0x0000 %gs = 0x01c3
%err = 0x0

History

#1

Updated by Zhiwen Zheng about 6 years ago

void
spa_history_log_internal(spa_t *spa, const char *operation,
    dmu_tx_t *tx, const char *fmt, ...)
{
    dmu_tx_t *htx = tx;
    va_list adx;

    /* create a tx if we didn't get one */
    if (tx == NULL) {
        htx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir);
        if (dmu_tx_assign(htx, TXG_WAIT) != 0) {
            dmu_tx_abort(htx);
            return;
        }
    }

    va_start(adx, fmt);
    log_internal(fnvlist_alloc(), operation, spa, htx, fmt, adx);
    va_end(adx);

    /* if we didn't get a tx from the caller, commit the one we made */
    if (tx == NULL)
        dmu_tx_commit(htx);

spa_get_dsl(spa) returns NULL.

#2

Updated by Zhiwen Zheng about 6 years ago

> ::taskq
ADDR             NAME                             ACT/THDS Q'ED  MAXQ INST
ffffff02e9837988 mdi_taskq                          0/   8    0     0    -
ffffff02e9837858 vhci_taskq                         0/   1    0     0    -
ffffff02e9837728 vhci_update_pathstates             0/   8    0     0    -
ffffff02e9837398 ddi_periodic_taskq                 0/   4    0     2    -
ffffff02ea3764d0 sd_drv_taskq                       0/   8    0     0    -
ffffff02ea3763a0 sd_rmw_taskq                       0/   1    0     0    -
ffffff02ea376270 xbuf_taskq                         0/   1    0     0    -
ffffff02eb814870 zio_null_issue                     0/   1    0     4    -
ffffff02eb8149a0 zio_null_intr                      0/   1    0    10    -
ffffff02eb814ad0 zio_read_issue                     0/   8    0     1    -
ffffff02eb814c00 zio_read_intr                      0/   3    0     5    -
ffffff02eb814d30 zio_write_issue                    0/   3    0   459    -
ffffff02eb814e60 zio_write_issue_high               0/   5    0     0    -
ffffff02eb82f018 zio_write_intr                     0/   8    0     3    -
ffffff02eb82f148 zio_write_intr_high                0/   5    0     0    -
ffffff02eb82f278 zio_free_issue_0                   0/  12    0     0    -
ffffff02eb82f3a8 zio_free_issue_1                   0/  12    0     0    -
ffffff02eb82f4d8 zio_free_issue_2                   0/  12    0     0    -
ffffff02eb82f608 zio_free_issue_3                   0/  12    0     0    -
ffffff02eb82f738 zio_free_issue_4                   0/  12    0     0    -
ffffff02eb82f868 zio_free_issue_5                   0/  12    0     0    -
ffffff02eb82f998 zio_free_issue_6                   0/  12    0     0    -
ffffff02eb82fac8 zio_free_issue_7                   0/  12    0     0    -
ffffff02eb82fbf8 zio_free_intr                      0/   1    0     0    -
ffffff02eb82fd28 zio_claim_issue                    0/   1    0     0    -
ffffff02eb82fe58 zio_claim_intr                     0/   1    0     0    -
ffffff02ea376010 zio_ioctl_issue                    0/   1    0     0    -
ffffff02ea376140 zio_ioctl_intr                     0/   1    0     1    -
ffffff02eb814740 zfs_vn_rele_taskq                  0/   1    0     0    -
ffffff02eb814610 zil_clean                          0/   1    0     1    -
ffffff02f2657d38 sof_close_deferred_taskq           0/   1    0     0    -
ffffff02f2657618 USB_ehci_0_pipehndl_tq_0           0/   4    0     1    -
ffffff02f26574e8 USB_ehci_81_pipehndl_tq_0          0/   2    0     1    -
ffffff02f2657288 USB_ehci_0_pipehndl_tq_1           0/   4    0     1    -
ffffff02f2657158 USB_ehci_81_pipehndl_tq_1          0/   2    0     0    -
ffffff02f3050e70 USB_uhci_0_pipehndl_tq_0           0/   4    0     1    -
ffffff02f3050d40 USB_uhci_81_pipehndl_tq_0          0/   2    0     0    -
ffffff02f3050ae0 USB_uhci_0_pipehndl_tq_1           0/   4    0     1    -
ffffff02f30509b0 USB_uhci_81_pipehndl_tq_1          0/   2    0     1    -
ffffff02f3050750 USB_uhci_0_pipehndl_tq_2           0/   4    0     1    -
ffffff02f3050620 USB_uhci_81_pipehndl_tq_2          0/   2    0     0    -
ffffff02f30503c0 USB_uhci_0_pipehndl_tq_3           0/   4    0     1    -
ffffff02f3050290 USB_uhci_81_pipehndl_tq_3          0/   2    0     0    -
ffffff02f3050030 USB_uhci_0_pipehndl_tq_4           0/   4    0     1    -
ffffff02f2fd7e78 USB_uhci_81_pipehndl_tq_4          0/   2    0     0    -
ffffff02f2fd7c18 USB_uhci_0_pipehndl_tq_5           0/   4    0     1    -
ffffff02f2fd7ae8 USB_uhci_81_pipehndl_tq_5          0/   2    0     0    -
ffffff02f2fd7888 ibmf_taskq                         0/   1    0     0    -
ffffff02f2308e80 ah_taskq                           0/   1    0     0    -
ffffff02f2308d50 esp_taskq                          0/   1    0     0    -
ffffff02f2308c20 console_taskq                      0/   1    0    15    -
ffffff02f2308af0 USB_device_0_pipehndl_tq_2_        0/   4    0     1    -
ffffff02f2308890 USB_hid_81_pipehndl_tq_1           0/   2    0     0    -
ffffff02f2308760 USB_hid_82_pipehndl_tq_2           0/   2    0     0    -
ffffff02f2308040 zil_clean                          0/   1    0     0    -
ffffff0328c5ee88 zil_clean                          0/   1    0     0    -
ffffff0328c5ec28 idm_global_taskq                   0/   1    0     0    -
ffffff032be80d60 zil_clean                          0/   1    0     0    -
ffffff032be80c30 zil_clean                          0/   1    0     0    -
ffffff032be80b00 zil_clean                          0/   1    0     0    -
ffffff032be808a0 conn_sm00000001                    0/   1    0     2    -
ffffff032be80770 pppt_dispatch                      0/   1    0     0    -
ffffff032be80640 pppt_session                       0/   1    0     0    -
ffffff032be80510 iscsit_dispatch                    0/   1    0     0    -
ffffff0330498c38 ipmi_kcs                           1/   1    1     1    -
ffffff0339ecd2c0 dtrace_taskq                       0/   1    0     0    -
ffffff02eb8144e0 acpinex_nexus_enum_tq              0/   1    0     0    0
ffffff03304988a8 acpinex_nexus_enum_tq              0/   1    0     0    1
ffffff02ea376d20 ahci_event_handle_taskq_port0      0/   2    0     0    0
ffffff02ea376bf0 ahci_event_handle_taskq_port1      0/   2    0     0    0
ffffff02ea376ac0 ahci_event_handle_taskq_port2      0/   2    0     0    0
ffffff02ea376990 ahci_event_handle_taskq_port3      0/   2    0     0    0
ffffff02ea376860 ahci_event_handle_taskq_port4      0/   2    0     0    0
ffffff02ea376730 ahci_event_handle_taskq_port5      0/   2    0     0    0
ffffff02ea376e50 ahci_nexus_enum_tq                 0/   1    0     0    0
ffffff0330498518 bridge_bridge                      0/   1    0     0    0
ffffff02e9837268 callout_taskq                      0/   2    0     2    0
ffffff02f2fd7298 callout_taskq                      0/   2    0     1    1
ffffff02f2fd7168 callout_taskq                      0/   2    0     1    2
ffffff02f2fd7038 callout_taskq                      0/   2    0     2    3
ffffff02eb8143b0 cpudrv_cpudrv_monitor              0/   1    0     1    0
ffffff02f2fd7758 cpudrv_cpudrv_monitor              0/   1    0     1    1
ffffff02f2fd7628 cpudrv_cpudrv_monitor              0/   1    0     1    2
ffffff02f2fd74f8 cpudrv_cpudrv_monitor              0/   1    0     1    3
ffffff02f2657748 ehci_nexus_enum_tq                 0/   1    0     0    0
ffffff02f26573b8 ehci_nexus_enum_tq                 0/   1    0     0    1
ffffff032be802b0 fcoe_mac                           1/   2    1     1    0
ffffff032be803e0 fcoe_nexus_enum_tq                 0/   1    0     0    0
ffffff032be80180 FCOE_WORKER_TASKQ                  4/   4    4     4    0
ffffff02eb814150 IP_INJECT_QUEUE_IN                 0/   1    0     0    0
ffffff02eb814280 IP_INJECT_QUEUE_OUT                0/   1    0     0    0
ffffff02eb814020 IP_NIC_EVENT_QUEUE                 0/   1    0     3    0
ffffff03304982b8 ipnet                              0/   1    0     0    0
ffffff0339ecdb10 ipnet_nic_event_queue              0/   1    0     0    0
ffffff0339ecd780 iptun_taskq                        0/   1    0     0    0
ffffff02e98374c8 isa_nexus_enum_tq                  0/   1    0     0    0
ffffff0328c5e048 iscsi_conn_cn_taskq_1_4_5          0/   1    0     1    0
ffffff02f2308170 iscsi_enum_taskq_1_4               0/   1    0     1    0
ffffff0328c5e178 iscsi_io_thrd_1_4                  1/   1    1     1    0
ffffff0328c5e3d8 iscsi_iSNS                         0/   1    0     0    0
ffffff0328c5ed58 iscsi_login_taskq_1_4              0/   1    0     0    0
ffffff0328c5eaf8 iscsi_nexus_enum_tq                0/   1    0     0    0
ffffff0328c5e638 iscsi_SendTarget                   0/   1    0     0    0
ffffff0328c5e508 iscsi_SLP                          0/   1    0     0    0
ffffff0328c5e768 iscsi_Static                       1/   1    1     1    0
ffffff032be80e90 iscsi_tx_thrd_1_4_5                1/   1    1     1    0
ffffff0328c5e2a8 iscsi_wd_thrd_1_4                  1/   1    1     1    0
ffffff0328c5e9c8 isns_reg_query_taskq               0/   1    0     0    0
ffffff0328c5e898 isns_scn_taskq                     0/   1    0     0    0
ffffff02f2308500 ixgbe_ixgbe0_overtemp_taskq        0/   1    0     0    0
ffffff02f2308630 ixgbe_ixgbe0_sfp_taskq             0/   1    0     0    0
ffffff02f23082a0 ixgbe_ixgbe1_overtemp_taskq        0/   1    0     0    1
ffffff02f23083d0 ixgbe_ixgbe1_sfp_taskq             0/   1    0     0    1
ffffff02e9837e48 kmem_move_taskq                    0/   1    0     0    0
ffffff02e9837d18 kmem_taskq                         0/   1    0    58    0
ffffff0330498d68 mpt_sas_mptsas_dr_taskq            0/   1    0     0    0
ffffff0330498e98 mpt_sas_mptsas_event_taskq         0/   1    0     8    0
ffffff032be80050 mpt_sas_nexus_enum_tq              0/   1    0     0    0
ffffff0330498b08 mpt_sas_nexus_enum_tq              0/   1    0     0    1
ffffff03304989d8 mpt_sas_nexus_enum_tq              0/   1    0     0    2
ffffff02e98375f8 npe_nexus_enum_tq                  0/   1    0     0    0
ffffff02f2657878 pci_pci_nexus_enum_tq              0/   1    0     0    0
ffffff02f2657c08 pcieb_nexus_enum_tq                0/   1    0     0    0
ffffff02f2657ad8 pcieb_nexus_enum_tq                0/   1    0     0    1
ffffff02f26579a8 pcieb_nexus_enum_tq                0/   1    0     0    2
ffffff02e9837008 ppm_nexus_enum_tq                  0/   1    0     0    0
ffffff02e9837be8 pseudo_nexus_enum_tq               0/   1    0     0    0
ffffff0330498778 pseudo_nexus_enum_tq               0/   1    0     0    1
ffffff02e9837ab8 scsi_vhci_nexus_enum_tq            0/   1    0     0    0
ffffff0330498058 simnet_simnet                      0/   1    0     0    0
ffffff02f2fd73c8 STMF_SVC_TASKQ                     1/   1    1     1    0
ffffff02f2657028 uhci_nexus_enum_tq                 0/   1    0     0    0
ffffff02f3050c10 uhci_nexus_enum_tq                 0/   1    0     0    1
ffffff02f3050880 uhci_nexus_enum_tq                 0/   1    0     0    2
ffffff02f30504f0 uhci_nexus_enum_tq                 0/   1    0     0    3
ffffff02f3050160 uhci_nexus_enum_tq                 0/   1    0     0    4
ffffff02f2fd7d48 uhci_nexus_enum_tq                 0/   1    0     0    5
ffffff02f23089c0 usb_mid_nexus_enum_tq              0/   1    0     0    0
ffffff02ea376600 pci15d9_609_0                      0/   3    0     -    -
ffffff02f2657e68 ilb_rule_taskq_ffffff02e5ab3dc     0/   5    0     -    -
ffffff02f2fd79b8 ibmf_saa_event_taskq               0/   5    0     -    -
ffffff02e9837138 system_taskq                       1/   9    0     -    0

zfs_vn_rele_taskq belongs to rpool, pool VM has no zfs_vn_rele_taskq active, maybe created by dsl_pool_open_impl() , destroyed by dsl_pool_close(dmu_objset_open_impl failed); or dsl_pool_init() did not get executed.

#3

Updated by Zhiwen Zheng about 6 years ago

int
dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp)
{
    int err;
    dsl_pool_t *dp = dsl_pool_open_impl(spa, txg);

    err = dmu_objset_open_impl(spa, NULL, &dp->dp_meta_rootbp,
        &dp->dp_meta_objset);
    if (err != 0)
        dsl_pool_close(dp);
    else
        *dpp = dp;

    return (err);
}
#4

Updated by Zhiwen Zheng about 6 years ago

> ::spa
ADDR                 STATE NAME                                                
ffffff033f4ba000    UNINIT VM
ffffff02eb8c9000    ACTIVE rpool
> ffffff033f4ba000::print -aT spa_t
ffffff033f4ba000 spa_t <<struct spa>> {
    ffffff033f4ba000 char [256] spa_name = [ "VM" ]
    ffffff033f4ba100 char *spa_comment = 0
    ffffff033f4ba108 avl_node_t <<struct avl_node>> spa_avl = {
        ffffff033f4ba108 struct avl_node *[2] avl_child = [ 0, 0 ]
        ffffff033f4ba118 uintptr_t <<unsigned long>> avl_pcb = 0xffffff02eb8c9109
    }
    ffffff033f4ba120 nvlist_t *spa_config = 0xffffff033ed88910
    ffffff033f4ba128 nvlist_t *spa_config_syncing = 0
    ffffff033f4ba130 nvlist_t *spa_config_splitting = 0
    ffffff033f4ba138 nvlist_t *spa_load_info = 0xffffff033ed88520
    ffffff033f4ba140 uint64_t <<unsigned long>> spa_config_txg = 0
    ffffff033f4ba148 int spa_sync_pass = 0
    ffffff033f4ba14c pool_state_t <<enum pool_state>> spa_state = 5 (POOL_STATE_UNINITIALIZED)
    ffffff033f4ba150 int spa_inject_ref = 0
    ffffff033f4ba154 uint8_t <<unsigned char>> spa_sync_on = 0
    ffffff033f4ba158 spa_load_state_t spa_load_state = 0 (SPA_LOAD_NONE)
    ffffff033f4ba160 uint64_t <<unsigned long>> spa_import_flags = 0x1
    ffffff033f4ba168 spa_taskqs_t [6][4] spa_zio_taskq = [
        ffffff033f4ba168 spa_taskqs_t [4] [
            ffffff033f4ba168 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba168 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba170 taskq_t **stqs_taskq = 0
            },
            ffffff033f4ba178 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba178 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba180 taskq_t **stqs_taskq = 0
            },
            ffffff033f4ba188 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba188 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba190 taskq_t **stqs_taskq = 0
            },
            ffffff033f4ba198 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba198 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1a0 taskq_t **stqs_taskq = 0
            },
        ]                             
        ffffff033f4ba1a8 spa_taskqs_t [4] [
            ffffff033f4ba1a8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1a8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1b0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba1b8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1b8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1c0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba1c8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1c8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1d0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba1d8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1d8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1e0 taskq_t **stqs_taskq = 0
            },                        
        ]                             
        ffffff033f4ba1e8 spa_taskqs_t [4] [
            ffffff033f4ba1e8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1e8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba1f0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba1f8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba1f8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba200 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba208 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba208 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba210 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba218 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba218 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba220 taskq_t **stqs_taskq = 0
            },                        
        ]                             
        ffffff033f4ba228 spa_taskqs_t [4] [
            ffffff033f4ba228 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba228 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba230 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba238 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba238 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba240 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba248 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba248 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba250 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba258 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba258 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba260 taskq_t **stqs_taskq = 0
            },                        
        ]                             
        ffffff033f4ba268 spa_taskqs_t [4] [
            ffffff033f4ba268 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba268 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba270 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba278 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba278 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba280 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba288 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba288 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba290 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba298 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba298 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba2a0 taskq_t **stqs_taskq = 0
            },                        
        ]                             
        ffffff033f4ba2a8 spa_taskqs_t [4] [
            ffffff033f4ba2a8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba2a8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba2b0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba2b8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba2b8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba2c0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba2c8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba2c8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba2d0 taskq_t **stqs_taskq = 0
            },                        
            ffffff033f4ba2d8 spa_taskqs_t <<struct spa_taskqs>> {
                ffffff033f4ba2d8 uint_t <<unsigned int>> stqs_count = 0
                ffffff033f4ba2e0 taskq_t **stqs_taskq = 0
            },                        
        ]                             
    ]                                 
    ffffff033f4ba2e8 dsl_pool_t *spa_dsl_pool = 0
    ffffff033f4ba2f0 boolean_t spa_is_initializing = 0 (0)
    ffffff033f4ba2f8 metaslab_class_t *spa_normal_class = 0
    ffffff033f4ba300 metaslab_class_t *spa_log_class = 0
    ffffff033f4ba308 uint64_t <<unsigned long>> spa_first_txg = 0
    ffffff033f4ba310 uint64_t <<unsigned long>> spa_final_txg = 0xffffffffffffffff
    ffffff033f4ba318 uint64_t <<unsigned long>> spa_freeze_txg = 0xffffffffffffffff
    ffffff033f4ba320 uint64_t <<unsigned long>> spa_load_max_txg = 0xffffffffffffffff
    ffffff033f4ba328 uint64_t <<unsigned long>> spa_claim_max_txg = 0
    ffffff033f4ba330 timespec_t <<struct timespec>> spa_loaded_ts = {
        ffffff033f4ba330 time_t <<long>> tv_sec = 0
        ffffff033f4ba338 long tv_nsec = 0
    }                                 
    ffffff033f4ba340 objset_t *spa_meta_objset = 0
    ffffff033f4ba348 txg_list_t <<struct txg_list>> spa_vdev_txg_list = {
        ffffff033f4ba348 kmutex_t <<struct mutex>> tl_lock = {
            ffffff033f4ba348 void *[1] _opaque = [ 0 ]
        }                             
        ffffff033f4ba350 size_t <<unsigned long>> tl_offset = 0
        ffffff033f4ba358 txg_node_t *[4] tl_head = [ 0, 0, 0, 0 ]
    }                                 
    ffffff033f4ba378 vdev_t *spa_root_vdev = 0
    ffffff033f4ba380 uint64_t <<unsigned long>> spa_config_guid = 0
    ffffff033f4ba388 uint64_t <<unsigned long>> spa_load_guid = 0
    ffffff033f4ba390 uint64_t <<unsigned long>> spa_last_synced_guid = 0
    ffffff033f4ba398 list_t <<struct list>> spa_config_dirty_list = {
        ffffff033f4ba398 size_t <<unsigned long>> list_size = 0
        ffffff033f4ba3a0 size_t <<unsigned long>> list_offset = 0
        ffffff033f4ba3a8 struct list_node list_head = {
            ffffff033f4ba3a8 struct list_node *list_next = 0
            ffffff033f4ba3b0 struct list_node *list_prev = 0
        }                             
    }                                 
    ffffff033f4ba3b8 list_t <<struct list>> spa_state_dirty_list = {
        ffffff033f4ba3b8 size_t <<unsigned long>> list_size = 0
        ffffff033f4ba3c0 size_t <<unsigned long>> list_offset = 0
        ffffff033f4ba3c8 struct list_node list_head = {
            ffffff033f4ba3c8 struct list_node *list_next = 0
            ffffff033f4ba3d0 struct list_node *list_prev = 0
        }                             
    }                                 
    ffffff033f4ba3d8 spa_aux_vdev_t <<struct spa_aux_vdev>> spa_spares = {
        ffffff033f4ba3d8 uint64_t <<unsigned long>> sav_object = 0
        ffffff033f4ba3e0 nvlist_t *sav_config = 0
        ffffff033f4ba3e8 vdev_t **sav_vdevs = 0
        ffffff033f4ba3f0 int sav_count = 0
        ffffff033f4ba3f4 boolean_t sav_sync = 0 (0)
        ffffff033f4ba3f8 nvlist_t **sav_pending = 0
        ffffff033f4ba400 uint_t <<unsigned int>> sav_npending = 0
    }                                 
    ffffff033f4ba408 spa_aux_vdev_t <<struct spa_aux_vdev>> spa_l2cache = {
        ffffff033f4ba408 uint64_t <<unsigned long>> sav_object = 0
        ffffff033f4ba410 nvlist_t *sav_config = 0
        ffffff033f4ba418 vdev_t **sav_vdevs = 0
        ffffff033f4ba420 int sav_count = 0
        ffffff033f4ba424 boolean_t sav_sync = 0 (0)
        ffffff033f4ba428 nvlist_t **sav_pending = 0
        ffffff033f4ba430 uint_t <<unsigned int>> sav_npending = 0
    }                                 
    ffffff033f4ba438 nvlist_t *spa_label_features = 0xffffff033ed884f0
    ffffff033f4ba440 uint64_t <<unsigned long>> spa_config_object = 0
    ffffff033f4ba448 uint64_t <<unsigned long>> spa_config_generation = 0
    ffffff033f4ba450 uint64_t <<unsigned long>> spa_syncing_txg = 0
    ffffff033f4ba458 bpobj_t <<struct bpobj>> spa_deferred_bpobj = {
        ffffff033f4ba458 kmutex_t <<struct mutex>> bpo_lock = {
            ffffff033f4ba458 void *[1] _opaque = [ 0 ]
        }                             
        ffffff033f4ba460 objset_t *bpo_os = 0
        ffffff033f4ba468 uint64_t <<unsigned long>> bpo_object = 0
        ffffff033f4ba470 int bpo_epb = 0
        ffffff033f4ba474 uint8_t <<unsigned char>> bpo_havecomp = 0
        ffffff033f4ba475 uint8_t <<unsigned char>> bpo_havesubobj = 0
        ffffff033f4ba478 bpobj_phys_t *bpo_phys = 0
        ffffff033f4ba480 dmu_buf_t *bpo_dbuf = 0
        ffffff033f4ba488 dmu_buf_t *bpo_cached_dbuf = 0
    }                                 
    ffffff033f4ba490 bplist_t [4] spa_free_bplist = [
        ffffff033f4ba490 bplist_t <<struct bplist>> {
            ffffff033f4ba490 kmutex_t <<struct mutex>> bpl_lock = {
                ffffff033f4ba490 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba498 list_t <<struct list>> bpl_list = {
                ffffff033f4ba498 size_t <<unsigned long>> list_size = 0x90
                ffffff033f4ba4a0 size_t <<unsigned long>> list_offset = 0x80
                ffffff033f4ba4a8 struct list_node list_head = {
                    ffffff033f4ba4a8 struct list_node *list_next = 0xffffff033f4ba4a8
                    ffffff033f4ba4b0 struct list_node *list_prev = 0xffffff033f4ba4a8
                }                     
            }                         
        },                            
        ffffff033f4ba4b8 bplist_t <<struct bplist>> {
            ffffff033f4ba4b8 kmutex_t <<struct mutex>> bpl_lock = {
                ffffff033f4ba4b8 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba4c0 list_t <<struct list>> bpl_list = {
                ffffff033f4ba4c0 size_t <<unsigned long>> list_size = 0x90
                ffffff033f4ba4c8 size_t <<unsigned long>> list_offset = 0x80
                ffffff033f4ba4d0 struct list_node list_head = {
                    ffffff033f4ba4d0 struct list_node *list_next = 0xffffff033f4ba4d0
                    ffffff033f4ba4d8 struct list_node *list_prev = 0xffffff033f4ba4d0
                }                     
            }                         
        },                            
        ffffff033f4ba4e0 bplist_t <<struct bplist>> {
            ffffff033f4ba4e0 kmutex_t <<struct mutex>> bpl_lock = {
                ffffff033f4ba4e0 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba4e8 list_t <<struct list>> bpl_list = {
                ffffff033f4ba4e8 size_t <<unsigned long>> list_size = 0x90
                ffffff033f4ba4f0 size_t <<unsigned long>> list_offset = 0x80
                ffffff033f4ba4f8 struct list_node list_head = {
                    ffffff033f4ba4f8 struct list_node *list_next = 0xffffff033f4ba4f8
                    ffffff033f4ba500 struct list_node *list_prev = 0xffffff033f4ba4f8
                }                     
            }                         
        },                            
        ffffff033f4ba508 bplist_t <<struct bplist>> {
            ffffff033f4ba508 kmutex_t <<struct mutex>> bpl_lock = {
                ffffff033f4ba508 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba510 list_t <<struct list>> bpl_list = {
                ffffff033f4ba510 size_t <<unsigned long>> list_size = 0x90
                ffffff033f4ba518 size_t <<unsigned long>> list_offset = 0x80
                ffffff033f4ba520 struct list_node list_head = {
                    ffffff033f4ba520 struct list_node *list_next = 0xffffff033f4ba520
                    ffffff033f4ba528 struct list_node *list_prev = 0xffffff033f4ba520
                }                     
            }                         
        },                            
    ]                                 
    ffffff033f4ba530 uberblock_t <<struct uberblock>> spa_ubsync = {
        ffffff033f4ba530 uint64_t <<unsigned long>> ub_magic = 0
        ffffff033f4ba538 uint64_t <<unsigned long>> ub_version = 0
        ffffff033f4ba540 uint64_t <<unsigned long>> ub_txg = 0
        ffffff033f4ba548 uint64_t <<unsigned long>> ub_guid_sum = 0
        ffffff033f4ba550 uint64_t <<unsigned long>> ub_timestamp = 0
        ffffff033f4ba558 blkptr_t <<struct blkptr>> ub_rootbp = {
            ffffff033f4ba558 dva_t [3] blk_dva = [
                ffffff033f4ba558 dva_t <<struct dva>> {
                    ffffff033f4ba558 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
                ffffff033f4ba568 dva_t <<struct dva>> {
                    ffffff033f4ba568 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
                ffffff033f4ba578 dva_t <<struct dva>> {
                    ffffff033f4ba578 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
            ]                         
            ffffff033f4ba588 uint64_t <<unsigned long>> blk_prop = 0
            ffffff033f4ba590 uint64_t [2] blk_pad = [ 0, 0 ]
            ffffff033f4ba5a0 uint64_t <<unsigned long>> blk_phys_birth = 0
            ffffff033f4ba5a8 uint64_t <<unsigned long>> blk_birth = 0
            ffffff033f4ba5b0 uint64_t <<unsigned long>> blk_fill = 0
            ffffff033f4ba5b8 zio_cksum_t <<struct zio_cksum>> blk_cksum = {
                ffffff033f4ba5b8 uint64_t [4] zc_word = [ 0, 0, 0, 0 ]
            }                         
        }                             
        ffffff033f4ba5d8 uint64_t <<unsigned long>> ub_software_version = 0
    }                                 
    ffffff033f4ba5e0 uberblock_t <<struct uberblock>> spa_uberblock = {
        ffffff033f4ba5e0 uint64_t <<unsigned long>> ub_magic = 0
        ffffff033f4ba5e8 uint64_t <<unsigned long>> ub_version = 0
        ffffff033f4ba5f0 uint64_t <<unsigned long>> ub_txg = 0
        ffffff033f4ba5f8 uint64_t <<unsigned long>> ub_guid_sum = 0
        ffffff033f4ba600 uint64_t <<unsigned long>> ub_timestamp = 0
        ffffff033f4ba608 blkptr_t <<struct blkptr>> ub_rootbp = {
            ffffff033f4ba608 dva_t [3] blk_dva = [
                ffffff033f4ba608 dva_t <<struct dva>> {
                    ffffff033f4ba608 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
                ffffff033f4ba618 dva_t <<struct dva>> {
                    ffffff033f4ba618 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
                ffffff033f4ba628 dva_t <<struct dva>> {
                    ffffff033f4ba628 uint64_t [2] dva_word = [ 0, 0 ]
                },                    
            ]                         
            ffffff033f4ba638 uint64_t <<unsigned long>> blk_prop = 0
            ffffff033f4ba640 uint64_t [2] blk_pad = [ 0, 0 ]
            ffffff033f4ba650 uint64_t <<unsigned long>> blk_phys_birth = 0
            ffffff033f4ba658 uint64_t <<unsigned long>> blk_birth = 0
            ffffff033f4ba660 uint64_t <<unsigned long>> blk_fill = 0
            ffffff033f4ba668 zio_cksum_t <<struct zio_cksum>> blk_cksum = {
                ffffff033f4ba668 uint64_t [4] zc_word = [ 0, 0, 0, 0 ]
            }                         
        }                             
        ffffff033f4ba688 uint64_t <<unsigned long>> ub_software_version = 0
    }                                 
    ffffff033f4ba690 boolean_t spa_extreme_rewind = 0 (0)
    ffffff033f4ba698 uint64_t <<unsigned long>> spa_last_io = 0
    ffffff033f4ba6a0 kmutex_t <<struct mutex>> spa_scrub_lock = {
        ffffff033f4ba6a0 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba6a8 uint64_t <<unsigned long>> spa_scrub_inflight = 0
    ffffff033f4ba6b0 kcondvar_t <<struct _kcondvar>> spa_scrub_io_cv = {
        ffffff033f4ba6b0 ushort_t <<unsigned short>> _opaque = 0
    }                                 
    ffffff033f4ba6b2 uint8_t <<unsigned char>> spa_scrub_active = 0
    ffffff033f4ba6b3 uint8_t <<unsigned char>> spa_scrub_type = 0
    ffffff033f4ba6b4 uint8_t <<unsigned char>> spa_scrub_finished = 0
    ffffff033f4ba6b5 uint8_t <<unsigned char>> spa_scrub_started = 0
    ffffff033f4ba6b6 uint8_t <<unsigned char>> spa_scrub_reopen = 0
    ffffff033f4ba6b8 uint64_t <<unsigned long>> spa_scan_pass_start = 0
    ffffff033f4ba6c0 uint64_t <<unsigned long>> spa_scan_pass_exam = 0
    ffffff033f4ba6c8 kmutex_t <<struct mutex>> spa_async_lock = {
        ffffff033f4ba6c8 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba6d0 kthread_t *spa_async_thread = 0
    ffffff033f4ba6d8 int spa_async_suspended = 0
    ffffff033f4ba6dc kcondvar_t <<struct _kcondvar>> spa_async_cv = {
        ffffff033f4ba6dc ushort_t <<unsigned short>> _opaque = 0
    }                                 
    ffffff033f4ba6de uint16_t <<unsigned short>> spa_async_tasks = 0
    ffffff033f4ba6e0 char *spa_root = 0
    ffffff033f4ba6e8 uint64_t <<unsigned long>> spa_ena = 0
    ffffff033f4ba6f0 int spa_last_open_failed = 0
    ffffff033f4ba6f8 uint64_t <<unsigned long>> spa_last_ubsync_txg = 0
    ffffff033f4ba700 uint64_t <<unsigned long>> spa_last_ubsync_txg_ts = 0
    ffffff033f4ba708 uint64_t <<unsigned long>> spa_load_txg = 0
    ffffff033f4ba710 uint64_t <<unsigned long>> spa_load_txg_ts = 0
    ffffff033f4ba718 uint64_t <<unsigned long>> spa_load_meta_errors = 0
    ffffff033f4ba720 uint64_t <<unsigned long>> spa_load_data_errors = 0
    ffffff033f4ba728 uint64_t <<unsigned long>> spa_verify_min_txg = 0
    ffffff033f4ba730 kmutex_t <<struct mutex>> spa_errlog_lock = {
        ffffff033f4ba730 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba738 uint64_t <<unsigned long>> spa_errlog_last = 0
    ffffff033f4ba740 uint64_t <<unsigned long>> spa_errlog_scrub = 0
    ffffff033f4ba748 kmutex_t <<struct mutex>> spa_errlist_lock = {
        ffffff033f4ba748 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba750 avl_tree_t <<struct avl_tree>> spa_errlist_last = {
        ffffff033f4ba750 struct avl_node *avl_root = 0
        ffffff033f4ba758 int (*)() avl_compar = 0
        ffffff033f4ba760 size_t <<unsigned long>> avl_offset = 0
        ffffff033f4ba768 ulong_t <<unsigned long>> avl_numnodes = 0
        ffffff033f4ba770 size_t <<unsigned long>> avl_size = 0
    }                                 
    ffffff033f4ba778 avl_tree_t <<struct avl_tree>> spa_errlist_scrub = {
        ffffff033f4ba778 struct avl_node *avl_root = 0
        ffffff033f4ba780 int (*)() avl_compar = 0
        ffffff033f4ba788 size_t <<unsigned long>> avl_offset = 0
        ffffff033f4ba790 ulong_t <<unsigned long>> avl_numnodes = 0
        ffffff033f4ba798 size_t <<unsigned long>> avl_size = 0
    }                                 
    ffffff033f4ba7a0 uint64_t <<unsigned long>> spa_deflate = 0
    ffffff033f4ba7a8 uint64_t <<unsigned long>> spa_history = 0
    ffffff033f4ba7b0 kmutex_t <<struct mutex>> spa_history_lock = {
        ffffff033f4ba7b0 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba7b8 vdev_t *spa_pending_vdev = 0
    ffffff033f4ba7c0 kmutex_t <<struct mutex>> spa_props_lock = {
        ffffff033f4ba7c0 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba7c8 uint64_t <<unsigned long>> spa_pool_props_object = 0
    ffffff033f4ba7d0 uint64_t <<unsigned long>> spa_bootfs = 0
    ffffff033f4ba7d8 uint64_t <<unsigned long>> spa_failmode = 0
    ffffff033f4ba7e0 uint64_t <<unsigned long>> spa_delegation = 0
    ffffff033f4ba7e8 list_t <<struct list>> spa_config_list = {
        ffffff033f4ba7e8 size_t <<unsigned long>> list_size = 0x18
        ffffff033f4ba7f0 size_t <<unsigned long>> list_offset = 0
        ffffff033f4ba7f8 struct list_node list_head = {
            ffffff033f4ba7f8 struct list_node *list_next = 0xffffff033ed886d0
            ffffff033f4ba800 struct list_node *list_prev = 0xffffff033ed886d0
        }                             
    }                                 
    ffffff033f4ba808 zio_t *spa_async_zio_root = 0
    ffffff033f4ba810 zio_t *spa_suspend_zio_root = 0
    ffffff033f4ba818 kmutex_t <<struct mutex>> spa_suspend_lock = {
        ffffff033f4ba818 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba820 kcondvar_t <<struct _kcondvar>> spa_suspend_cv = {
        ffffff033f4ba820 ushort_t <<unsigned short>> _opaque = 0
    }                                 
    ffffff033f4ba822 uint8_t <<unsigned char>> spa_suspended = 0
    ffffff033f4ba823 uint8_t <<unsigned char>> spa_claiming = 0
    ffffff033f4ba824 boolean_t spa_debug = 0 (0)
    ffffff033f4ba828 boolean_t spa_is_root = 0 (0)
    ffffff033f4ba82c int spa_minref = 0
    ffffff033f4ba830 int spa_mode = 0 
    ffffff033f4ba834 spa_log_state_t <<enum spa_log_state>> spa_log_state = 0 (SPA_LOG_UNKNOWN)
    ffffff033f4ba838 uint64_t <<unsigned long>> spa_autoexpand = 0
    ffffff033f4ba840 ddt_t *[11] spa_ddt = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
    ffffff033f4ba898 uint64_t <<unsigned long>> spa_ddt_stat_object = 0
    ffffff033f4ba8a0 uint64_t <<unsigned long>> spa_dedup_ditto = 0
    ffffff033f4ba8a8 uint64_t <<unsigned long>> spa_dedup_checksum = 0
    ffffff033f4ba8b0 uint64_t <<unsigned long>> spa_dspace = 0
    ffffff033f4ba8b8 kmutex_t <<struct mutex>> spa_vdev_top_lock = {
        ffffff033f4ba8b8 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba8c0 kmutex_t <<struct mutex>> spa_proc_lock = {
        ffffff033f4ba8c0 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba8c8 kcondvar_t <<struct _kcondvar>> spa_proc_cv = {
        ffffff033f4ba8c8 ushort_t <<unsigned short>> _opaque = 0
    }                                 
    ffffff033f4ba8cc spa_proc_state_t <<enum spa_proc_state>> spa_proc_state = 0 (SPA_PROC_NONE)
    ffffff033f4ba8d0 struct proc *spa_proc = p0
    ffffff033f4ba8d8 uint64_t <<unsigned long>> spa_did = 0
    ffffff033f4ba8e0 boolean_t spa_autoreplace = 0 (0)
    ffffff033f4ba8e4 int spa_vdev_locks = 0
    ffffff033f4ba8e8 uint64_t <<unsigned long>> spa_creation_version = 0
    ffffff033f4ba8f0 uint64_t <<unsigned long>> spa_prev_software_version = 0
    ffffff033f4ba8f8 uint64_t <<unsigned long>> spa_feat_for_write_obj = 0
    ffffff033f4ba900 uint64_t <<unsigned long>> spa_feat_for_read_obj = 0
    ffffff033f4ba908 uint64_t <<unsigned long>> spa_feat_desc_obj = 0
    ffffff033f4ba910 cyclic_id_t <<unsigned long>> spa_deadman_cycid = 0xffffff02e9add608
    ffffff033f4ba918 uint64_t <<unsigned long>> spa_deadman_calls = 0
    ffffff033f4ba920 hrtime_t <<long long>> spa_sync_starttime = 0
    ffffff033f4ba928 uint64_t <<unsigned long>> spa_deadman_synctime = 0xe8d4a51000
    ffffff033f4ba930 kmutex_t <<struct mutex>> spa_iokstat_lock = {
        ffffff033f4ba930 void *[1] _opaque = [ 0 ]
    }                                 
    ffffff033f4ba938 struct kstat *spa_iokstat = 0xffffff0339a9e8b0
    ffffff033f4ba940 struct  [5] spa_queue_stats = [
        ffffff033f4ba940 struct  {    
            ffffff033f4ba940 int spa_active = 0
            ffffff033f4ba944 int spa_queued = 0
        },                            
        ffffff033f4ba948 struct  {    
            ffffff033f4ba948 int spa_active = 0
            ffffff033f4ba94c int spa_queued = 0
        },                            
        ffffff033f4ba950 struct  {    
            ffffff033f4ba950 int spa_active = 0
            ffffff033f4ba954 int spa_queued = 0
        },                            
        ffffff033f4ba958 struct  {    
            ffffff033f4ba958 int spa_active = 0
            ffffff033f4ba95c int spa_queued = 0
        },                            
        ffffff033f4ba960 struct  {    
            ffffff033f4ba960 int spa_active = 0
            ffffff033f4ba964 int spa_queued = 0
        },                            
    ]                                 
    ffffff033f4ba968 hrtime_t <<long long>> spa_ccw_fail_time = 0
    ffffff033f4ba970 spa_config_lock_t [7] spa_config_lock = [
        ffffff033f4ba970 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4ba970 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4ba970 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba978 kthread_t *scl_writer = 0
            ffffff033f4ba980 int scl_write_wanted = 0
            ffffff033f4ba984 kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4ba984 ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4ba988 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4ba988 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4ba988 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4ba990 boolean_t rc_tracked = 0 (0)
                ffffff033f4ba998 list_t <<struct list>> rc_list = {
                    ffffff033f4ba998 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4ba9a0 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4ba9a8 struct list_node list_head = {
                        ffffff033f4ba9a8 struct list_node *list_next = 0xffffff033f4ba9a8
                        ffffff033f4ba9b0 struct list_node *list_prev = 0xffffff033f4ba9a8
                    }                 
                }                     
                ffffff033f4ba9b8 list_t <<struct list>> rc_removed = {
                    ffffff033f4ba9b8 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4ba9c0 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4ba9c8 struct list_node list_head = {
                        ffffff033f4ba9c8 struct list_node *list_next = 0xffffff033f4ba9c8
                        ffffff033f4ba9d0 struct list_node *list_prev = 0xffffff033f4ba9c8
                    }                 
                }                     
                ffffff033f4ba9d8 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4ba9e0 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4ba9e8 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4ba9e8 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4ba9e8 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4ba9f0 kthread_t *scl_writer = 0
            ffffff033f4ba9f8 int scl_write_wanted = 0
            ffffff033f4ba9fc kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4ba9fc ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4baa00 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4baa00 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4baa00 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4baa08 boolean_t rc_tracked = 0 (0)
                ffffff033f4baa10 list_t <<struct list>> rc_list = {
                    ffffff033f4baa10 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4baa18 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4baa20 struct list_node list_head = {
                        ffffff033f4baa20 struct list_node *list_next = 0xffffff033f4baa20
                        ffffff033f4baa28 struct list_node *list_prev = 0xffffff033f4baa20
                    }                 
                }                     
                ffffff033f4baa30 list_t <<struct list>> rc_removed = {
                    ffffff033f4baa30 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4baa38 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4baa40 struct list_node list_head = {
                        ffffff033f4baa40 struct list_node *list_next = 0xffffff033f4baa40
                        ffffff033f4baa48 struct list_node *list_prev = 0xffffff033f4baa40
                    }                 
                }                     
                ffffff033f4baa50 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4baa58 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4baa60 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4baa60 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4baa60 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4baa68 kthread_t *scl_writer = 0
            ffffff033f4baa70 int scl_write_wanted = 0
            ffffff033f4baa74 kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4baa74 ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4baa78 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4baa78 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4baa78 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4baa80 boolean_t rc_tracked = 0 (0)
                ffffff033f4baa88 list_t <<struct list>> rc_list = {
                    ffffff033f4baa88 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4baa90 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4baa98 struct list_node list_head = {
                        ffffff033f4baa98 struct list_node *list_next = 0xffffff033f4baa98
                        ffffff033f4baaa0 struct list_node *list_prev = 0xffffff033f4baa98
                    }                 
                }                     
                ffffff033f4baaa8 list_t <<struct list>> rc_removed = {
                    ffffff033f4baaa8 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4baab0 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4baab8 struct list_node list_head = {
                        ffffff033f4baab8 struct list_node *list_next = 0xffffff033f4baab8
                        ffffff033f4baac0 struct list_node *list_prev = 0xffffff033f4baab8
                    }                 
                }                     
                ffffff033f4baac8 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4baad0 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4baad8 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4baad8 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4baad8 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4baae0 kthread_t *scl_writer = 0
            ffffff033f4baae8 int scl_write_wanted = 0
            ffffff033f4baaec kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4baaec ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4baaf0 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4baaf0 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4baaf0 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4baaf8 boolean_t rc_tracked = 0 (0)
                ffffff033f4bab00 list_t <<struct list>> rc_list = {
                    ffffff033f4bab00 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bab08 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bab10 struct list_node list_head = {
                        ffffff033f4bab10 struct list_node *list_next = 0xffffff033f4bab10
                        ffffff033f4bab18 struct list_node *list_prev = 0xffffff033f4bab10
                    }                 
                }                     
                ffffff033f4bab20 list_t <<struct list>> rc_removed = {
                    ffffff033f4bab20 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bab28 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bab30 struct list_node list_head = {
                        ffffff033f4bab30 struct list_node *list_next = 0xffffff033f4bab30
                        ffffff033f4bab38 struct list_node *list_prev = 0xffffff033f4bab30
                    }                 
                }                     
                ffffff033f4bab40 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4bab48 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4bab50 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4bab50 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4bab50 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4bab58 kthread_t *scl_writer = 0
            ffffff033f4bab60 int scl_write_wanted = 0
            ffffff033f4bab64 kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4bab64 ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4bab68 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4bab68 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4bab68 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4bab70 boolean_t rc_tracked = 0 (0)
                ffffff033f4bab78 list_t <<struct list>> rc_list = {
                    ffffff033f4bab78 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bab80 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bab88 struct list_node list_head = {
                        ffffff033f4bab88 struct list_node *list_next = 0xffffff033f4bab88
                        ffffff033f4bab90 struct list_node *list_prev = 0xffffff033f4bab88
                    }                 
                }                     
                ffffff033f4bab98 list_t <<struct list>> rc_removed = {
                    ffffff033f4bab98 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4baba0 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4baba8 struct list_node list_head = {
                        ffffff033f4baba8 struct list_node *list_next = 0xffffff033f4baba8
                        ffffff033f4babb0 struct list_node *list_prev = 0xffffff033f4baba8
                    }                 
                }                     
                ffffff033f4babb8 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4babc0 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4babc8 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4babc8 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4babc8 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4babd0 kthread_t *scl_writer = 0
            ffffff033f4babd8 int scl_write_wanted = 0
            ffffff033f4babdc kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4babdc ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4babe0 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4babe0 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4babe0 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4babe8 boolean_t rc_tracked = 0 (0)
                ffffff033f4babf0 list_t <<struct list>> rc_list = {
                    ffffff033f4babf0 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4babf8 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bac00 struct list_node list_head = {
                        ffffff033f4bac00 struct list_node *list_next = 0xffffff033f4bac00
                        ffffff033f4bac08 struct list_node *list_prev = 0xffffff033f4bac00
                    }                 
                }                     
                ffffff033f4bac10 list_t <<struct list>> rc_removed = {
                    ffffff033f4bac10 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bac18 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bac20 struct list_node list_head = {
                        ffffff033f4bac20 struct list_node *list_next = 0xffffff033f4bac20
                        ffffff033f4bac28 struct list_node *list_prev = 0xffffff033f4bac20
                    }                 
                }                     
                ffffff033f4bac30 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4bac38 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
        ffffff033f4bac40 spa_config_lock_t <<struct spa_config_lock>> {
            ffffff033f4bac40 kmutex_t <<struct mutex>> scl_lock = {
                ffffff033f4bac40 void *[1] _opaque = [ 0 ]
            }                         
            ffffff033f4bac48 kthread_t *scl_writer = 0
            ffffff033f4bac50 int scl_write_wanted = 0
            ffffff033f4bac54 kcondvar_t <<struct _kcondvar>> scl_cv = {
                ffffff033f4bac54 ushort_t <<unsigned short>> _opaque = 0
            }                         
            ffffff033f4bac58 refcount_t <<struct refcount>> scl_count = {
                ffffff033f4bac58 kmutex_t <<struct mutex>> rc_mtx = {
                    ffffff033f4bac58 void *[1] _opaque = [ 0 ]
                }                     
                ffffff033f4bac60 boolean_t rc_tracked = 0 (0)
                ffffff033f4bac68 list_t <<struct list>> rc_list = {
                    ffffff033f4bac68 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bac70 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bac78 struct list_node list_head = {
                        ffffff033f4bac78 struct list_node *list_next = 0xffffff033f4bac78
                        ffffff033f4bac80 struct list_node *list_prev = 0xffffff033f4bac78
                    }                 
                }                     
                ffffff033f4bac88 list_t <<struct list>> rc_removed = {
                    ffffff033f4bac88 size_t <<unsigned long>> list_size = 0x28
                    ffffff033f4bac90 size_t <<unsigned long>> list_offset = 0
                    ffffff033f4bac98 struct list_node list_head = {
                        ffffff033f4bac98 struct list_node *list_next = 0xffffff033f4bac98
                        ffffff033f4baca0 struct list_node *list_prev = 0xffffff033f4bac98
                    }                 
                }                     
                ffffff033f4baca8 uint64_t <<unsigned long>> rc_count = 0
                ffffff033f4bacb0 uint64_t <<unsigned long>> rc_removed_count = 0
            }                         
        },                            
    ]                                 
    ffffff033f4bacb8 refcount_t <<struct refcount>> spa_refcount = {
        ffffff033f4bacb8 kmutex_t <<struct mutex>> rc_mtx = {
            ffffff033f4bacb8 void *[1] _opaque = [ 0 ]
        }                             
        ffffff033f4bacc0 boolean_t rc_tracked = 0 (0)
        ffffff033f4bacc8 list_t <<struct list>> rc_list = {
            ffffff033f4bacc8 size_t <<unsigned long>> list_size = 0x28
            ffffff033f4bacd0 size_t <<unsigned long>> list_offset = 0
            ffffff033f4bacd8 struct list_node list_head = {
                ffffff033f4bacd8 struct list_node *list_next = 0xffffff033f4bacd8
                ffffff033f4bace0 struct list_node *list_prev = 0xffffff033f4bacd8
            }                         
        }                             
        ffffff033f4bace8 list_t <<struct list>> rc_removed = {
            ffffff033f4bace8 size_t <<unsigned long>> list_size = 0x28
            ffffff033f4bacf0 size_t <<unsigned long>> list_offset = 0
            ffffff033f4bacf8 struct list_node list_head = {
                ffffff033f4bacf8 struct list_node *list_next = 0xffffff033f4bacf8
                ffffff033f4bad00 struct list_node *list_prev = 0xffffff033f4bacf8
            }                         
        }                             
        ffffff033f4bad08 uint64_t <<unsigned long>> rc_count = 0
        ffffff033f4bad10 uint64_t <<unsigned long>> rc_removed_count = 0
    }                                 
}                                     

#5

Updated by Zhiwen Zheng about 6 years ago

nvlist_t *spa_config = 0xffffff033ed88910

> 0xffffff033ed88910::nvlist -v
name='version' type=uint64 items=1
    value=0000000000001388
name='txg' type=uint64 items=1
    value=000000000002f1b8
name='pool_guid' type=uint64 items=1
    value=14df3c30fca96f0a
name='hostid' type=uint64 items=1
    value=0000000000cd1238
name='hostname' type=string items=1
    value='UA4300D-spa'
name='vdev_children' type=uint64 items=1
    value=0000000000000008
name='vdev_tree' type=nvpair_list items=1
    name='type' type=string items=1
        value='root'
    name='id' type=uint64 items=1
        value=0000000000000000
    name='guid' type=uint64 items=1
        value=14df3c30fca96f0a
    name='vdev_stats' type=uint64_array items=26
        value=000000003c3e7804.0000000000000004.0000000000000003.0000000000000000.0000000000000000.00000000
        00000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000
        000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
        0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.00000000000000
        00.0000000000000000.0000000000000000.0000000000000000
    name='children' type=nvpair list_array items=8
    [0]
        name='type' type=string items=1
            value='mirror'
        name='id' type=uint64 items=1
            value=0000000000000000
        name='guid' type=uint64 items=1
            value=9ed09b139851d5d6
        name='metaslab_array' type=uint64 items=1
            value=000000000000002b
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3efd4d.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=300fb8d762022149
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7F064Bd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7f064b/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7f064b:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ef266.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=de7f1e040d83f9d1
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EEF13d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7eef13/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7eef13:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ee0c8.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [1]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000001    
        name='guid' type=uint64 items=1
            value=dae3b56a6544bbf1    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000029    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3f141d.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=d4847673c1af775b
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EE197d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7ee197/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7ee197:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3f05c1.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=ee91cd7fdfcd856a
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EDDBFd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7eddbf/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7eddbf:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ef922.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [2]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000002    
        name='guid' type=uint64 items=1
            value=47c5cde0663457e7    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000028    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3f29ef.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=11348f72282048f5
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EC477d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7ec477/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7ec477:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ef63e.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=1ad6cd56acd5dd2f
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EC007d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7ec007/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7ec007:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ee92e.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [3]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000003    
        name='guid' type=uint64 items=1
            value=d0f5f3c1f05f22aa    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000027    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3f845b.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=6af51f6fce183319
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EB7FBd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7eb7fb/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7eb7fb:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3f7808.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=303260d93ebb4b2a
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EB053d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7eb053/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7eb053:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3f6c83.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [4]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000004    
        name='guid' type=uint64 items=1
            value=3853e1de4ea9df29    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000026    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3fa04b.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=32fedcbccc3a04a4
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7EAD0Fd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7ead0f/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7ead0f:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3f9276.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=a2836039cf7319b6
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7E996Fd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7e996f/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7e996f:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ff005.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [5]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000005    
        name='guid' type=uint64 items=1
            value=6659949ff452ef08    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000025    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c40226b.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=6eecf838186c274c
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7E91B7d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7e91b7/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7e91b7:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c400764.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=52d75a204349dbc9
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7E7C7Fd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7e7c7f/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7e7c7f:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3ffc88.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [6]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000006    
        name='guid' type=uint64 items=1
            value=486cf9632545efcf    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000024    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c40153e.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=3d5efbb9a587bd3c
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7E3C37d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7e3c37/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7e3c37:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3fe69e.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=b8498f6308e17086
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7E3B83d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7e3b83/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7e3b83:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3e7d98.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
    [7]                               
        name='type' type=string items=1
            value='mirror'            
        name='id' type=uint64 items=1 
            value=0000000000000007    
        name='guid' type=uint64 items=1
            value=e879f837d7bbf927    
        name='metaslab_array' type=uint64 items=1
            value=0000000000000022    
        name='metaslab_shift' type=uint64 items=1
            value=0000000000000020    
        name='ashift' type=uint64 items=1
            value=0000000000000009    
        name='asize' type=uint64 items=1
            value=0000008bb9940000    
        name='is_log' type=uint64 items=1
            value=0000000000000000    
        name='create_txg' type=uint64 items=1
            value=0000000000000004    
        name='vdev_stats' type=uint64_array items=26
            value=000000003c3eaa4e.0000000000000004.0000000000000003.0000000000000000.0000000000000000.0000
            000000000000.0000008b00000000.ffffff74466c0000.0000000000000000.0000000000000000.00000000000000
            00.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000
            0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
            .0000000000000000.0000000000000000.0000000000000000.0000000000000000
        name='children' type=nvpair list_array items=2
        [0]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000000
            name='guid' type=uint64 items=1
                value=724133ccd1f6993a
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C5005E7B601Fd0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c5005e7b601f/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c5005e7b601f:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3e647f.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
        [1]                           
            name='type' type=string items=1
                value='disk'          
            name='id' type=uint64 items=1
                value=0000000000000001
            name='guid' type=uint64 items=1
                value=866a4fd39be399aa
            name='path' type=string items=1
                value='/dev/dsk/c3t5000C50042D331A3d0s0'
            name='devid' type=string items=1
                value='id1,sd@n5000c50042d331a3/a'
            name='phys_path' type=string items=1
                value='/scsi_vhci/disk@g5000c50042d331a3:a'
            name='whole_disk' type=uint64 items=1
                value=0000000000000001
            name='create_txg' type=uint64 items=1
                value=0000000000000004
            name='vdev_stats' type=uint64_array items=26
                value=000000003c3e58cc.0000000000000004.0000000000000001.0000000000000000.0000000000000000.
                0000000000000000.0000008b00480000.0000000000000000.0000000000000000.0000000000000000.000000
                0000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.000000000000
                0000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000.
                0000000000000000.0000000000000000.0000000000000000.0000000000000000.0000000000000000
name='features_for_read' type=nvpair_list items=1
name='name' type=string items=1       
    value='VM'                        
name='state' type=uint64 items=1      
    value=0000000000000000            
name='timestamp' type=uint64 items=1  
    value=0000000000000000            
name='load_info' type=nvpair_list items=1
name='rewind-policy' type=nvpair_list items=1
    name='rewind-request-txg' type=uint64 items=1
        value=ffffffffffffffff        
    name='rewind-request' type=uint32 items=1
        value=00000001                

nvlist_t *spa_load_info = 0xffffff033ed88520

> 0xffffff033ed88520::nvlist -v       
> 

> 0xffffff033ed88520::print -aT nvlist_t
ffffff033ed88520 nvlist_t <<struct nvlist>> {
    ffffff033ed88520 int32_t <<int>> nvl_version = 0
    ffffff033ed88524 uint32_t <<unsigned int>> nvl_nvflag = 0x1
    ffffff033ed88528 uint64_t <<unsigned long>> nvl_priv = 0xffffff033928ab40
    ffffff033ed88530 uint32_t <<unsigned int>> nvl_flag = 0
    ffffff033ed88534 int32_t <<int>> nvl_pad = 0
}
> 0xffffff033928ab40::whatis
ffffff033928ab40 is allocated from kmem_alloc_40:
            ADDR          BUFADDR        TIMESTAMP           THREAD
                            CACHE          LASTLOG         CONTENTS
ffffff03393370f8 ffffff033928ab40       1326ddc454 ffffff02f55dc3e0
                 ffffff02d2029008 ffffff02d35734c0 ffffff02e3755290
                 kmem_cache_alloc_debug+0x2e8
                 kmem_cache_alloc+0xdd
                 kmem_alloc+0x4b
                 nv_alloc_sys+0x1f
                 nv_priv_alloc+0x1e
                 nvlist_xalloc+0x4d
                 nvlist_alloc+0x2a
                 spa_add+0x2f7
                 spa_import+0xf3
                 zfs_ioc_pool_import+0x117
                 zfsdev_ioctl+0x4ff
                 cdev_ioctl+0x39
                 spec_ioctl+0x60
                 fop_ioctl+0x55
                 ioctl+0x9b

#6

Updated by Zhiwen Zheng about 6 years ago

it is doing verbatim import.

::print -aT proc_t

        ffffff033f190890 timestruc_t <<struct timespec>> u_start = {
            ffffff033f190890 time_t <<long>> tv_sec = 0x525fa2a9
            ffffff033f190898 long tv_nsec = 0x2c7d9d46
        }                             
        ffffff033f1908a0 clock_t <<long>> u_ticks = 0x84b2
        ffffff033f1908a8 char [17] u_comm = [ "zpool" ]
        ffffff033f1908b9 char [80] u_psargs = [ "zpool import -c /etc/sf-cluster/zpool.cache -V VM" ]
        ffffff033f19090c int u_argc = 0x6
        ffffff033f190910 uintptr_t <<unsigned long>> u_argv = 0x8047e18
        ffffff033f190918 uintptr_t <<unsigned long>> u_envp = 0x8047e34
        ffffff033f190920 struct vnode *u_cdir = 0xffffff02f2244f00
        ffffff033f190928 struct vnode *u_rdir = 0

::print -aT spa_t

ffffff033f4ba160 uint64_t <<unsigned long>> spa_import_flags = 0x1

#7

Updated by Zhiwen Zheng about 6 years ago

spa_import::dis

... ...
spa_import+0x108:               xorl   %edx,%edx
spa_import+0x10a:               movq   %rbx,%rsi
spa_import+0x10d:               movq   %rax,%rdi
spa_import+0x110:               call   -0x6d45  <spa_configfile_set>
spa_import+0x115:               movl   $0x1,%edx
spa_import+0x11a:               xorl   %esi,%esi
spa_import+0x11c:               movq   %r13,%rdi
spa_import+0x11f:               call   +0x5f8c  <spa_config_sync>
spa_import+0x124:               movq   $0xfffffffffc062338,%rdi <spa_namespace_lock>
spa_import+0x12b:               call   +0x3ff1330       <mutex_exit>
spa_import+0x130:               movq   $0xfffffffff78ec047,%rsi
spa_import+0x137:               movq   %r13,%rdi
spa_import+0x13a:               call   +0x8871  <spa_history_log_version>
spa_import+0x13f:               xorl   %eax,%eax
spa_import+0x141:               jmp    -0xc0    <spa_import+0x86>
spa_import+0x146:               nop    
... ...
#8

Updated by Zhiwen Zheng about 6 years ago

should be fixed by the following change.
I read the latest source code, but the code actually run is a few days older.

commit 7fdd916c474ea52896c671bbe7b56ba34a1ca132
Author: George Wilson <george.wilson@delphix.com>
Date:   Fri Oct 4 14:13:23 2013 -0800

    4168 ztest assertion failure in dbuf_undirty
    4169 verbatim import causes zdb to segfault
    4170 zhack leaves pool in ACTIVE state
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: Eric Schrock <eric.schrock@delphix.com>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Approved by: Dan McDonald <danmcd@nexenta.com>

diff --git a/usr/src/uts/common/fs/zfs/spa.c b/usr/src/uts/common/fs/zfs/spa.c
index d7f5773..c9e26ee 100644
--- a/usr/src/uts/common/fs/zfs/spa.c
+++ b/usr/src/uts/common/fs/zfs/spa.c
@@ -3842,8 +3842,6 @@ spa_import(const char *pool, nvlist_t *config, nvlist_t *props, uint64_t flags)
                spa_config_sync(spa, B_FALSE, B_TRUE);

                mutex_exit(&spa_namespace_lock);
-               spa_history_log_version(spa, "import");
-
                return (0);
        }

#9

Updated by Dan McDonald over 5 years ago

Is this bug a duplicate, per your last comment? If so, I'd like to close this.

#10

Updated by Zhiwen Zheng over 5 years ago

Yes, it is a duplicate.

#11

Updated by Alek Pinchuk about 3 years ago

  • Status changed from New to Closed

Also available in: Atom PDF