zfs/tests/zfs-tests/tests/functional
George Wilson b1e46f869e
Add ashift validation when adding devices to a pool
Currently, zpool add allows users to add top-level vdevs that have
different ashifts but doing so prevents users from being able to
perform a top-level vdev removal. Often times consumers may not realize
that they have mismatched ashifts until the top-level removal fails.

This feature adds ashift validation to the zpool add command and will
fail the operation if the sector size of the specified vdev does not
match the existing pool. This behavior can be disabled by using the -f
flag. In addition, new flags have been added to provide fine-grained
control to disable specific checks. These flags
are:

--allow-in-use
--allow-ashift-mismatch
--allow-replicaton-mismatch

The force flag will disable all of these checks.

Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Mark Maybee <mmaybee@delphix.com>
Signed-off-by: George Wilson <gwilson@delphix.com>
Closes #15509
2024-03-29 13:15:56 -06:00
..
acl Skip permission checks for extended attributes 2022-12-12 10:21:37 -08:00
alloc_class Refine special_small_blocks property validation 2023-05-12 09:12:28 -07:00
append Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
arc Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
atime Enable relatime by default 2022-08-12 14:20:25 -07:00
bclone BRT: Check pool clone stats in more tests 2024-03-27 14:47:06 -07:00
block_cloning ZTS: Skip cross-fs bclone tests if FreeBSD < 14.0 2024-02-16 08:59:56 -08:00
bootfs Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
btree autoconf: use include directives instead of recursing down test data 2022-05-10 10:20:19 -07:00
cache L2ARC: Restrict write size to 1/4 of the device 2023-11-14 13:47:57 -08:00
cachefile Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
casenorm autoconf: use include directives instead of recursing down test data 2022-05-10 10:20:19 -07:00
channel_program Add zfs.sync.snapshot_rename 2022-09-02 13:31:19 -07:00
chattr Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
checksum Add Linux posix_fadvise support 2022-09-08 10:29:41 -07:00
clean_mirror Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
cli_root Add ashift validation when adding devices to a pool 2024-03-29 13:15:56 -06:00
cli_user Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg 2023-10-20 11:52:13 -07:00
compression Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
cp_files ZTS: fix flakiness in cp_files_002_pos 2024-03-27 14:59:16 -07:00
crtime Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
ctime Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
deadman Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
delegate ZTS: Fix verify_fs_mount in delegate_common.kshlib 2023-10-09 17:24:24 -07:00
devices Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
dos_attributes Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
events Add slow disk diagnosis to ZED 2024-02-08 09:19:52 -08:00
exec Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
fadvise Add Linux posix_fadvise support 2022-09-08 10:29:41 -07:00
fallocate ZTS: fallocate tests fail with hard coded values 2022-09-22 16:42:34 -06:00
fault Add slow disk diagnosis to ZED 2024-02-08 09:19:52 -08:00
features Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
grow Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
history Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
hkdf Enable -Wwrite-strings 2022-06-29 14:08:54 -07:00
idmap_mount Support idmapped mount in user namespace 2022-11-08 10:28:56 -08:00
inheritance Add options to zfs redundant_metadata property 2022-10-19 17:07:51 -07:00
inuse Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
io ZTS: Disable io_uring test on CentOS 9 2023-12-08 17:31:31 -08:00
l2arc Store the L2ARC device ashift in the vdev label 2023-06-14 08:01:17 -07:00
large_files Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
largest_pool Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
limits autoconf: use include directives instead of recursing down test data 2022-05-10 10:20:19 -07:00
link_count Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
log_spacemap autoconf: use include directives instead of recursing down test data 2022-05-10 10:20:19 -07:00
migration ZTS: Minor fixes 2023-02-23 17:10:46 -08:00
mmap Fix buffered/direct/mmap I/O race 2023-02-23 10:57:24 -08:00
mmp Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
mount Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
mv_files Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
nestedfs Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
no_space Fix ENOSPC for extended quota 2023-09-28 14:10:07 -07:00
nopwrite nopwrites on dmu_sync-ed blocks can result in a panic 2022-12-02 17:45:33 -08:00
online_offline Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
pam PAM: support password changes even when not mounted 2023-05-31 17:01:11 -07:00
pool_checkpoint ZTS: Skip checkpoint_discard_busy 2023-06-09 11:10:01 -07:00
pool_names Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
poolversion Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
privilege Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
procfs run-zts test procfs/pool_state failed with uncorrectable I/O failure 2023-10-20 11:57:39 -07:00
projectquota Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
pyzfs Python3: replace `distutils` with `sysconfig` 2022-11-28 11:39:41 -08:00
quota Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
raidz ZTS: Update raidz_expand_005_pos.ksh 2023-12-12 09:56:19 -08:00
redacted_send Increase limit of redaction list by using spill block 2023-08-26 11:34:43 -07:00
redundancy Block cloning tests. 2023-12-26 12:01:53 -08:00
refquota Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
refreserv Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
removal nopwrites on dmu_sync-ed blocks can result in a panic 2022-12-02 17:45:33 -08:00
rename_dirs Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
renameat2 Replace dead opensolaris.org license links 2023-03-14 14:44:01 -07:00
replacement Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
reservation Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
rootpool Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
rsend ZTS: Skip send_raw_ashift on FreeBSD 2023-06-14 08:04:05 -07:00
scrub_mirror Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
simd Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
slog zfs_rename: support RENAME_* flags 2022-10-28 09:49:20 -07:00
snapshot Replace dead opensolaris.org license links 2023-03-14 14:44:01 -07:00
snapused Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
sparse Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
stat Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
suid Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
tmpfile Fix oversights from 4170ae4e 2022-10-31 10:01:04 -07:00
trim Reduce trim min size even lower for tests to reduce flakiness 2023-09-27 12:06:24 -07:00
truncate Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
upgrade Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
user_namespace Fix minor issues in namespace delegation support 2022-09-20 15:25:21 -07:00
userquota Handle and detect #13709's unlock regression (#14161) 2022-11-15 14:44:12 -08:00
vdev_zaps Create zap for root vdev 2023-04-20 10:07:56 -07:00
write_dirs Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
xattr Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpool_influxdb autoconf: use include directives instead of recursing down test data 2022-05-10 10:20:19 -07:00
zvol ZTS: zvol_misc_trim disable blk mq 2023-05-29 12:55:35 -07:00