check: Remount file system if MOUNT_OPTIONS changed
authorLukas Czerner <lczerner@redhat.com>
Fri, 4 Apr 2014 06:18:24 +0000 (17:18 +1100)
committerDave Chinner <david@fromorbit.com>
Fri, 4 Apr 2014 06:18:24 +0000 (17:18 +1100)
When MOUNT_OPTIONS change we should remount TEST_DEV to put the changes
in effect. This will allow us to have different MOUNT_OPTIONS in sections
in configuration file.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
README.config-sections
check

index 4d60272be0d410e71cec2922c76ddee618dfc599..2849fd55757b8acb056be8f4e7637fc758708f95 100644 (file)
@@ -36,6 +36,14 @@ For every section xfstests will run with specified options and will produce
 separate results in the '$RESULT_BASE/$section_name' directory.
 
 
 separate results in the '$RESULT_BASE/$section_name' directory.
 
 
+Different mount options
+-----------------------
+
+Specifying different mount options in difference config sections is allowed.
+When MOUNT_OPTIONS differs in the following section TEST_DEV will be remounted
+with new MOUNT_OPTIONS automatically before running the test.
+
+
 Multiple file systems
 ---------------------
 
 Multiple file systems
 ---------------------
 
diff --git a/check b/check
index a5a6184e07f28c9f42184b2464ec71440a0bb80d..b3937b35310c7ac928b2f32795f23ff7dc1bb9b6 100755 (executable)
--- a/check
+++ b/check
@@ -394,6 +394,7 @@ fi
 
 for section in $HOST_OPTIONS_SECTIONS; do
        OLD_FSTYP=$FSTYP
 
 for section in $HOST_OPTIONS_SECTIONS; do
        OLD_FSTYP=$FSTYP
+       OLD_MOUNT_OPTIONS=$MOUNT_OPTIONS
        get_next_config $section
 
        mkdir -p $RESULT_BASE
        get_next_config $section
 
        mkdir -p $RESULT_BASE
@@ -422,6 +423,13 @@ for section in $HOST_OPTIONS_SECTIONS; do
                        exit 1
                fi
                _prepare_test_list
                        exit 1
                fi
                _prepare_test_list
+       elif [ "$OLD_MOUNT_OPTIONS" != "$MOUNT_OPTIONS" ]; then
+               umount $TEST_DEV 2> /dev/null
+               out=`_mount_or_remount_rw "$MOUNT_OPTIONS" $TEST_DEV $TEST_DIR`
+               if [ $? -ne 1 ]; then
+                       echo $out
+                       exit 1
+               fi
        fi
 
        init_rc
        fi
 
        init_rc