mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 19:19:32 +03:00
8e94ac0e36
Linux 5.16 moved XSTATE_XSAVE and XSTATE_XRESTORE out of our reach, so add our own XSAVE{,OPT,S} code and use it for Linux 5.16. Please note that this differs from previous behavior in that it won't handle exceptions created by XSAVE an XRSTOR. This is sensible for three reasons. - Exceptions during XSAVE and XRSTOR can only occur if the feature is not supported or enabled or the memory operand isn't aligned on a 64 byte boundary. If this happens something else went terribly wrong, and it may be better to stop execution. - Previously we just printed a warning and didn't handle the fault, this is arguable for the above reason. - All other *SAVE instruction also don't handle exceptions, so this at least aligns behavior. Finally add a test to catch such a regression in the future. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Attila Fülöp <attila@fueloep.org> Closes #13042 Closes #13059
177 lines
6.0 KiB
Plaintext
177 lines
6.0 KiB
Plaintext
#
|
|
# 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
|
|
outputdir = /var/tmp/test_results
|
|
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/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_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_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/events:Linux]
|
|
tests = ['events_001_pos', 'events_002_pos', 'zed_rc_filter', 'zed_fd_spill']
|
|
tags = ['functional', 'events']
|
|
|
|
[tests/functional/fallocate:Linux]
|
|
tests = ['fallocate_prealloc']
|
|
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_spare_001_pos', 'auto_spare_002_pos',
|
|
'auto_spare_multiple', 'auto_spare_ashift', 'auto_spare_shared',
|
|
'decrypt_fault', 'decompress_fault', 'scrub_after_resilver',
|
|
'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/mmap:Linux]
|
|
tests = ['mmap_libaio_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']
|
|
tags = ['functional', 'mmp']
|
|
|
|
[tests/functional/mount:Linux]
|
|
tests = ['umount_unlinked_drain']
|
|
tags = ['functional', 'mount']
|
|
|
|
[tests/functional/pam:Linux]
|
|
tests = ['pam_basic', 'pam_nounmount', '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 = ['projectid_001_pos', 'projectid_002_pos', 'projectid_003_pos',
|
|
'projectquota_001_pos', 'projectquota_002_pos', 'projectquota_003_pos',
|
|
'projectquota_004_neg', 'projectquota_005_pos', 'projectquota_006_pos',
|
|
'projectquota_007_pos', 'projectquota_008_pos', 'projectquota_009_pos',
|
|
'projectspace_001_pos', 'projectspace_002_pos', 'projectspace_003_pos',
|
|
'projectspace_004_pos',
|
|
'projecttree_001_pos', 'projecttree_002_pos', 'projecttree_003_neg']
|
|
tags = ['functional', 'projectquota']
|
|
|
|
[tests/functional/rsend:Linux]
|
|
tests = ['send_realloc_dnode_size', 'send_encrypted_files']
|
|
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/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']
|
|
tags = ['functional', 'upgrade']
|
|
|
|
[tests/functional/user_namespace:Linux]
|
|
tests = ['user_namespace_001']
|
|
tags = ['functional', 'user_namespace']
|
|
|
|
[tests/functional/userquota:Linux]
|
|
tests = ['groupspace_001_pos', 'groupspace_002_pos', 'groupspace_003_pos',
|
|
'userquota_013_pos', 'userspace_003_pos']
|
|
tags = ['functional', 'userquota']
|