]> granicus.if.org Git - zfs/commitdiff
Enable all zfs_destroy test cases
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 4 May 2017 01:27:59 +0000 (18:27 -0700)
committerGitHub <noreply@github.com>
Thu, 4 May 2017 01:27:59 +0000 (18:27 -0700)
* zfs_destroy_001_pos - Unable to reproduce the failures locally.
  Re-enabled to determine observed buildbot failure rate.

* zfs_destroy_005_neg - Updated for expected Linux behavior.
  Busy mount points, even snapshots, are expected to fail.

* zfs_destroy_010_pos - Resolved transient EBUSY with retry.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #5635
Issue #5893
Closes #6091

tests/runfiles/linux.run
tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_005_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_010_pos.ksh

index cf0dd126ff8a408dd08b8e8ba14b75aaa1c16bb3..d8c70ab02dd8ea461a117b68b29630c756934dfa 100644 (file)
@@ -99,15 +99,13 @@ tests = ['zfs_create_001_pos', 'zfs_create_002_pos', 'zfs_create_003_pos',
     'zfs_create_010_neg', 'zfs_create_011_pos', 'zfs_create_012_pos',
     'zfs_create_013_pos', 'zfs_create_014_pos']
 
-# DISABLED:
-# zfs_destroy_005_neg - busy mountpoint behavior
-# zfs_destroy_001_pos - https://github.com/zfsonlinux/zfs/issues/5635
 [tests/functional/cli_root/zfs_destroy]
-tests = ['zfs_destroy_002_pos', 'zfs_destroy_003_pos',
-    'zfs_destroy_004_pos','zfs_destroy_006_neg', 'zfs_destroy_007_neg',
-    'zfs_destroy_008_pos','zfs_destroy_009_pos', 'zfs_destroy_010_pos',
-    'zfs_destroy_011_pos','zfs_destroy_012_pos', 'zfs_destroy_013_neg',
-    'zfs_destroy_014_pos','zfs_destroy_015_pos', 'zfs_destroy_016_pos']
+tests = ['zfs_destroy_001_pos', 'zfs_destroy_002_pos', 'zfs_destroy_003_pos',
+    'zfs_destroy_004_pos', 'zfs_destroy_005_neg', 'zfs_destroy_006_neg',
+    'zfs_destroy_007_neg', 'zfs_destroy_008_pos', 'zfs_destroy_009_pos',
+    'zfs_destroy_010_pos', 'zfs_destroy_011_pos', 'zfs_destroy_012_pos',
+    'zfs_destroy_013_neg', 'zfs_destroy_014_pos', 'zfs_destroy_015_pos',
+    'zfs_destroy_016_pos']
 
 # DISABLED:
 # zfs_get_004_pos - https://github.com/zfsonlinux/zfs/issues/3484
index 3a9370977758df15f11fa1b6e7057bf582a5d9f7..b58f7b325c79b96a1b04aa93de8cd0de13ba91c7 100755 (executable)
@@ -187,9 +187,12 @@ pidlist=""
 
 #
 # Create the clones for test environment and make the snapshot busy.
-# Then verify 'zfs destroy $snap' succeeds without '-f'.
 #
-# Then verify the snapshot and clone are destroyed, but nothing else is.
+# For Linux verify 'zfs destroy $snap' fails due to the busy mount point.  Then
+# verify the snapshot remains and the clone was destroyed, but nothing else is.
+#
+# Under illumos verify 'zfs destroy $snap' succeeds without '-f'.  Then verify
+# the snapshot and clone are destroyed, but nothing else is.
 #
 
 mntpt=$(snapshot_mountpoint $FSSNAP)
@@ -199,9 +202,16 @@ log_note "mkbusy $mntpt (pidlist: $pidlist)"
 
 for option in -R -rR ; do
        setup_testenv clone
-       log_must zfs destroy $option $FSSNAP
-       check_dataset datasetexists $CTR $FS $VOL
-       check_dataset datasetnonexists $FSSNAP $FSCLONE
+
+       if is_linux; then
+               log_mustnot zfs destroy $option $FSSNAP
+               check_dataset datasetexists $CTR $FS $VOL $FSSNAP
+               check_dataset datasetnonexists $FSCLONE
+       else
+               log_must zfs destroy $option $FSSNAP
+               check_dataset datasetexists $CTR $FS $VOL
+               check_dataset datasetnonexists $FSSNAP $FSCLONE
+       fi
 done
 
 log_must kill $pidlist
index 05debb5a087fd7111f765a8473dbc5c81f2593cb..369029775f4b38d7833ae9109a894d03f6bc2996 100755 (executable)
@@ -54,7 +54,7 @@ function test_clone_run
     clone=$(eval echo \$${dstype}CLONE)
     log_must zfs destroy -d $snap
     log_must datasetexists $snap
-    log_must zfs destroy -R $clone
+    log_must_busy zfs destroy -R $clone
     log_mustnot datasetexists $snap
     log_mustnot datasetexists $clone
 }