Bug #4230
closedzpool import panics system
0%
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
Updated by Zhiwen Zheng about 10 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.
Updated by Zhiwen Zheng about 10 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.
Updated by Zhiwen Zheng about 10 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); }
Updated by Zhiwen Zheng about 10 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 } }
Updated by Zhiwen Zheng about 10 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
Updated by Zhiwen Zheng about 10 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
Updated by Zhiwen Zheng about 10 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 ... ...
Updated by Zhiwen Zheng about 10 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); }
Updated by Dan McDonald over 9 years ago
Is this bug a duplicate, per your last comment? If so, I'd like to close this.