]> granicus.if.org Git - zfs/commitdiff
Add new fsck return code to zvol_misc_002_pos
authorTony Hutter <hutter2@llnl.gov>
Mon, 24 Jul 2017 17:58:14 +0000 (10:58 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 24 Jul 2017 17:58:14 +0000 (10:58 -0700)
zvol_misc_002_pos was failing on Fedora 26 because its newer version
of fsck was returning a different code than previous versions.  The
new fsck error code is valid and is been added to the test in this
patch.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #6350

tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_002_pos.ksh

index c58f71f496660fec33c615501b2125196763cf0c..81b3e627a0518128d83933aea7a3fdfcb9f501de 100755 (executable)
@@ -91,10 +91,8 @@ while (( 1 )); do
 done
 
 if is_linux; then
-       EXIT_STATUS=4
        log_must sync
 else
-       EXIT_STATUS=39
        log_must lockfs -f $TESTDIR
 fi
 
@@ -104,8 +102,24 @@ block_device_wait
 
 fsck -n ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL@snap >/dev/null 2>&1
 retval=$?
-if [[ $retval -ne 0 && $retval -ne $EXIT_STATUS ]]; then
-       log_fail "fsck exited with wrong value $retval "
+
+if [ $retval -ne 0 ] ; then
+       if is_linux ; then
+               # Linux's fsck returns a different code for this test depending
+               # on the version:
+               #
+               # e2fsprogs-1.43.3 (Fedora 25 and older): returns 4
+               # e2fsprogs-1.43.4 (Fedora 26): returns 8
+               #
+               # https://github.com/zfsonlinux/zfs/issues/6297
+               if [ $retval -ne 4 -a $retval -ne 8 ] ; then
+                       log_fail "fsck exited with wrong value $retval"
+               fi
+       else
+               if [ $retval -ne 39 ] ; then
+                       log_fail "fsck exited with wrong value $retval"
+               fi
+       fi
 fi
 
 log_pass "Verify that ZFS volume snapshot could be fscked"