diff options
Diffstat (limited to 'sys/contrib/openzfs/lib/libzfs')
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/Makefile.am | 2 | ||||
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/libzfs.abi | 933 | ||||
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c | 3 | ||||
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 8 | ||||
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 5 | ||||
| -rw-r--r-- | sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_util_os.c | 37 |
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)}; |
