1# This file exports variables for each tunable used in the test suite.
2#
3# Different platforms use different names for most tunables. To avoid littering
4# the tests with conditional logic for deciding how to set each tunable, the
5# logic is instead consolidated to this one file.
6#
7# Any use of tunables in tests must use a name defined here. New entries
8# should be added to the table as needed. Please keep the table sorted
9# alphabetically for ease of maintenance.
10#
11# Platform-specific tunables should still use a NAME from this table for
12# consistency. Enter UNSUPPORTED in the column for platforms on which the
13# tunable is not implemented.
14
15UNAME=$(uname)
16
17# NAME				FreeBSD tunable			Linux tunable
18cat <<%%%% |
19ADMIN_SNAPSHOT			UNSUPPORTED			zfs_admin_snapshot
20ALLOW_REDACTED_DATASET_MOUNT	allow_redacted_dataset_mount	zfs_allow_redacted_dataset_mount
21ARC_MAX				arc.max				zfs_arc_max
22ARC_MIN				arc.min				zfs_arc_min
23ASYNC_BLOCK_MAX_BLOCKS		async_block_max_blocks		zfs_async_block_max_blocks
24CHECKSUM_EVENTS_PER_SECOND	checksum_events_per_second	zfs_checksum_events_per_second
25COMMIT_TIMEOUT_PCT		commit_timeout_pct		zfs_commit_timeout_pct
26COMPRESSED_ARC_ENABLED		compressed_arc_enabled		zfs_compressed_arc_enabled
27CONDENSE_INDIRECT_COMMIT_ENTRY_DELAY_MS	condense.indirect_commit_entry_delay_ms	zfs_condense_indirect_commit_entry_delay_ms
28CONDENSE_INDIRECT_OBSOLETE_PCT	condense.indirect_obsolete_pct	zfs_condense_indirect_obsolete_pct
29CONDENSE_MIN_MAPPING_BYTES	condense.min_mapping_bytes	zfs_condense_min_mapping_bytes
30DBUF_CACHE_SHIFT		dbuf.cache_shift		dbuf_cache_shift
31DEADMAN_CHECKTIME_MS		deadman.checktime_ms		zfs_deadman_checktime_ms
32DEADMAN_FAILMODE		deadman.failmode		zfs_deadman_failmode
33DEADMAN_SYNCTIME_MS		deadman.synctime_ms		zfs_deadman_synctime_ms
34DEADMAN_ZIOTIME_MS		deadman.ziotime_ms		zfs_deadman_ziotime_ms
35DISABLE_IVSET_GUID_CHECK	disable_ivset_guid_check	zfs_disable_ivset_guid_check
36DMU_OFFSET_NEXT_SYNC		dmu_offset_next_sync		zfs_dmu_offset_next_sync
37INITIALIZE_CHUNK_SIZE		initialize_chunk_size		zfs_initialize_chunk_size
38INITIALIZE_VALUE		initialize_value		zfs_initialize_value
39KEEP_LOG_SPACEMAPS_AT_EXPORT	keep_log_spacemaps_at_export	zfs_keep_log_spacemaps_at_export
40LUA_MAX_MEMLIMIT		lua.max_memlimit		zfs_lua_max_memlimit
41L2ARC_MFUONLY			l2arc.mfuonly			l2arc_mfuonly
42L2ARC_NOPREFETCH		l2arc.noprefetch		l2arc_noprefetch
43L2ARC_REBUILD_BLOCKS_MIN_L2SIZE	l2arc.rebuild_blocks_min_l2size	l2arc_rebuild_blocks_min_l2size
44L2ARC_REBUILD_ENABLED		l2arc.rebuild_enabled		l2arc_rebuild_enabled
45L2ARC_TRIM_AHEAD		l2arc.trim_ahead		l2arc_trim_ahead
46L2ARC_WRITE_BOOST		l2arc.write_boost		l2arc_write_boost
47L2ARC_WRITE_MAX			l2arc.write_max			l2arc_write_max
48LIVELIST_CONDENSE_NEW_ALLOC	livelist.condense.new_alloc	zfs_livelist_condense_new_alloc
49LIVELIST_CONDENSE_SYNC_CANCEL	livelist.condense.sync_cancel	zfs_livelist_condense_sync_cancel
50LIVELIST_CONDENSE_SYNC_PAUSE	livelist.condense.sync_pause	zfs_livelist_condense_sync_pause
51LIVELIST_CONDENSE_ZTHR_CANCEL	livelist.condense.zthr_cancel	zfs_livelist_condense_zthr_cancel
52LIVELIST_CONDENSE_ZTHR_PAUSE	livelist.condense.zthr_pause	zfs_livelist_condense_zthr_pause
53LIVELIST_MAX_ENTRIES		livelist.max_entries		zfs_livelist_max_entries
54LIVELIST_MIN_PERCENT_SHARED	livelist.min_percent_shared	zfs_livelist_min_percent_shared
55MAX_DATASET_NESTING		max_dataset_nesting		zfs_max_dataset_nesting
56MAX_MISSING_TVDS		max_missing_tvds		zfs_max_missing_tvds
57METASLAB_DEBUG_LOAD		metaslab.debug_load		metaslab_debug_load
58METASLAB_FORCE_GANGING		metaslab.force_ganging		metaslab_force_ganging
59MULTIHOST_FAIL_INTERVALS	multihost.fail_intervals	zfs_multihost_fail_intervals
60MULTIHOST_HISTORY		multihost.history		zfs_multihost_history
61MULTIHOST_IMPORT_INTERVALS	multihost.import_intervals	zfs_multihost_import_intervals
62MULTIHOST_INTERVAL		multihost.interval		zfs_multihost_interval
63OVERRIDE_ESTIMATE_RECORDSIZE	send.override_estimate_recordsize	zfs_override_estimate_recordsize
64PREFETCH_DISABLE		prefetch.disable		zfs_prefetch_disable
65REBUILD_SCRUB_ENABLED		rebuild_scrub_enabled		zfs_rebuild_scrub_enabled
66REMOVAL_SUSPEND_PROGRESS	removal_suspend_progress	zfs_removal_suspend_progress
67REMOVE_MAX_SEGMENT		remove_max_segment		zfs_remove_max_segment
68RESILVER_MIN_TIME_MS		resilver_min_time_ms		zfs_resilver_min_time_ms
69SCAN_LEGACY			scan_legacy			zfs_scan_legacy
70SCAN_SUSPEND_PROGRESS		scan_suspend_progress		zfs_scan_suspend_progress
71SCAN_VDEV_LIMIT			scan_vdev_limit			zfs_scan_vdev_limit
72SEND_HOLES_WITHOUT_BIRTH_TIME	send_holes_without_birth_time	send_holes_without_birth_time
73SLOW_IO_EVENTS_PER_SECOND	slow_io_events_per_second	zfs_slow_io_events_per_second
74SPA_ASIZE_INFLATION		spa.asize_inflation		spa_asize_inflation
75SPA_DISCARD_MEMORY_LIMIT	spa.discard_memory_limit	zfs_spa_discard_memory_limit
76SPA_LOAD_VERIFY_DATA		spa.load_verify_data		spa_load_verify_data
77SPA_LOAD_VERIFY_METADATA	spa.load_verify_metadata	spa_load_verify_metadata
78TRIM_EXTENT_BYTES_MIN		trim.extent_bytes_min		zfs_trim_extent_bytes_min
79TRIM_METASLAB_SKIP		trim.metaslab_skip		zfs_trim_metaslab_skip
80TRIM_TXG_BATCH			trim.txg_batch			zfs_trim_txg_batch
81TXG_HISTORY			txg.history			zfs_txg_history
82TXG_TIMEOUT			txg.timeout			zfs_txg_timeout
83UNLINK_SUSPEND_PROGRESS		UNSUPPORTED			zfs_unlink_suspend_progress
84VDEV_FILE_PHYSICAL_ASHIFT	vdev.file.physical_ashift	vdev_file_physical_ashift
85VDEV_MIN_MS_COUNT		vdev.min_ms_count		zfs_vdev_min_ms_count
86VDEV_VALIDATE_SKIP		vdev.validate_skip		vdev_validate_skip
87VOL_INHIBIT_DEV			UNSUPPORTED			zvol_inhibit_dev
88VOL_MODE			vol.mode			zvol_volmode
89VOL_RECURSIVE			vol.recursive			UNSUPPORTED
90XATTR_COMPAT			xattr_compat			zfs_xattr_compat
91ZEVENT_LEN_MAX			zevent.len_max			zfs_zevent_len_max
92ZEVENT_RETAIN_MAX		zevent.retain_max		zfs_zevent_retain_max
93ZIO_SLOW_IO_MS			zio.slow_io_ms			zio_slow_io_ms
94ZIL_SAXATTR			zil_saxattr			zfs_zil_saxattr
95%%%%
96while read name FreeBSD Linux; do
97	eval "export ${name}=\$${UNAME}"
98done
99