diff options
author | George Melikov <[email protected]> | 2017-01-26 23:28:29 +0300 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-01-26 12:28:29 -0800 |
commit | 774ee3c7cec223521f41a4c533f2561da43ee425 (patch) | |
tree | d31d6f7ec373f0cf705c530c117164891c5976aa /tests | |
parent | f925de3a20e97d3b9ee854c8435c6f3d8d17e02c (diff) |
OpenZFS 7336 - vfork and O_CLOEXEC causes zfs_mount EBUSY
Porting notes:
- statvfs64 is replaced by statfs64.
- ZFS_SUPER_MAGIC definition moved in include/sys/fs/zfs.h
to share it between user and kernel space.
Authored by: Prakash Surya <[email protected]>
Reviewed by: Matt Ahrens <[email protected]>
Reviewed by: Paul Dagnelie <[email protected]>
Reviewed by: Robert Mustacchi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Ported-by: George Melikov <[email protected]>
OpenZFS-issue: https://www.illumos.org/issues/7336
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/dd862f6d
Closes #5651
Diffstat (limited to 'tests')
-rw-r--r-- | tests/runfiles/linux.run | 2 | ||||
-rw-r--r-- | tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am | 1 | ||||
-rwxr-xr-x | tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh | 50 |
3 files changed, 52 insertions, 1 deletions
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run index f7477981c..f09001d24 100644 --- a/tests/runfiles/linux.run +++ b/tests/runfiles/linux.run @@ -131,7 +131,7 @@ tests = ['zfs_inherit_001_neg', 'zfs_inherit_002_neg'] [tests/functional/cli_root/zfs_mount] tests = ['zfs_mount_001_pos', 'zfs_mount_002_pos', 'zfs_mount_003_pos', 'zfs_mount_004_pos', 'zfs_mount_005_pos', 'zfs_mount_008_pos', - 'zfs_mount_010_neg', 'zfs_mount_011_neg'] + 'zfs_mount_010_neg', 'zfs_mount_011_neg', 'zfs_mount_012_neg'] [tests/functional/cli_root/zfs_promote] tests = ['zfs_promote_001_pos', 'zfs_promote_002_pos', 'zfs_promote_003_pos', diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am index c6ae99c6b..f26120e2f 100644 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am @@ -15,4 +15,5 @@ dist_pkgdata_SCRIPTS = \ zfs_mount_009_neg.ksh \ zfs_mount_010_neg.ksh \ zfs_mount_011_neg.ksh \ + zfs_mount_012_neg.ksh \ zfs_mount_all_001_pos.ksh diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh new file mode 100755 index 000000000..ec1ff433a --- /dev/null +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_012_neg.ksh @@ -0,0 +1,50 @@ +#!/bin/ksh -p +# +# 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. +# + +# +# Copyright (c) 2015 by Delphix. All rights reserved. +# + +. $STF_SUITE/include/libtest.shlib + +# +# DESCRIPTION: +# Verify that zfs mount should fail with a non-empty directory +# +# STRATEGY: +# 1. Unmount the dataset +# 2. Create a new empty directory +# 3. Set the dataset's mountpoint +# 4. Attempt to mount the dataset +# 5. Verify the mount succeeds +# 6. Unmount the dataset +# 7. Create a file in the directory created in step 2 +# 8. Attempt to mount the dataset +# 9. Verify the mount fails +# + +verify_runnable "both" + +log_assert "zfs mount fails with non-empty directory" + +fs=$TESTPOOL/$TESTFS + +log_must $ZFS umount $fs +log_must mkdir -p $TESTDIR +log_must $ZFS set mountpoint=$TESTDIR $fs +log_must $ZFS mount $fs +log_must $ZFS umount $fs +log_must touch $TESTDIR/testfile.$$ +log_mustnot $ZFS mount $fs +log_must rm -rf $TESTDIR + +log_pass "zfs mount fails non-empty directory as expected." |