zfs/tests/zfs-tests/tests/functional
George Wilson c494aa7f57
vdev_ashift should only be set once
== Motivation and Context

The new vdev ashift optimization prevents the removal of devices when
a zfs configuration is comprised of disks which have different logical
and physical block sizes. This is caused because we set 'spa_min_ashift'
in vdev_open and then later call 'vdev_ashift_optimize'. This would
result in an inconsistency between spa's ashift calculations and that
of the top-level vdev.

In addition, the optimization logical ignores the overridden ashift
value that would be provided by '-o ashift=<val>'.

== Description

This change reworks the vdev ashift optimization so that it's only
set the first time the device is configured. It still allows the
physical and logical ahsift values to be set every time the device
is opened but those values are only consulted on first open.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Cedric Berger <cedric@precidata.com>
Signed-off-by: George Wilson <gwilson@delphix.com>
External-Issue: DLPX-71831
Closes #10932
2020-09-18 12:13:47 -07:00
..
acl Rename acltype=posixacl to acltype=posix 2020-09-16 12:26:06 -07:00
alloc_class ZTS: minor improvements to alloc_class_009_pos functional test 2020-07-30 09:11:05 -07:00
arc ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
atime ZTS: Misc fixes for FreeBSD 2020-02-25 16:23:27 -08:00
bootfs Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
btree ZTS: Fix ksh path in btree tests 2020-01-15 16:23:29 -08:00
cache ZTS: Fix and change testcase cache_010_neg 2020-04-13 10:50:41 -07:00
cachefile Fix typos in tests/ 2019-09-02 18:14:53 -07:00
casenorm ZTS: Adapt casenorm tests for FreeBSD 2020-02-26 08:41:30 -08:00
channel_program Fix lua stack overflow on recursive call to gsub() 2020-07-27 16:11:47 -07:00
chattr Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
checksum Use abs_top_builddir when referencing libraries 2020-07-10 14:26:32 -07:00
clean_mirror ZTS: clean_mirror and scrub_mirror cleanup 2018-07-09 12:46:14 -07:00
cli_root vdev_ashift should only be set once 2020-09-18 12:13:47 -07:00
cli_user Rename acltype=posixacl to acltype=posix 2020-09-16 12:26:06 -07:00
compression Add zstd support to zfs 2020-08-20 10:30:06 -07:00
cp_files Fix ENOSPC in "Handle zap_add() failures in ..." 2018-04-18 14:19:50 -07:00
ctime Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
deadman ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
delegate Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
devices ZTS: devices_001_pos and devices_002_neg 2019-12-27 12:11:27 -08:00
events Add subcommand to wait for background zfs activity to complete 2019-09-13 18:09:06 -07:00
exec Enable remaining tests 2017-05-22 12:34:32 -04:00
fallocate linux: add basic fallocate(mode=0/2) compatibility 2020-06-18 11:22:11 -07:00
fault ZED: Do not offline a missing device if no spare is available 2020-08-18 22:13:17 -07:00
features ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
grow ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
history Rename acltype=posixacl to acltype=posix 2020-09-16 12:26:06 -07:00
hkdf Use abs_top_builddir when referencing libraries 2020-07-10 14:26:32 -07:00
inheritance Fixes for make dist 2020-06-26 14:20:02 -07:00
inuse ZTS: Eliminate partitioning from zpool_create etc 2020-02-20 08:10:13 -08:00
io Direct IO support 2018-08-27 10:04:21 -07:00
l2arc Add L2ARC arcstats for MFU/MRU buffers and buffer content type 2020-09-14 10:10:44 -07:00
large_files ZTS: Another round of changes for FreeBSD 2020-03-06 09:31:32 -08:00
largest_pool Fix typos 2020-06-09 21:24:09 -07:00
libzfs Use abs_top_builddir when referencing libraries 2020-07-10 14:26:32 -07:00
limits Linux 4.10 compat: has_capability() 2020-07-19 09:56:21 -07:00
link_count ZTS: Add zts-report exceptions for FreeBSD 2020-03-04 15:09:40 -08:00
log_spacemap ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
migration ZTS: Fix a few defaults 2020-01-31 08:51:23 -08:00
mmap Fix typos 2020-06-09 21:24:09 -07:00
mmp ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
mount ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
mv_files ZTS: Provide an alternative to shuf for FreeBSD 2020-01-09 09:31:17 -08:00
nestedfs OpenZFS 7290 - ZFS test suite needs to control what utilities it can run 2017-04-06 09:25:36 -07:00
no_space ZTS: Eliminate partitioning from zpool_create etc 2020-02-20 08:10:13 -08:00
nopwrite Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
online_offline Add subcommand to wait for background zfs activity to complete 2019-09-13 18:09:06 -07:00
pam pam: implement a zfs_key pam module 2020-06-24 18:45:44 -07:00
pool_checkpoint ZTS: Misc test fixes for FreeBSD 2020-02-13 13:52:34 -08:00
pool_names Fix some ZFS Test Suite issues 2017-09-25 10:32:34 -07:00
poolversion Fix some ZFS Test Suite issues 2017-09-25 10:32:34 -07:00
privilege ZTS: Move privilege tests to sunos.run 2020-02-21 08:52:44 -08:00
procfs ZTS: Fix pool_state cleanup 2019-12-28 08:43:23 -08:00
projectquota Fix typos in tests/ 2019-09-02 18:08:56 -07:00
pyzfs Centralize variable substitution 2020-07-14 17:33:44 -07:00
quota ZTS: Wait for free space between quota tests 2020-03-26 10:48:19 -07:00
raidz Fix typos in tests/ 2019-09-02 18:08:56 -07:00
redacted_send Avoid core dump on invalid redaction bookmark 2020-03-18 12:54:12 -07:00
redundancy ZTS: Eliminate functions named 'random' 2020-01-08 09:08:30 -08:00
refquota ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
refreserv ZTS: refreserv_005_pos.ksh 2020-05-08 13:50:02 -07:00
removal ZTS: Wait for free space between quota tests 2020-03-26 10:48:19 -07:00
rename_dirs Enable remaining tests 2017-05-22 12:34:32 -04:00
replacement Add device rebuild feature 2020-07-03 11:05:50 -07:00
reservation Fix typos in tests/ 2019-08-30 16:52:00 -07:00
rootpool Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
rsend Rename acltype=posixacl to acltype=posix 2020-09-16 12:26:06 -07:00
scrub_mirror ZTS: clean_mirror and scrub_mirror cleanup 2018-07-09 12:46:14 -07:00
slog ZTS: Fix faulty slog_replay_fs_001 test 2020-02-20 08:11:51 -08:00
snapshot ZTS: Catalog tunable names for tests in tunables.cfg 2020-01-14 14:57:28 -08:00
snapused Fix "file is executable, but no shebang" warnings 2018-04-06 16:34:21 -07:00
sparse ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
suid Implement secpolicy_vnode_setid_retain() 2019-07-26 13:52:30 -07:00
threadsappend ZTS: Adopt OpenZFS test analysis script 2018-06-20 14:03:13 -07:00
tmpfile Mark functions as static 2020-06-18 12:20:38 -07:00
trim Trim L2ARC 2020-06-09 10:15:08 -07:00
truncate Update ZTS to work on FreeBSD 2019-12-18 12:29:43 -08:00
upgrade ZTS: Fix upgrade_readonly_pool 2019-10-03 09:39:13 -07:00
user_namespace Fix "file is executable, but no shebang" warnings 2018-04-06 16:34:21 -07:00
userquota ZTS: Fix userquota_006_pos on FreeBSD 2020-02-20 08:14:24 -08:00
vdev_zaps ZTS: Fix vdev_zaps_005_pos on CentOS 6 2019-08-22 08:53:44 -07:00
write_dirs Fix typos 2020-06-09 21:24:09 -07:00
xattr ZTS: Misc fixes for FreeBSD 2020-02-24 10:17:55 -08:00
zvol ZTS: Skip udev actions in zvol_misc when not Linux 2020-03-31 10:35:14 -07:00
Makefile.am Add L2ARC arcstats for MFU/MRU buffers and buffer content type 2020-09-14 10:10:44 -07:00