mirror of
https://github.com/openzfs/zfs.git
synced 2025-10-01 02:46:29 +00:00

Historically, ZED has blindly spawned off zedlets in parallel and never worried about their completion order. This means that you can potentially have zedlets for event number 2 starting before zedlets for event number 1 had finished. Most of the time this is fine, and it actually helps a lot when the system is getting spammed with hundreds of events. However, there are times when you want your zedlets to be executed in sequence with the event ID. That is where synchronous zedlets come in. ZED will wait for all previously spawned zedlets to finish before running a synchronous zedlet. Synchronous zedlets are guaranteed to be the only zedlet running. No other zedlets may run in parallel with a synchronous zedlet. Users should be careful to only use synchronous zedlets when needed, since they decrease parallelism. To make a zedlet synchronous, simply add a "-sync-" immediately following the event name in the zedlet's file name: EVENT_NAME-sync-ZEDLETNAME.sh For example, if you wanted a synchronous statechange script: statechange-sync-myzedlet.sh Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #17335
242 lines
8.3 KiB
Plaintext
242 lines
8.3 KiB
Plaintext
# SPDX-License-Identifier: CDDL-1.0
|
|
#
|
|
# This file and its contents are supplied under the terms of the
|
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
|
# You may only use this file in accordance with the terms of version
|
|
# 1.0 of the CDDL.
|
|
#
|
|
# A full copy of the text of the CDDL should have accompanied this
|
|
# source. A copy of the CDDL is also available via the Internet at
|
|
# http://www.illumos.org/license/CDDL.
|
|
#
|
|
|
|
[DEFAULT]
|
|
pre = setup
|
|
quiet = False
|
|
pre_user = root
|
|
user = root
|
|
timeout = 600
|
|
post_user = root
|
|
post = cleanup
|
|
failsafe_user = root
|
|
failsafe = callbacks/zfs_failsafe
|
|
tags = ['functional']
|
|
|
|
[tests/functional/acl/posix:Linux]
|
|
tests = ['posix_001_pos', 'posix_002_pos', 'posix_003_pos', 'posix_004_pos']
|
|
tags = ['functional', 'acl', 'posix']
|
|
|
|
[tests/functional/acl/posix-sa:Linux]
|
|
tests = ['posix_001_pos', 'posix_002_pos', 'posix_003_pos', 'posix_004_pos']
|
|
tags = ['functional', 'acl', 'posix-sa']
|
|
|
|
[tests/functional/atime:Linux]
|
|
tests = ['atime_003_pos', 'root_relatime_on']
|
|
tags = ['functional', 'atime']
|
|
|
|
[tests/functional/block_cloning:Linux]
|
|
tests = ['block_cloning_ficlone', 'block_cloning_ficlonerange',
|
|
'block_cloning_ficlonerange_partial', 'block_cloning_disabled_ficlone',
|
|
'block_cloning_disabled_ficlonerange']
|
|
tags = ['functional', 'block_cloning']
|
|
|
|
[tests/functional/chattr:Linux]
|
|
tests = ['chattr_001_pos', 'chattr_002_neg']
|
|
tags = ['functional', 'chattr']
|
|
|
|
[tests/functional/cli_root/zfs:Linux]
|
|
tests = ['zfs_003_neg']
|
|
tags = ['functional', 'cli_root', 'zfs']
|
|
|
|
[tests/functional/cli_root/zfs_mount:Linux]
|
|
tests = ['zfs_mount_006_pos', 'zfs_mount_008_pos', 'zfs_mount_013_pos',
|
|
'zfs_mount_014_neg', 'zfs_multi_mount']
|
|
tags = ['functional', 'cli_root', 'zfs_mount']
|
|
|
|
[tests/functional/cli_root/zfs_share:Linux]
|
|
tests = ['zfs_share_005_pos', 'zfs_share_007_neg', 'zfs_share_009_neg',
|
|
'zfs_share_012_pos', 'zfs_share_013_pos']
|
|
tags = ['functional', 'cli_root', 'zfs_share']
|
|
|
|
[tests/functional/cli_root/zfs_unshare:Linux]
|
|
tests = ['zfs_unshare_008_pos']
|
|
tags = ['functional', 'cli_root', 'zfs_unshare']
|
|
|
|
[tests/functional/cli_root/zfs_sysfs:Linux]
|
|
tests = ['zfeature_set_unsupported', 'zfs_get_unsupported',
|
|
'zfs_set_unsupported', 'zfs_sysfs_live', 'zpool_get_unsupported',
|
|
'zpool_set_unsupported']
|
|
tags = ['functional', 'cli_root', 'zfs_sysfs']
|
|
|
|
[tests/functional/cli_root/zpool_add:Linux]
|
|
tests = ['add_nested_replacing_spare']
|
|
tags = ['functional', 'cli_root', 'zpool_add']
|
|
|
|
[tests/functional/cli_root/zpool_expand:Linux]
|
|
tests = ['zpool_expand_001_pos', 'zpool_expand_002_pos',
|
|
'zpool_expand_003_neg', 'zpool_expand_004_pos', 'zpool_expand_005_pos']
|
|
tags = ['functional', 'cli_root', 'zpool_expand']
|
|
|
|
[tests/functional/cli_root/zpool_import:Linux]
|
|
tests = ['zpool_import_hostid_changed',
|
|
'zpool_import_hostid_changed_unclean_export',
|
|
'zpool_import_hostid_changed_cachefile',
|
|
'zpool_import_hostid_changed_cachefile_unclean_export']
|
|
tags = ['functional', 'cli_root', 'zpool_import']
|
|
|
|
[tests/functional/cli_root/zpool_reopen:Linux]
|
|
tests = ['zpool_reopen_001_pos', 'zpool_reopen_002_pos',
|
|
'zpool_reopen_003_pos', 'zpool_reopen_004_pos', 'zpool_reopen_005_pos',
|
|
'zpool_reopen_006_neg', 'zpool_reopen_007_pos']
|
|
tags = ['functional', 'cli_root', 'zpool_reopen']
|
|
|
|
[tests/functional/cli_root/zpool_split:Linux]
|
|
tests = ['zpool_split_wholedisk']
|
|
tags = ['functional', 'cli_root', 'zpool_split']
|
|
|
|
[tests/functional/compression:Linux]
|
|
tests = ['compress_004_pos']
|
|
tags = ['functional', 'compression']
|
|
|
|
[tests/functional/devices:Linux]
|
|
tests = ['devices_001_pos', 'devices_002_neg', 'devices_003_pos']
|
|
tags = ['functional', 'devices']
|
|
|
|
[tests/functional/direct:Linux]
|
|
tests = ['dio_loopback_dev', 'dio_write_verify']
|
|
tags = ['functional', 'direct']
|
|
|
|
[tests/functional/events:Linux]
|
|
tests = ['events_001_pos', 'events_002_pos', 'zed_rc_filter', 'zed_fd_spill',
|
|
'zed_cksum_reported', 'zed_cksum_config', 'zed_io_config',
|
|
'zed_slow_io', 'zed_slow_io_many_vdevs', 'zed_diagnose_multiple',
|
|
'zed_synchronous_zedlet', 'slow_vdev_sit_out', 'slow_vdev_sit_out_neg',
|
|
'slow_vdev_degraded_sit_out']
|
|
tags = ['functional', 'events']
|
|
|
|
[tests/functional/fallocate:Linux]
|
|
tests = ['fallocate_prealloc', 'fallocate_zero-range']
|
|
tags = ['functional', 'fallocate']
|
|
|
|
[tests/functional/fault:Linux]
|
|
tests = ['auto_offline_001_pos', 'auto_online_001_pos', 'auto_online_002_pos',
|
|
'auto_replace_001_pos', 'auto_replace_002_pos', 'auto_spare_001_pos',
|
|
'auto_spare_002_pos', 'auto_spare_double', 'auto_spare_multiple',
|
|
'auto_spare_ashift', 'auto_spare_shared', 'decrypt_fault',
|
|
'decompress_fault', 'fault_limits', 'scrub_after_resilver',
|
|
'suspend_on_probe_errors', 'suspend_resume_single', 'zpool_status_-s']
|
|
tags = ['functional', 'fault']
|
|
|
|
[tests/functional/features/large_dnode:Linux]
|
|
tests = ['large_dnode_002_pos', 'large_dnode_006_pos', 'large_dnode_008_pos']
|
|
tags = ['functional', 'features', 'large_dnode']
|
|
|
|
[tests/functional/io:Linux]
|
|
tests = ['libaio', 'io_uring']
|
|
tags = ['functional', 'io']
|
|
|
|
[tests/functional/largest_pool:Linux]
|
|
tests = ['largest_pool_001_pos']
|
|
pre =
|
|
post =
|
|
tags = ['functional', 'largest_pool']
|
|
|
|
[tests/functional/longname:Linux]
|
|
tests = ['longname_001_pos', 'longname_002_pos', 'longname_003_pos']
|
|
tags = ['functional', 'longname']
|
|
|
|
[tests/functional/luks:Linux]
|
|
pre =
|
|
post =
|
|
tests = ['luks_sanity']
|
|
tags = ['functional', 'luks']
|
|
|
|
[tests/functional/mmap:Linux]
|
|
tests = ['mmap_libaio_001_pos', 'mmap_sync_001_pos']
|
|
tags = ['functional', 'mmap']
|
|
|
|
[tests/functional/mmp:Linux]
|
|
tests = ['mmp_on_thread', 'mmp_on_uberblocks', 'mmp_on_off', 'mmp_interval',
|
|
'mmp_active_import', 'mmp_inactive_import', 'mmp_exported_import',
|
|
'mmp_write_uberblocks', 'mmp_reset_interval', 'multihost_history',
|
|
'mmp_on_zdb', 'mmp_write_distribution', 'mmp_hostid', 'mmp_write_slow_disk']
|
|
tags = ['functional', 'mmp']
|
|
|
|
[tests/functional/mount:Linux]
|
|
tests = ['umount_unlinked_drain', 'mount_loopback']
|
|
tags = ['functional', 'mount']
|
|
|
|
[tests/functional/pam:Linux]
|
|
tests = ['pam_basic', 'pam_change_unmounted', 'pam_mount_recursively',
|
|
'pam_nounmount', 'pam_recursive', 'pam_short_password']
|
|
tags = ['functional', 'pam']
|
|
|
|
[tests/functional/procfs:Linux]
|
|
tests = ['procfs_list_basic', 'procfs_list_concurrent_readers',
|
|
'procfs_list_stale_read', 'pool_state']
|
|
tags = ['functional', 'procfs']
|
|
|
|
[tests/functional/projectquota:Linux]
|
|
tests = ['defaultprojectquota_001_pos', 'defaultprojectquota_005_pos',
|
|
'projectid_001_pos', 'projectid_002_pos', 'projectid_003_pos',
|
|
'projectquota_001_pos', 'projectquota_003_pos', 'projectquota_006_pos',
|
|
'projectspace_001_pos', 'projectspace_002_pos', 'projectspace_003_pos',
|
|
'projectspace_004_pos', 'projectspace_005_pos', 'projecttree_001_pos']
|
|
tags = ['functional', 'projectquota']
|
|
|
|
[tests/functional/dos_attributes:Linux]
|
|
tests = ['read_dos_attrs_001', 'write_dos_attrs_001']
|
|
tags = ['functional', 'dos_attributes']
|
|
|
|
[tests/functional/renameat2:Linux]
|
|
tests = ['renameat2_noreplace', 'renameat2_exchange', 'renameat2_whiteout']
|
|
tags = ['functional', 'renameat2']
|
|
|
|
[tests/functional/rsend:Linux]
|
|
tests = ['send_realloc_dnode_size', 'send_encrypted_files', 'send-c_longname']
|
|
tags = ['functional', 'rsend']
|
|
|
|
[tests/functional/simd:Linux]
|
|
pre =
|
|
post =
|
|
tests = ['simd_supported']
|
|
tags = ['functional', 'simd']
|
|
|
|
[tests/functional/snapshot:Linux]
|
|
tests = ['snapshot_015_pos', 'snapshot_016_pos']
|
|
tags = ['functional', 'snapshot']
|
|
|
|
[tests/functional/syncfs:Linux]
|
|
tests = ['syncfs_suspend']
|
|
tags = ['functional', 'syncfs']
|
|
pre =
|
|
post =
|
|
|
|
[tests/functional/tmpfile:Linux]
|
|
tests = ['tmpfile_001_pos', 'tmpfile_002_pos', 'tmpfile_003_pos',
|
|
'tmpfile_stat_mode']
|
|
tags = ['functional', 'tmpfile']
|
|
|
|
[tests/functional/upgrade:Linux]
|
|
tests = ['upgrade_projectquota_001_pos', 'upgrade_projectquota_002_pos']
|
|
tags = ['functional', 'upgrade']
|
|
|
|
[tests/functional/user_namespace:Linux]
|
|
tests = ['user_namespace_001', 'user_namespace_002', 'user_namespace_003',
|
|
'user_namespace_004']
|
|
tags = ['functional', 'user_namespace']
|
|
|
|
[tests/functional/userquota:Linux]
|
|
tests = ['groupspace_001_pos', 'groupspace_002_pos', 'groupspace_003_pos',
|
|
'groupspace_004_pos','userquota_013_pos', 'userspace_003_pos']
|
|
tags = ['functional', 'userquota']
|
|
|
|
[tests/functional/zvol/zvol_misc:Linux]
|
|
tests = ['zvol_misc_fua']
|
|
tags = ['functional', 'zvol', 'zvol_misc']
|
|
|
|
[tests/functional/idmap_mount:Linux]
|
|
tests = ['idmap_mount_001', 'idmap_mount_002', 'idmap_mount_003',
|
|
'idmap_mount_004', 'idmap_mount_005']
|
|
tags = ['functional', 'idmap_mount']
|