aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/lib/libzfs
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/openzfs/lib/libzfs')
-rw-r--r--sys/contrib/openzfs/lib/libzfs/Makefile.am2
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs.abi933
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c3
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs_pool.c8
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c5
-rw-r--r--sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c37
6 files changed, 899 insertions, 89 deletions
diff --git a/sys/contrib/openzfs/lib/libzfs/Makefile.am b/sys/contrib/openzfs/lib/libzfs/Makefile.am
index 5f8963dccd1a..e2cbca47b9a3 100644
--- a/sys/contrib/openzfs/lib/libzfs/Makefile.am
+++ b/sys/contrib/openzfs/lib/libzfs/Makefile.am
@@ -70,7 +70,7 @@ if BUILD_FREEBSD
libzfs_la_LIBADD += -lutil -lgeom
endif
-libzfs_la_LDFLAGS += -version-info 6:0:0
+libzfs_la_LDFLAGS += -version-info 7:0:0
pkgconfig_DATA += %D%/libzfs.pc
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs.abi b/sys/contrib/openzfs/lib/libzfs/libzfs.abi
index f988d27a286a..f481b6221e4d 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs.abi
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs.abi
@@ -1,4 +1,4 @@
-<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfs.so.6'>
+<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfs.so.7'>
<elf-needed>
<dependency name='libzfs_core.so.3'/>
<dependency name='libnvpair.so.3'/>
@@ -15,6 +15,8 @@
</elf-needed>
<elf-function-symbols>
<elf-symbol name='_sol_getmntent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='_system_delay_taskq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='_system_taskq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='atomic_add_16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='atomic_add_16_nv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='atomic_add_32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -160,6 +162,19 @@
<elf-symbol name='cityhash4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='color_end' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='color_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='crgetgid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='crgetgroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='crgetngroups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='crgetruid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='crgetuid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_broadcast' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_timedwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_timedwait_hires' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='cv_wait_sig' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='dataset_namecheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='dataset_nestcheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='efi_alloc_and_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -195,9 +210,22 @@
<elf-symbol name='getzoneid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='is_mounted' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='is_mpath_whole_disk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kmem_asprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kmem_cache_reap_active' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kmem_scnprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kmem_vasprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='ksid_lookupdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='ksiddomain_rele' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kstat_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kstat_delete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kstat_install' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='kstat_set_raw_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libpc_error_description' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libspl_assertf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libspl_backtrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='libspl_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='libspl_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='libspl_physmem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libspl_set_assert_ok' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libzfs_add_handle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='libzfs_envvar_is_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -243,10 +271,32 @@
<elf-symbol name='membar_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='mkdirp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='mountpoint_namecheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_enter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_enter_check_return' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='mutex_tryenter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='p0' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='permset_namecheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='pool_namecheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='print_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='printf_color' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='procfs_list_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='procfs_list_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='procfs_list_install' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='procfs_list_uninstall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='random_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='random_force_pseudo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='random_get_bytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='random_get_pseudo_bytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='random_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_enter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_tryenter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='rw_tryupgrade' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='sa_commit_shares' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='sa_disable_share' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='sa_enable_share' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -254,10 +304,29 @@
<elf-symbol name='sa_is_shared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='sa_truncate_shares' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='sa_validate_shareopts' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='seq_printf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='snapshot_namecheck' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='spl_fstrans_mark' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='spl_fstrans_unmark' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='spl_pagesize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='strlcat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='strlcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='system_taskq_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='system_taskq_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_cancel_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_create_synced' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_dispatch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_dispatch_delay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_dispatch_ent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_empty_ent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_init_ent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_member' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_of_curthread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_wait_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='taskq_wait_outstanding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='tpool_abandon' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='tpool_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='tpool_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -270,6 +339,7 @@
<elf-symbol name='update_vdev_config_dev_strs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='update_vdev_config_dev_sysfs_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='use_color' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='utsname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='vdev_expand_proplist' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='vdev_name_to_prop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='vdev_prop_align_right' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -451,10 +521,6 @@
<elf-symbol name='zfs_strip_partition' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_strip_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_truncate_shares' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='zfs_tunable_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='zfs_tunable_iter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='zfs_tunable_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='zfs_tunable_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_type_to_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_unmount' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_unmountall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -477,6 +543,7 @@
<elf-symbol name='zfs_version_userland' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_wait_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zfs_zpl_version_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='zk_thread_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zpool_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zpool_add_propname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='zpool_checkpoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -1319,6 +1386,106 @@
</function-decl>
<type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
</abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/condvar.c' language='LANG_C99'>
+ <typedef-decl name='kcondvar_t' type-id='62fab762' id='29dbc0dd'/>
+ <class-decl name='kmutex' size-in-bits='384' is-struct='yes' visibility='default' id='f1cacfe1'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='m_lock' type-id='7a6844eb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='320'>
+ <var-decl name='m_owner' type-id='4051f5e7' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='kmutex_t' type-id='f1cacfe1' id='b9eccc8f'/>
+ <typedef-decl name='hrtime_t' type-id='1eb56b1e' id='cebdd548'/>
+ <typedef-decl name='__suseconds_t' type-id='bd54fe1a' id='5b102a54'/>
+ <typedef-decl name='clock_t' type-id='4d66c6d7' id='4c3a2c61'/>
+ <class-decl name='timeval' size-in-bits='128' is-struct='yes' visibility='default' id='2a693ac3'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='tv_sec' type-id='65eda9c0' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='tv_usec' type-id='5b102a54' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <pointer-type-def type-id='29dbc0dd' size-in-bits='64' id='068c4f7e'/>
+ <pointer-type-def type-id='b9eccc8f' size-in-bits='64' id='78830f38'/>
+ <pointer-type-def type-id='2a693ac3' size-in-bits='64' id='896f1b83'/>
+ <qualified-type-def type-id='896f1b83' restrict='yes' id='4bcf44c1'/>
+ <function-decl name='pthread_cond_destroy' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='db285b03'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='gettimeofday' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='4bcf44c1'/>
+ <parameter type-id='1b7446cd'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='cv_init' mangled-name='cv_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_init'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <parameter type-id='26a90f95' name='name'/>
+ <parameter type-id='95e97e5e' name='type'/>
+ <parameter type-id='eaa32e2f' name='arg'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='cv_destroy' mangled-name='cv_destroy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_destroy'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='cv_wait' mangled-name='cv_wait' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_wait'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='cv_wait_sig' mangled-name='cv_wait_sig' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_wait_sig'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='cv_timedwait' mangled-name='cv_timedwait' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_timedwait'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <parameter type-id='78830f38' name='mp'/>
+ <parameter type-id='4c3a2c61' name='abstime'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='cv_timedwait_hires' mangled-name='cv_timedwait_hires' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_timedwait_hires'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <parameter type-id='78830f38' name='mp'/>
+ <parameter type-id='cebdd548' name='tim'/>
+ <parameter type-id='cebdd548' name='res'/>
+ <parameter type-id='95e97e5e' name='flag'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='cv_signal' mangled-name='cv_signal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_signal'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='cv_broadcast' mangled-name='cv_broadcast' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cv_broadcast'>
+ <parameter type-id='068c4f7e' name='cv'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <qualified-type-def type-id='eaa32e2f' restrict='yes' id='1b7446cd'/>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/cred.c' language='LANG_C99'>
+ <class-decl name='cred' is-struct='yes' visibility='default' is-declaration-only='yes' id='6739dd09'/>
+ <typedef-decl name='cred_t' type-id='6739dd09' id='a42f1a8f'/>
+ <typedef-decl name='gid_t' type-id='d94ec6d9' id='2bb2b96f'/>
+ <pointer-type-def type-id='a42f1a8f' size-in-bits='64' id='f89fcf80'/>
+ <pointer-type-def type-id='2bb2b96f' size-in-bits='64' id='b52814e6'/>
+ <class-decl name='cred' is-struct='yes' visibility='default' is-declaration-only='yes' id='6739dd09'/>
+ <function-decl name='crgetuid' mangled-name='crgetuid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crgetuid'>
+ <parameter type-id='f89fcf80' name='cr'/>
+ <return type-id='354978ed'/>
+ </function-decl>
+ <function-decl name='crgetngroups' mangled-name='crgetngroups' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crgetngroups'>
+ <parameter type-id='f89fcf80' name='cr'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='crgetgroups' mangled-name='crgetgroups' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crgetgroups'>
+ <parameter type-id='f89fcf80' name='cr'/>
+ <return type-id='b52814e6'/>
+ </function-decl>
+ </abi-instr>
<abi-instr address-size='64' path='lib/libspl/getexecname.c' language='LANG_C99'>
<function-decl name='getexecname' mangled-name='getexecname' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getexecname'>
<return type-id='80f4b756'/>
@@ -1328,6 +1495,160 @@
<return type-id='79a0948f'/>
</function-decl>
</abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/kmem.c' language='LANG_C99'>
+ <typedef-decl name='fstrans_cookie_t' type-id='95e97e5e' id='059934c1'/>
+ <function-decl name='kmem_vasprintf' mangled-name='kmem_vasprintf' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_vasprintf'>
+ <parameter type-id='80f4b756' name='fmt'/>
+ <parameter type-id='b7f2d5e6' name='adx'/>
+ <return type-id='26a90f95'/>
+ </function-decl>
+ <function-decl name='kmem_asprintf' mangled-name='kmem_asprintf' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_asprintf'>
+ <parameter type-id='80f4b756' name='fmt'/>
+ <parameter is-variadic='yes'/>
+ <return type-id='26a90f95'/>
+ </function-decl>
+ <function-decl name='kmem_scnprintf' mangled-name='kmem_scnprintf' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_scnprintf'>
+ <parameter type-id='266fe297' name='str'/>
+ <parameter type-id='b59d7dce' name='size'/>
+ <parameter type-id='9d26089a' name='fmt'/>
+ <parameter is-variadic='yes'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='spl_fstrans_unmark' mangled-name='spl_fstrans_unmark' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spl_fstrans_unmark'>
+ <parameter type-id='059934c1' name='cookie'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='kmem_cache_reap_active' mangled-name='kmem_cache_reap_active' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_reap_active'>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/kstat.c' language='LANG_C99'>
+ <class-decl name='kstat' size-in-bits='448' is-struct='yes' visibility='default' id='5f5c9d88'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='ks_flags' type-id='d8bf0010' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='ks_data' type-id='eaa32e2f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='128'>
+ <var-decl name='ks_ndata' type-id='3502e3ff' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='192'>
+ <var-decl name='ks_data_size' type-id='b59d7dce' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='256'>
+ <var-decl name='ks_update' type-id='8cf7b7e1' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='320'>
+ <var-decl name='ks_private' type-id='eaa32e2f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='384'>
+ <var-decl name='ks_lock' type-id='eaa32e2f' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='kstat_t' type-id='5f5c9d88' id='dd12e024'/>
+ <typedef-decl name='uchar_t' type-id='002ac4a6' id='d8bf0010'/>
+ <typedef-decl name='__loff_t' type-id='724e4de6' id='00c9d214'/>
+ <typedef-decl name='loff_t' type-id='00c9d214' id='69bf7bee'/>
+ <pointer-type-def type-id='9d5d322a' size-in-bits='64' id='bbe97414'/>
+ <pointer-type-def type-id='05b3c714' size-in-bits='64' id='27cc5c36'/>
+ <pointer-type-def type-id='7a9ace65' size-in-bits='64' id='8cf7b7e1'/>
+ <pointer-type-def type-id='5f5c9d88' size-in-bits='64' id='0e87f9be'/>
+ <pointer-type-def type-id='dd12e024' size-in-bits='64' id='46e5e463'/>
+ <pointer-type-def type-id='527a97c5' size-in-bits='64' id='673f2af9'/>
+ <function-decl name='kstat_create' mangled-name='kstat_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstat_create'>
+ <parameter type-id='80f4b756' name='module'/>
+ <parameter type-id='95e97e5e' name='instance'/>
+ <parameter type-id='80f4b756' name='name'/>
+ <parameter type-id='80f4b756' name='class'/>
+ <parameter type-id='d8bf0010' name='type'/>
+ <parameter type-id='ee1f298e' name='ndata'/>
+ <parameter type-id='d8bf0010' name='ks_flag'/>
+ <return type-id='46e5e463'/>
+ </function-decl>
+ <function-decl name='kstat_install' mangled-name='kstat_install' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstat_install'>
+ <parameter type-id='46e5e463' name='ksp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='kstat_set_raw_ops' mangled-name='kstat_set_raw_ops' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstat_set_raw_ops'>
+ <parameter type-id='46e5e463' name='ksp'/>
+ <parameter type-id='bbe97414' name='headers'/>
+ <parameter type-id='27cc5c36' name='data'/>
+ <parameter type-id='673f2af9' name='addr'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-type size-in-bits='64' id='9d5d322a'>
+ <parameter type-id='26a90f95'/>
+ <parameter type-id='b59d7dce'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ <function-type size-in-bits='64' id='05b3c714'>
+ <parameter type-id='26a90f95'/>
+ <parameter type-id='b59d7dce'/>
+ <parameter type-id='eaa32e2f'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ <function-type size-in-bits='64' id='7a9ace65'>
+ <parameter type-id='0e87f9be'/>
+ <parameter type-id='95e97e5e'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ <function-type size-in-bits='64' id='527a97c5'>
+ <parameter type-id='46e5e463'/>
+ <parameter type-id='69bf7bee'/>
+ <return type-id='eaa32e2f'/>
+ </function-type>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/libspl.c' language='LANG_C99'>
+ <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='520' id='5ddd38d2'>
+ <subrange length='65' type-id='7359adad' id='b50e2e4a'/>
+ </array-type-def>
+ <typedef-decl name='utsname_t' type-id='414a2ac6' id='5278297a'/>
+ <class-decl name='utsname' size-in-bits='3120' is-struct='yes' visibility='default' id='414a2ac6'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='sysname' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='520'>
+ <var-decl name='nodename' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='1040'>
+ <var-decl name='release' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='1560'>
+ <var-decl name='version' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2080'>
+ <var-decl name='machine' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2600'>
+ <var-decl name='domainname' type-id='5ddd38d2' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <pointer-type-def type-id='414a2ac6' size-in-bits='64' id='a6724cec'/>
+ <pointer-type-def type-id='5278297a' size-in-bits='64' id='5c7868ad'/>
+ <function-decl name='uname' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6724cec'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='libspl_physmem' mangled-name='libspl_physmem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='libspl_physmem'>
+ <return type-id='9c313c2d'/>
+ </function-decl>
+ <function-decl name='utsname' mangled-name='utsname' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='utsname'>
+ <return type-id='5c7868ad'/>
+ </function-decl>
+ <function-decl name='libspl_init' mangled-name='libspl_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='libspl_init'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='libspl_fini' mangled-name='libspl_fini' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='libspl_fini'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='random_init' mangled-name='random_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='random_init'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='random_fini' mangled-name='random_fini' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='random_fini'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ </abi-instr>
<abi-instr address-size='64' path='lib/libspl/list.c' language='LANG_C99'>
<typedef-decl name='list_node_t' type-id='b0b5e45e' id='b21843b2'/>
<typedef-decl name='list_t' type-id='e824dae9' id='0899125f'/>
@@ -1458,6 +1779,39 @@
<return type-id='b59d7dce'/>
</function-decl>
</abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/mutex.c' language='LANG_C99'>
+ <function-decl name='pthread_mutex_trylock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='18c91f9e'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='mutex_init' mangled-name='mutex_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_init'>
+ <parameter type-id='78830f38' name='mp'/>
+ <parameter type-id='26a90f95' name='name'/>
+ <parameter type-id='95e97e5e' name='type'/>
+ <parameter type-id='eaa32e2f' name='cookie'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='mutex_destroy' mangled-name='mutex_destroy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_destroy'>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='mutex_enter' mangled-name='mutex_enter' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_enter'>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='mutex_enter_check_return' mangled-name='mutex_enter_check_return' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_enter_check_return'>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='mutex_tryenter' mangled-name='mutex_tryenter' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_tryenter'>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='mutex_exit' mangled-name='mutex_exit' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_exit'>
+ <parameter type-id='78830f38' name='mp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ </abi-instr>
<abi-instr address-size='64' path='lib/libspl/os/linux/getmntany.c' language='LANG_C99'>
<pointer-type-def type-id='56fe4a37' size-in-bits='64' id='b6b61d2f'/>
<qualified-type-def type-id='b6b61d2f' restrict='yes' id='3cad23cd'/>
@@ -1473,6 +1827,486 @@
<return type-id='95e97e5e'/>
</function-decl>
</abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/procfs_list.c' language='LANG_C99'>
+ <class-decl name='procfs_list' size-in-bits='768' is-struct='yes' visibility='default' id='0f4d3b87'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='pl_private' type-id='eaa32e2f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='pl_lock' type-id='b9eccc8f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='448'>
+ <var-decl name='pl_list' type-id='0899125f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='640'>
+ <var-decl name='pl_next_id' type-id='9c313c2d' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='704'>
+ <var-decl name='pl_node_offset' type-id='b59d7dce' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='procfs_list_t' type-id='0f4d3b87' id='e5b5a21b'/>
+ <class-decl name='seq_file' is-struct='yes' visibility='default' id='f3415517'/>
+ <pointer-type-def type-id='be39c944' size-in-bits='64' id='b5c3ae96'/>
+ <pointer-type-def type-id='86932239' size-in-bits='64' id='6255c89d'/>
+ <pointer-type-def type-id='cf9ec29d' size-in-bits='64' id='0131eb61'/>
+ <pointer-type-def type-id='e5b5a21b' size-in-bits='64' id='7f432372'/>
+ <pointer-type-def type-id='f3415517' size-in-bits='64' id='f8dc9def'/>
+ <function-decl name='seq_printf' mangled-name='seq_printf' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_printf'>
+ <parameter type-id='f8dc9def' name='m'/>
+ <parameter type-id='80f4b756' name='fmt'/>
+ <parameter is-variadic='yes'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='procfs_list_install' mangled-name='procfs_list_install' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='procfs_list_install'>
+ <parameter type-id='80f4b756' name='module'/>
+ <parameter type-id='80f4b756' name='submodule'/>
+ <parameter type-id='80f4b756' name='name'/>
+ <parameter type-id='d50d396c' name='mode'/>
+ <parameter type-id='7f432372' name='procfs_list'/>
+ <parameter type-id='0131eb61' name='show'/>
+ <parameter type-id='6255c89d' name='show_header'/>
+ <parameter type-id='b5c3ae96' name='clear'/>
+ <parameter type-id='b59d7dce' name='procfs_list_node_off'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='procfs_list_uninstall' mangled-name='procfs_list_uninstall' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='procfs_list_uninstall'>
+ <parameter type-id='7f432372' name='procfs_list'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='procfs_list_destroy' mangled-name='procfs_list_destroy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='procfs_list_destroy'>
+ <parameter type-id='7f432372' name='procfs_list'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='procfs_list_add' mangled-name='procfs_list_add' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='procfs_list_add'>
+ <parameter type-id='7f432372' name='procfs_list'/>
+ <parameter type-id='eaa32e2f' name='p'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-type size-in-bits='64' id='be39c944'>
+ <parameter type-id='7f432372'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ <function-type size-in-bits='64' id='86932239'>
+ <parameter type-id='f8dc9def'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ <function-type size-in-bits='64' id='cf9ec29d'>
+ <parameter type-id='f8dc9def'/>
+ <parameter type-id='eaa32e2f'/>
+ <return type-id='95e97e5e'/>
+ </function-type>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/random.c' language='LANG_C99'>
+ <function-decl name='random_force_pseudo' mangled-name='random_force_pseudo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='random_force_pseudo'>
+ <parameter type-id='c19b74c3' name='onoff'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='random_get_bytes' mangled-name='random_get_bytes' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='random_get_bytes'>
+ <parameter type-id='ae3e8ca6' name='ptr'/>
+ <parameter type-id='b59d7dce' name='len'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='random_get_pseudo_bytes' mangled-name='random_get_pseudo_bytes' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='random_get_pseudo_bytes'>
+ <parameter type-id='ae3e8ca6' name='ptr'/>
+ <parameter type-id='b59d7dce' name='len'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/rwlock.c' language='LANG_C99'>
+ <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='64' id='8e100159'>
+ <subrange length='8' type-id='7359adad' id='56e0c0b1'/>
+ </array-type-def>
+ <array-type-def dimensions='1' type-id='002ac4a6' size-in-bits='56' id='08f7ce77'>
+ <subrange length='7' type-id='7359adad' id='16fc326e'/>
+ </array-type-def>
+ <class-decl name='krwlock' size-in-bits='576' is-struct='yes' visibility='default' id='4361e3b2'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='rw_lock' type-id='3f680bc6' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='448'>
+ <var-decl name='rw_owner' type-id='4051f5e7' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='512'>
+ <var-decl name='rw_readers' type-id='3502e3ff' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='krwlock_t' type-id='4361e3b2' id='477df69a'/>
+ <typedef-decl name='krw_t' type-id='95e97e5e' id='932eed5d'/>
+ <union-decl name='pthread_rwlock_t' size-in-bits='448' naming-typedef-id='3f680bc6' visibility='default' id='981886f6'>
+ <data-member access='public'>
+ <var-decl name='__data' type-id='afe414a4' visibility='default'/>
+ </data-member>
+ <data-member access='public'>
+ <var-decl name='__size' type-id='6093ff7c' visibility='default'/>
+ </data-member>
+ <data-member access='public'>
+ <var-decl name='__align' type-id='bd54fe1a' visibility='default'/>
+ </data-member>
+ </union-decl>
+ <typedef-decl name='pthread_rwlock_t' type-id='981886f6' id='3f680bc6'/>
+ <union-decl name='pthread_rwlockattr_t' size-in-bits='64' naming-typedef-id='1b1c4591' visibility='default' id='b8e57521'>
+ <data-member access='public'>
+ <var-decl name='__size' type-id='8e100159' visibility='default'/>
+ </data-member>
+ <data-member access='public'>
+ <var-decl name='__align' type-id='bd54fe1a' visibility='default'/>
+ </data-member>
+ </union-decl>
+ <typedef-decl name='pthread_rwlockattr_t' type-id='b8e57521' id='1b1c4591'/>
+ <class-decl name='__pthread_rwlock_arch_t' size-in-bits='448' is-struct='yes' visibility='default' id='afe414a4'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='__readers' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='32'>
+ <var-decl name='__writers' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='__wrphase_futex' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='96'>
+ <var-decl name='__writers_futex' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='128'>
+ <var-decl name='__pad3' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='160'>
+ <var-decl name='__pad4' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='192'>
+ <var-decl name='__cur_writer' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='224'>
+ <var-decl name='__shared' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='256'>
+ <var-decl name='__rwelision' type-id='28577a57' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='264'>
+ <var-decl name='__pad1' type-id='08f7ce77' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='320'>
+ <var-decl name='__pad2' type-id='7359adad' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='384'>
+ <var-decl name='__flags' type-id='f0981eeb' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <qualified-type-def type-id='1b1c4591' const='yes' id='52c85581'/>
+ <pointer-type-def type-id='52c85581' size-in-bits='64' id='fc5edc31'/>
+ <qualified-type-def type-id='fc5edc31' restrict='yes' id='295e8f33'/>
+ <pointer-type-def type-id='477df69a' size-in-bits='64' id='0126db61'/>
+ <pointer-type-def type-id='3f680bc6' size-in-bits='64' id='a6210c87'/>
+ <qualified-type-def type-id='a6210c87' restrict='yes' id='27210b05'/>
+ <qualified-type-def type-id='3502e3ff' volatile='yes' id='d0290e74'/>
+ <pointer-type-def type-id='d0290e74' size-in-bits='64' id='0ea19dfa'/>
+ <function-decl name='atomic_inc_uint' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='0ea19dfa'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='atomic_dec_uint' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='0ea19dfa'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_init' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='27210b05'/>
+ <parameter type-id='295e8f33'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_destroy' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_rdlock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_tryrdlock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_wrlock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_trywrlock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_rwlock_unlock' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='a6210c87'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='rw_init' mangled-name='rw_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_init'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <parameter type-id='26a90f95' name='name'/>
+ <parameter type-id='95e97e5e' name='type'/>
+ <parameter type-id='eaa32e2f' name='arg'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='rw_destroy' mangled-name='rw_destroy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_destroy'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='rw_enter' mangled-name='rw_enter' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_enter'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <parameter type-id='932eed5d' name='rw'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='rw_exit' mangled-name='rw_exit' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_exit'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='rw_tryenter' mangled-name='rw_tryenter' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_tryenter'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <parameter type-id='932eed5d' name='rw'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='rw_tryupgrade' mangled-name='rw_tryupgrade' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rw_tryupgrade'>
+ <parameter type-id='0126db61' name='rwlp'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/sid.c' language='LANG_C99'>
+ <class-decl name='ksiddomain' size-in-bits='128' is-struct='yes' visibility='default' id='b3a38f42'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='kd_ref' type-id='3502e3ff' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='32'>
+ <var-decl name='kd_len' type-id='3502e3ff' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='kd_name' type-id='26a90f95' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='ksiddomain_t' type-id='b3a38f42' id='db2eb030'/>
+ <pointer-type-def type-id='db2eb030' size-in-bits='64' id='3b684881'/>
+ <function-decl name='ksid_lookupdomain' mangled-name='ksid_lookupdomain' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ksid_lookupdomain'>
+ <parameter type-id='80f4b756' name='dom'/>
+ <return type-id='3b684881'/>
+ </function-decl>
+ <function-decl name='ksiddomain_rele' mangled-name='ksiddomain_rele' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ksiddomain_rele'>
+ <parameter type-id='3b684881' name='ksid'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/taskq.c' language='LANG_C99'>
+ <typedef-decl name='pri_t' type-id='a2185560' id='c497180a'/>
+ <typedef-decl name='taskqid_t' type-id='e475ab95' id='de0ea20e'/>
+ <typedef-decl name='task_func_t' type-id='c5c76c9c' id='d8481e1f'/>
+ <class-decl name='taskq_ent' size-in-bits='320' is-struct='yes' visibility='default' id='cfda1b05'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='tqent_next' type-id='67918d75' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='64'>
+ <var-decl name='tqent_prev' type-id='67918d75' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='128'>
+ <var-decl name='tqent_func' type-id='41cce5ce' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='192'>
+ <var-decl name='tqent_arg' type-id='eaa32e2f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='256'>
+ <var-decl name='tqent_flags' type-id='e475ab95' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='taskq_ent_t' type-id='cfda1b05' id='65d297d1'/>
+ <class-decl name='taskq' size-in-bits='3072' is-struct='yes' visibility='default' id='1804594f'>
+ <data-member access='public' layout-offset-in-bits='0'>
+ <var-decl name='tq_name' type-id='16dc656a' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='256'>
+ <var-decl name='tq_lock' type-id='b9eccc8f' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='640'>
+ <var-decl name='tq_threadlock' type-id='477df69a' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='1216'>
+ <var-decl name='tq_dispatch_cv' type-id='29dbc0dd' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='1600'>
+ <var-decl name='tq_wait_cv' type-id='29dbc0dd' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='1984'>
+ <var-decl name='tq_threadlist' type-id='6e87b565' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2048'>
+ <var-decl name='tq_flags' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2080'>
+ <var-decl name='tq_active' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2112'>
+ <var-decl name='tq_nthreads' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2144'>
+ <var-decl name='tq_nalloc' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2176'>
+ <var-decl name='tq_minalloc' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2208'>
+ <var-decl name='tq_maxalloc' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2240'>
+ <var-decl name='tq_maxalloc_cv' type-id='29dbc0dd' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2624'>
+ <var-decl name='tq_maxalloc_wait' type-id='95e97e5e' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2688'>
+ <var-decl name='tq_freelist' type-id='3a4f23d4' visibility='default'/>
+ </data-member>
+ <data-member access='public' layout-offset-in-bits='2752'>
+ <var-decl name='tq_task' type-id='65d297d1' visibility='default'/>
+ </data-member>
+ </class-decl>
+ <typedef-decl name='taskq_t' type-id='1804594f' id='ef507f03'/>
+ <typedef-decl name='kthread_t' type-id='4051f5e7' id='9bccee1a'/>
+ <typedef-decl name='pthread_key_t' type-id='f0981eeb' id='2de5383b'/>
+ <pointer-type-def type-id='9bccee1a' size-in-bits='64' id='6ae5a80d'/>
+ <pointer-type-def type-id='6ae5a80d' size-in-bits='64' id='6e87b565'/>
+ <pointer-type-def type-id='6e87b565' size-in-bits='64' id='4ea26b5d'/>
+ <pointer-type-def type-id='2de5383b' size-in-bits='64' id='ce04b822'/>
+ <pointer-type-def type-id='d8481e1f' size-in-bits='64' id='41cce5ce'/>
+ <pointer-type-def type-id='cfda1b05' size-in-bits='64' id='67918d75'/>
+ <pointer-type-def type-id='65d297d1' size-in-bits='64' id='3a4f23d4'/>
+ <pointer-type-def type-id='ef507f03' size-in-bits='64' id='4f8ed29a'/>
+ <function-decl name='zk_thread_create' mangled-name='zk_thread_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zk_thread_create'>
+ <parameter type-id='80f4b756'/>
+ <parameter type-id='b7f9d8e6'/>
+ <parameter type-id='eaa32e2f'/>
+ <parameter type-id='b59d7dce'/>
+ <parameter type-id='95e97e5e'/>
+ <return type-id='6ae5a80d'/>
+ </function-decl>
+ <function-decl name='pthread_key_create' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='ce04b822'/>
+ <parameter type-id='b7f9d8e6'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_key_delete' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='2de5383b'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_getspecific' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='2de5383b'/>
+ <return type-id='eaa32e2f'/>
+ </function-decl>
+ <function-decl name='pthread_setspecific' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='2de5383b'/>
+ <parameter type-id='eaa32e2f'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='_system_taskq' mangled-name='_system_taskq' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_system_taskq'>
+ <return type-id='4f8ed29a'/>
+ </function-decl>
+ <function-decl name='_system_delay_taskq' mangled-name='_system_delay_taskq' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_system_delay_taskq'>
+ <return type-id='4f8ed29a'/>
+ </function-decl>
+ <function-decl name='taskq_dispatch' mangled-name='taskq_dispatch' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_dispatch'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='41cce5ce' name='func'/>
+ <parameter type-id='eaa32e2f' name='arg'/>
+ <parameter type-id='3502e3ff' name='tqflags'/>
+ <return type-id='de0ea20e'/>
+ </function-decl>
+ <function-decl name='taskq_dispatch_delay' mangled-name='taskq_dispatch_delay' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_dispatch_delay'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='41cce5ce' name='func'/>
+ <parameter type-id='eaa32e2f' name='arg'/>
+ <parameter type-id='3502e3ff' name='tqflags'/>
+ <parameter type-id='4c3a2c61' name='expire_time'/>
+ <return type-id='de0ea20e'/>
+ </function-decl>
+ <function-decl name='taskq_empty_ent' mangled-name='taskq_empty_ent' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_empty_ent'>
+ <parameter type-id='3a4f23d4' name='t'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='taskq_init_ent' mangled-name='taskq_init_ent' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_init_ent'>
+ <parameter type-id='3a4f23d4' name='t'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='taskq_dispatch_ent' mangled-name='taskq_dispatch_ent' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_dispatch_ent'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='41cce5ce' name='func'/>
+ <parameter type-id='eaa32e2f' name='arg'/>
+ <parameter type-id='3502e3ff' name='flags'/>
+ <parameter type-id='3a4f23d4' name='t'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='taskq_wait' mangled-name='taskq_wait' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_wait'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='taskq_wait_id' mangled-name='taskq_wait_id' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_wait_id'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='de0ea20e' name='id'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='taskq_create' mangled-name='taskq_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_create'>
+ <parameter type-id='80f4b756' name='name'/>
+ <parameter type-id='95e97e5e' name='nthreads'/>
+ <parameter type-id='c497180a' name='pri'/>
+ <parameter type-id='95e97e5e' name='minalloc'/>
+ <parameter type-id='95e97e5e' name='maxalloc'/>
+ <parameter type-id='3502e3ff' name='flags'/>
+ <return type-id='4f8ed29a'/>
+ </function-decl>
+ <function-decl name='taskq_destroy' mangled-name='taskq_destroy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_destroy'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='taskq_create_synced' mangled-name='taskq_create_synced' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_create_synced'>
+ <parameter type-id='80f4b756' name='name'/>
+ <parameter type-id='95e97e5e' name='nthreads'/>
+ <parameter type-id='c497180a' name='pri'/>
+ <parameter type-id='95e97e5e' name='minalloc'/>
+ <parameter type-id='95e97e5e' name='maxalloc'/>
+ <parameter type-id='3502e3ff' name='flags'/>
+ <parameter type-id='4ea26b5d' name='ktpp'/>
+ <return type-id='4f8ed29a'/>
+ </function-decl>
+ <function-decl name='taskq_member' mangled-name='taskq_member' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_member'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='6ae5a80d' name='t'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='taskq_of_curthread' mangled-name='taskq_of_curthread' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_of_curthread'>
+ <return type-id='4f8ed29a'/>
+ </function-decl>
+ <function-decl name='taskq_cancel_id' mangled-name='taskq_cancel_id' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='taskq_cancel_id'>
+ <parameter type-id='4f8ed29a' name='tq'/>
+ <parameter type-id='de0ea20e' name='id'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='system_taskq_init' mangled-name='system_taskq_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='system_taskq_init'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-decl name='system_taskq_fini' mangled-name='system_taskq_fini' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='system_taskq_fini'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ <function-type size-in-bits='64' id='c5c76c9c'>
+ <parameter type-id='eaa32e2f'/>
+ <return type-id='48b5725f'/>
+ </function-type>
+ </abi-instr>
+ <abi-instr address-size='64' path='lib/libspl/thread.c' language='LANG_C99'>
+ <function-decl name='pthread_attr_setstacksize' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='7347a39e'/>
+ <parameter type-id='b59d7dce'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='pthread_setname_np' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='4051f5e7'/>
+ <parameter type-id='80f4b756'/>
+ <return type-id='95e97e5e'/>
+ </function-decl>
+ <function-decl name='p0' mangled-name='p0' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='p0'>
+ <return type-id='48b5725f'/>
+ </function-decl>
+ </abi-instr>
<abi-instr address-size='64' path='lib/libspl/timestamp.c' language='LANG_C99'>
<typedef-decl name='nl_item' type-id='95e97e5e' id='03b79a94'/>
<function-decl name='nl_langinfo' visibility='default' binding='global' size-in-bits='64'>
@@ -1497,50 +2331,10 @@
</function-decl>
</abi-instr>
<abi-instr address-size='64' path='lib/libspl/tunables.c' language='LANG_C99'>
- <enum-decl name='zfs_tunable_type_t' naming-typedef-id='f50b1525' id='56905369'>
- <underlying-type type-id='9cac1fee'/>
- <enumerator name='ZFS_TUNABLE_TYPE_INT' value='0'/>
- <enumerator name='ZFS_TUNABLE_TYPE_UINT' value='1'/>
- <enumerator name='ZFS_TUNABLE_TYPE_ULONG' value='2'/>
- <enumerator name='ZFS_TUNABLE_TYPE_U64' value='3'/>
- <enumerator name='ZFS_TUNABLE_TYPE_STRING' value='4'/>
- </enum-decl>
- <typedef-decl name='zfs_tunable_type_t' type-id='56905369' id='f50b1525'/>
- <enum-decl name='zfs_tunable_perm_t' naming-typedef-id='ada7336b' id='e80e6ebf'>
- <underlying-type type-id='9cac1fee'/>
- <enumerator name='ZFS_TUNABLE_PERM_ZMOD_RW' value='0'/>
- <enumerator name='ZFS_TUNABLE_PERM_ZMOD_RD' value='1'/>
- </enum-decl>
- <typedef-decl name='zfs_tunable_perm_t' type-id='e80e6ebf' id='ada7336b'/>
- <class-decl name='zfs_tunable' size-in-bits='320' is-struct='yes' visibility='default' id='1a97ee0e'>
- <data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='zt_name' type-id='80f4b756' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='64'>
- <var-decl name='zt_varp' type-id='eaa32e2f' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='128'>
- <var-decl name='zt_varsz' type-id='b59d7dce' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='192'>
- <var-decl name='zt_type' type-id='f50b1525' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='224'>
- <var-decl name='zt_perm' type-id='ada7336b' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='256'>
- <var-decl name='zt_desc' type-id='80f4b756' visibility='default'/>
- </data-member>
- </class-decl>
- <typedef-decl name='zfs_tunable_t' type-id='1a97ee0e' id='12bf5c5e'/>
- <typedef-decl name='zfs_tunable_iter_t' type-id='7ef33f92' id='d8d5f4ab'/>
<typedef-decl name='intmax_t' type-id='5b475db0' id='e104d842'/>
<typedef-decl name='uintmax_t' type-id='04d82f4b' id='f8b828c9'/>
<typedef-decl name='__intmax_t' type-id='bd54fe1a' id='5b475db0'/>
<typedef-decl name='__uintmax_t' type-id='7359adad' id='04d82f4b'/>
- <qualified-type-def type-id='12bf5c5e' const='yes' id='180e47ee'/>
- <pointer-type-def type-id='180e47ee' size-in-bits='64' id='a27af98c'/>
- <pointer-type-def type-id='92f86508' size-in-bits='64' id='7ef33f92'/>
<function-decl name='strtoimax' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='9d26089a'/>
<parameter type-id='8c85230f'/>
@@ -1553,31 +2347,6 @@
<parameter type-id='95e97e5e'/>
<return type-id='f8b828c9'/>
</function-decl>
- <function-decl name='zfs_tunable_lookup' mangled-name='zfs_tunable_lookup' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zfs_tunable_lookup'>
- <parameter type-id='80f4b756' name='name'/>
- <return type-id='a27af98c'/>
- </function-decl>
- <function-decl name='zfs_tunable_iter' mangled-name='zfs_tunable_iter' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zfs_tunable_iter'>
- <parameter type-id='d8d5f4ab' name='cb'/>
- <parameter type-id='eaa32e2f' name='arg'/>
- <return type-id='48b5725f'/>
- </function-decl>
- <function-decl name='zfs_tunable_set' mangled-name='zfs_tunable_set' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zfs_tunable_set'>
- <parameter type-id='a27af98c' name='zt'/>
- <parameter type-id='80f4b756' name='val'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-decl name='zfs_tunable_get' mangled-name='zfs_tunable_get' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zfs_tunable_get'>
- <parameter type-id='a27af98c' name='zt'/>
- <parameter type-id='26a90f95' name='val'/>
- <parameter type-id='b59d7dce' name='valsz'/>
- <return type-id='95e97e5e'/>
- </function-decl>
- <function-type size-in-bits='64' id='92f86508'>
- <parameter type-id='a27af98c'/>
- <parameter type-id='eaa32e2f'/>
- <return type-id='95e97e5e'/>
- </function-type>
</abi-instr>
<abi-instr address-size='64' path='lib/libtpool/thread_pool.c' language='LANG_C99'>
<array-type-def dimensions='1' type-id='49ef3ffd' size-in-bits='1024' id='a14403f5'>
@@ -1808,10 +2577,6 @@
<parameter type-id='7292109c'/>
<return type-id='95e97e5e'/>
</function-decl>
- <function-decl name='__pthread_unregister_cancel' visibility='default' binding='global' size-in-bits='64'>
- <parameter type-id='ba7c727c'/>
- <return type-id='48b5725f'/>
- </function-decl>
<function-decl name='pthread_cond_init' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='2a468b41'/>
<parameter type-id='4c428e67'/>
@@ -1915,10 +2680,6 @@
<var-decl name='tp_idle' type-id='95e97e5e' visibility='default'/>
</data-member>
</class-decl>
- <function-type size-in-bits='64' id='c5c76c9c'>
- <parameter type-id='eaa32e2f'/>
- <return type-id='48b5725f'/>
- </function-type>
</abi-instr>
<abi-instr address-size='64' path='lib/libzfs/libzfs_changelist.c' language='LANG_C99'>
<array-type-def dimensions='1' type-id='bf311473' size-in-bits='128' id='f0f65199'>
@@ -2639,9 +3400,6 @@
<parameter type-id='4567bbc9'/>
<return type-id='48b5725f'/>
</function-decl>
- <function-decl name='getzoneid' mangled-name='getzoneid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getzoneid'>
- <return type-id='4da03624'/>
- </function-decl>
<function-decl name='sa_commit_shares' mangled-name='sa_commit_shares' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sa_commit_shares'>
<parameter type-id='9155d4b5'/>
<return type-id='48b5725f'/>
@@ -2658,6 +3416,9 @@
<parameter type-id='b59d7dce'/>
<return type-id='b59d7dce'/>
</function-decl>
+ <function-decl name='getzoneid' mangled-name='getzoneid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getzoneid'>
+ <return type-id='4da03624'/>
+ </function-decl>
<function-decl name='free' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='eaa32e2f'/>
<return type-id='48b5725f'/>
@@ -3286,7 +4047,6 @@
</class-decl>
<typedef-decl name='regmatch_t' type-id='4f932615' id='1b941664'/>
<typedef-decl name='__sighandler_t' type-id='03347643' id='8cdd9566'/>
- <typedef-decl name='ssize_t' type-id='41060289' id='79a0948f'/>
<class-decl name='sigaction' size-in-bits='1216' is-struct='yes' visibility='default' id='fe391c48'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='__sigaction_handler' type-id='ac5ab596' visibility='default'/>
@@ -3588,6 +4348,7 @@
<var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
</data-member>
</class-decl>
+ <typedef-decl name='ssize_t' type-id='41060289' id='79a0948f'/>
<pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
<qualified-type-def type-id='822cd80b' restrict='yes' id='e75a27e9'/>
<pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
@@ -6026,7 +6787,8 @@
<enumerator name='VDEV_PROP_SLOW_IOS' value='51'/>
<enumerator name='VDEV_PROP_SIT_OUT' value='52'/>
<enumerator name='VDEV_PROP_AUTOSIT' value='53'/>
- <enumerator name='VDEV_NUM_PROPS' value='54'/>
+ <enumerator name='VDEV_PROP_SLOW_IO_EVENTS' value='54'/>
+ <enumerator name='VDEV_NUM_PROPS' value='55'/>
</enum-decl>
<typedef-decl name='vdev_prop_t' type-id='1573bec8' id='5aa5c90c'/>
<class-decl name='zpool_load_policy' size-in-bits='256' is-struct='yes' visibility='default' id='2f65b36f'>
@@ -6250,6 +7012,7 @@
<underlying-type type-id='9cac1fee'/>
<enumerator name='ZPOOL_PREFETCH_NONE' value='0'/>
<enumerator name='ZPOOL_PREFETCH_DDT' value='1'/>
+ <enumerator name='ZPOOL_PREFETCH_BRT' value='2'/>
</enum-decl>
<typedef-decl name='zpool_prefetch_type_t' type-id='0299ab50' id='e55ff6bc'/>
<enum-decl name='zpool_ddt_prune_unit_t' naming-typedef-id='02e25ab0' id='509ae11c'>
@@ -7988,6 +8751,10 @@
<parameter type-id='ba7c727c'/>
<return type-id='48b5725f'/>
</function-decl>
+ <function-decl name='__pthread_unregister_cancel' visibility='default' binding='global' size-in-bits='64'>
+ <parameter type-id='ba7c727c'/>
+ <return type-id='48b5725f'/>
+ </function-decl>
<function-decl name='__pthread_unwind_next' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='ba7c727c'/>
<return type-id='48b5725f'/>
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c b/sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c
index b34a44c30eb4..f461ad41405b 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c
@@ -19,7 +19,6 @@
* Copyright 2020 Joyent, Inc.
*/
-#include <sys/zfs_context.h>
#include <sys/fs/zfs.h>
#include <sys/dsl_crypt.h>
#include <libintl.h>
@@ -613,7 +612,9 @@ get_key_material_https(libzfs_handle_t *hdl, const char *uri,
(void) unlink(path);
free(path);
+#ifdef O_TMPFILE
kfdok:
+#endif
if ((key = fdopen(kfd, "r+")) == NULL) {
ret = errno;
(void) close(kfd);
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c
index ce154ae1a4cd..756d701e2d97 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c
@@ -1745,9 +1745,13 @@ zpool_prefetch(zpool_handle_t *zhp, zpool_prefetch_type_t type)
error = lzc_pool_prefetch(zhp->zpool_name, type);
if (error != 0) {
+ const char *typename = "unknown";
+ if (type == ZPOOL_PREFETCH_DDT)
+ typename = "ddt";
+ else if (type == ZPOOL_PREFETCH_BRT)
+ typename = "brt";
(void) snprintf(msg, sizeof (msg), dgettext(TEXT_DOMAIN,
- "cannot prefetch %s in '%s'"),
- type == ZPOOL_PREFETCH_DDT ? "ddt" : "", zhp->zpool_name);
+ "cannot prefetch %s in '%s'"), typename, zhp->zpool_name);
(void) zpool_standard_error(hdl, error, msg);
return (-1);
}
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c b/sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c
index 77134d197904..0e5cecc6cca9 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c
@@ -1013,7 +1013,8 @@ send_progress_thread(void *arg)
&blocks)) != 0) {
if (err == EINTR || err == ENOENT)
err = 0;
- pthread_exit(((void *)(uintptr_t)err));
+ /* Use break to reach pthread_cleanup_pop() below. */
+ break;
}
(void) time(&t);
@@ -1055,7 +1056,7 @@ send_progress_thread(void *arg)
}
}
pthread_cleanup_pop(B_TRUE);
- return (NULL);
+ pthread_exit(((void *)(uintptr_t)err));
}
static boolean_t
diff --git a/sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c b/sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c
index 55dfdf3723bd..651d407b1884 100644
--- a/sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c
+++ b/sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c
@@ -78,6 +78,38 @@ libzfs_error_init(int error)
}
}
+static int
+in_container(void)
+{
+ char buffer[4096];
+ ssize_t count;
+ int fd;
+
+ if (access("/run/systemd/container", R_OK) == 0)
+ return (1);
+
+ fd = open("/proc/1/cgroup", O_RDONLY);
+ if (fd == -1)
+ return (0);
+
+ count = read(fd, buffer, sizeof (buffer) - 1);
+ close(fd);
+
+ if (count <= 0)
+ return (0);
+
+ buffer[count] = '\0';
+
+ if (strstr(buffer, "docker") ||
+ strstr(buffer, "containerd") ||
+ strstr(buffer, "kubepods") ||
+ strstr(buffer, "lxc")) {
+ return (1);
+ }
+
+ return (0);
+}
+
/*
* zfs(4) is loaded by udev if there's a fstype=zfs device present,
* but if there isn't, load them automatically;
@@ -104,6 +136,11 @@ libzfs_load_module(void)
const char *timeout_str = getenv("ZFS_MODULE_TIMEOUT");
int seconds = 10;
+
+ /* Set timeout to zero if inside of a container */
+ if (in_container())
+ seconds = 0;
+
if (timeout_str)
seconds = MIN(strtol(timeout_str, NULL, 0), 600);
struct itimerspec timeout = {.it_value.tv_sec = MAX(seconds, 0)};