diff options
Diffstat (limited to 'sys/contrib/openzfs/tests/zfs-tests')
4 files changed, 33 insertions, 15 deletions
| diff --git a/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c b/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c index 45ba17e36c35..f46980cad111 100644 --- a/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c +++ b/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c @@ -47,25 +47,34 @@  #endif  static void +seek_expect(int fd, off_t offset, int whence, off_t expect_offset) +{ +	errno = 0; +	off_t seek_offset = lseek(fd, offset, whence); +	if (seek_offset == expect_offset) +		return; + +	int err = errno; +	fprintf(stderr, "lseek(fd, %ld, SEEK_%s) = %ld (expected %ld)", +	    offset, (whence == SEEK_DATA ? "DATA" : "HOLE"), +	    seek_offset, expect_offset); +	if (err != 0) +		fprintf(stderr, " (errno %d [%s])\n", err, strerror(err)); +	else +		fputc('\n', stderr); +	exit(2); +} + +static inline void  seek_data(int fd, off_t offset, off_t expected)  { -	off_t data_offset = lseek(fd, offset, SEEK_DATA); -	if (data_offset != expected) { -		fprintf(stderr, "lseek(fd, %d, SEEK_DATA) = %d (expected %d)\n", -		    (int)offset, (int)data_offset, (int)expected); -		exit(2); -	} +	seek_expect(fd, offset, SEEK_DATA, expected);  } -static void +static inline void  seek_hole(int fd, off_t offset, off_t expected)  { -	off_t hole_offset = lseek(fd, offset, SEEK_HOLE); -	if (hole_offset != expected) { -		fprintf(stderr, "lseek(fd, %d, SEEK_HOLE) = %d (expected %d)\n", -		    (int)offset, (int)hole_offset, (int)expected); -		exit(2); -	} +	seek_expect(fd, offset, SEEK_HOLE, expected);  }  int diff --git a/sys/contrib/openzfs/tests/zfs-tests/include/tunables.cfg b/sys/contrib/openzfs/tests/zfs-tests/include/tunables.cfg index 54b50c9dba77..127ea188f17f 100644 --- a/sys/contrib/openzfs/tests/zfs-tests/include/tunables.cfg +++ b/sys/contrib/openzfs/tests/zfs-tests/include/tunables.cfg @@ -76,8 +76,8 @@ READ_SIT_OUT_SECS		vdev.read_sit_out_secs		vdev_read_sit_out_secs  SIT_OUT_CHECK_INTERVAL		vdev.raidz_outlier_check_interval_ms	vdev_raidz_outlier_check_interval_ms  SIT_OUT_INSENSITIVITY		vdev.raidz_outlier_insensitivity	vdev_raidz_outlier_insensitivity  REBUILD_SCRUB_ENABLED		rebuild_scrub_enabled		zfs_rebuild_scrub_enabled -REMOVAL_SUSPEND_PROGRESS	vdev.removal_suspend_progress	zfs_removal_suspend_progress -REMOVE_MAX_SEGMENT		vdev.remove_max_segment		zfs_remove_max_segment +REMOVAL_SUSPEND_PROGRESS	removal_suspend_progress	zfs_removal_suspend_progress +REMOVE_MAX_SEGMENT		remove_max_segment		zfs_remove_max_segment  RESILVER_MIN_TIME_MS		resilver_min_time_ms		zfs_resilver_min_time_ms  RESILVER_DEFER_PERCENT		resilver_defer_percent		zfs_resilver_defer_percent  SCAN_LEGACY			scan_legacy			zfs_scan_legacy diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh index 2bd9f616170b..1a9774331ba1 100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh @@ -47,6 +47,8 @@ function cleanup  	# bring back removed disk online for further tests  	insert_disk $REMOVED_DISK $scsi_host  	poolexists $TESTPOOL && destroy_pool $TESTPOOL +	# Since the disk was offline during destroy, remove the label +	zpool labelclear $DISK2 -f  }  log_assert "Testing zpool reopen with pool name as argument" diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh index bb697b76a9f3..9de308c4a11a 100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh @@ -41,6 +41,7 @@  # 5. TRIM the first 1MB and last 2MB of the 5MB block of data.  # 6. Observe 2MB of used space on the zvol  # 7. Verify the trimmed regions are zero'd on the zvol +# 8. Verify Secure Erase does not work on zvols (Linux only)  verify_runnable "global" @@ -56,6 +57,7 @@ if is_linux ; then  	else  		trimcmd='blkdiscard'  	fi +	secure_trimcmd="$trimcmd --secure"  else  	# By default, FreeBSD 'trim' always does a dry-run.  '-f' makes  	# it perform the actual operation. @@ -114,6 +116,11 @@ function do_test {  	log_must diff $datafile1 $datafile2  	log_must rm $datafile1 $datafile2 + +	# Secure erase should not work (Linux check only). +	if [ -n "$secure_trimcmd" ] ; then +		log_mustnot $secure_trimcmd $zvolpath +	fi  }  log_assert "Verify that a ZFS volume can be TRIMed" | 
