mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
Fix zfs_destroy_001_pos.ksh
Due to how the Linux VFS was designed busy mount points cannot be destroyed even when given the force option. Update the zfs_destroy_001_pos test case to expect this behavior when running under Linux. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: candychencan <chen.can2@zte.com.cn> Closes #5132
This commit is contained in:
parent
66e93f5e4e
commit
84347be098
@ -95,7 +95,6 @@ tests = ['zfs_create_001_pos', 'zfs_create_002_pos', 'zfs_create_003_pos',
|
|||||||
'zfs_create_013_pos']
|
'zfs_create_013_pos']
|
||||||
|
|
||||||
# DISABLED:
|
# DISABLED:
|
||||||
# zfs_destroy_001_pos - busy mountpoint behavior
|
|
||||||
# zfs_destroy_005_neg - busy mountpoint behavior
|
# zfs_destroy_005_neg - busy mountpoint behavior
|
||||||
# zfs_destroy_008_pos - busy mountpoint behavior
|
# zfs_destroy_008_pos - busy mountpoint behavior
|
||||||
# zfs_destroy_009_pos - busy mountpoint behavior
|
# zfs_destroy_009_pos - busy mountpoint behavior
|
||||||
@ -104,9 +103,9 @@ tests = ['zfs_create_001_pos', 'zfs_create_002_pos', 'zfs_create_003_pos',
|
|||||||
# zfs_destroy_012_pos - busy mountpoint behavior
|
# zfs_destroy_012_pos - busy mountpoint behavior
|
||||||
# zfs_destroy_013_neg - busy mountpoint behavior
|
# zfs_destroy_013_neg - busy mountpoint behavior
|
||||||
[tests/functional/cli_root/zfs_destroy]
|
[tests/functional/cli_root/zfs_destroy]
|
||||||
tests = ['zfs_destroy_002_pos', 'zfs_destroy_003_pos', 'zfs_destroy_004_pos',
|
tests = ['zfs_destroy_001_pos', 'zfs_destroy_002_pos', 'zfs_destroy_003_pos',
|
||||||
'zfs_destroy_006_neg', 'zfs_destroy_007_neg', 'zfs_destroy_014_pos',
|
'zfs_destroy_004_pos', 'zfs_destroy_006_neg', 'zfs_destroy_007_neg',
|
||||||
'zfs_destroy_015_pos', 'zfs_destroy_016_pos']
|
'zfs_destroy_014_pos', 'zfs_destroy_015_pos', 'zfs_destroy_016_pos']
|
||||||
|
|
||||||
# DISABLED:
|
# DISABLED:
|
||||||
# zfs_get_004_pos - nested pools
|
# zfs_get_004_pos - nested pools
|
||||||
|
@ -126,7 +126,7 @@ function test_n_check
|
|||||||
"(pidlist: $pidlist)"
|
"(pidlist: $pidlist)"
|
||||||
[[ -z $pidlist ]] && \
|
[[ -z $pidlist ]] && \
|
||||||
log_fail "Failure from $MKBUSY"
|
log_fail "Failure from $MKBUSY"
|
||||||
log_must $ZFS destroy -rR $dtst
|
log_must_busy $ZFS destroy -rR $dtst
|
||||||
log_must $ZFS snapshot $dtst
|
log_must $ZFS snapshot $dtst
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -137,13 +137,24 @@ function test_n_check
|
|||||||
log_note "$MKBUSY $mpt_dir (pidlist: $pidlist)"
|
log_note "$MKBUSY $mpt_dir (pidlist: $pidlist)"
|
||||||
[[ -z $pidlist ]] && \
|
[[ -z $pidlist ]] && \
|
||||||
log_fail "Failure from $MKBUSY"
|
log_fail "Failure from $MKBUSY"
|
||||||
log_must $ZFS destroy -rR $dtst
|
if is_linux ; then
|
||||||
log_must $ZFS snapshot $dtst
|
log_mustnot $ZFS destroy -rR $dtst
|
||||||
|
else
|
||||||
|
log_must $ZFS destroy -rR $dtst
|
||||||
|
log_must $ZFS snapshot $dtst
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) log_fail "Unsupported dataset: '$dtst'."
|
*) log_fail "Unsupported dataset: '$dtst'."
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Kill any lingering instances of mkbusy, and clear the list.
|
||||||
|
if is_linux ; then
|
||||||
|
[[ -z $pidlist ]] || log_must $KILL -TERM $pidlist
|
||||||
|
pidlist=""
|
||||||
|
log_mustnot $PGREP -fl $MKBUSY
|
||||||
|
fi
|
||||||
|
|
||||||
# Firstly, umount ufs filesystem which was created by zfs volume.
|
# Firstly, umount ufs filesystem which was created by zfs volume.
|
||||||
if is_global_zone; then
|
if is_global_zone; then
|
||||||
log_must $UMOUNT -f $TESTDIR1
|
log_must $UMOUNT -f $TESTDIR1
|
||||||
@ -153,9 +164,11 @@ function test_n_check
|
|||||||
log_must $ZFS destroy $opt $dtst
|
log_must $ZFS destroy $opt $dtst
|
||||||
|
|
||||||
# Kill any lingering instances of mkbusy, and clear the list.
|
# Kill any lingering instances of mkbusy, and clear the list.
|
||||||
[[ -z $pidlist ]] || log_must $KILL -TERM $pidlist
|
if ! is_linux ; then
|
||||||
pidlist=""
|
[[ -z $pidlist ]] || log_must $KILL -TERM $pidlist
|
||||||
log_mustnot $PGREP -fl $MKBUSY
|
pidlist=""
|
||||||
|
log_mustnot $PGREP -fl $MKBUSY
|
||||||
|
fi
|
||||||
|
|
||||||
case $dtst in
|
case $dtst in
|
||||||
$CTR) check_dataset datasetnonexists \
|
$CTR) check_dataset datasetnonexists \
|
||||||
|
Loading…
Reference in New Issue
Block a user