xfs
[Top] [All Lists]

[PATCH 04/10 v2] xfstests: Allow to recheck options in common/rc

To: xfs@xxxxxxxxxxx
Subject: [PATCH 04/10 v2] xfstests: Allow to recheck options in common/rc
From: Lukas Czerner <lczerner@xxxxxxxxxx>
Date: Thu, 11 Jul 2013 12:37:59 +0200
Cc: lczerner@xxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1373539085-8577-1-git-send-email-lczerner@xxxxxxxxxx>
References: <1373539085-8577-1-git-send-email-lczerner@xxxxxxxxxx>
Move configuration checks into separate function to allow us to recheck
the options without the need to reinclude the whole source file which is
ugly. We still run the check on include.

Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
---
 common/rc | 74 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 38 insertions(+), 36 deletions(-)

diff --git a/common/rc b/common/rc
index fe6bbfc..0dd30a3 100644
--- a/common/rc
+++ b/common/rc
@@ -2131,46 +2131,48 @@ run_check()
        "$@" >> $seqres.full 2>&1 || _fail "failed: '$@'"
 }
 
-################################################################################
-
-if [ "$iam" != new ]
-then
-    # make some further configuration checks here
-
-    if [ "$TEST_DEV" = ""  ]
-    then
-        echo "common/rc: Error: \$TEST_DEV is not set"
-        exit 1
-    fi
-
-    # if $TEST_DEV is not mounted, mount it now as XFS
-    if [ -z "`_fs_type $TEST_DEV`" ]
-    then
-        # $TEST_DEV is not mounted
-        if ! _test_mount
-        then
-            echo "common/rc: retrying test device mount with external set"
-            [ "$USE_EXTERNAL" != "yes" ] && export USE_EXTERNAL=yes
-            if ! _test_mount
-            then
-                echo "common/rc: could not mount $TEST_DEV on $TEST_DIR"
-                exit 1
-            fi
-        fi
-    fi
+init_rc()
+{
+       if [ "$iam" == new ]
+       then
+               return
+       fi
+       # make some further configuration checks here
+       if [ "$TEST_DEV" = ""  ]
+       then
+               echo "common/rc: Error: \$TEST_DEV is not set"
+               exit 1
+       fi
 
-    if [ "`_fs_type $TEST_DEV`" != "$FSTYP" ]
-    then
-        echo "common/rc: Error: \$TEST_DEV ($TEST_DEV) is not a MOUNTED $FSTYP 
filesystem"
-        $DF_PROG $TEST_DEV
-        exit 1
-    fi
+       # if $TEST_DEV is not mounted, mount it now as XFS
+       if [ -z "`_fs_type $TEST_DEV`" ]
+       then
+               # $TEST_DEV is not mounted
+               if ! _test_mount
+               then
+                       echo "common/rc: retrying test device mount with 
external set"
+                       [ "$USE_EXTERNAL" != "yes" ] && export USE_EXTERNAL=yes
+                       if ! _test_mount
+                       then
+                               echo "common/rc: could not mount $TEST_DEV on 
$TEST_DIR"
+                               exit 1
+                       fi
+               fi
+       fi
 
-    # Figure out if we need to add -F ("foreign", deprecated) option to xfs_io
-    xfs_io -c stat $TEST_DIR 2>&1 | grep -q "is not on an XFS filesystem" && \
+       if [ "`_fs_type $TEST_DEV`" != "$FSTYP" ]
+       then
+               echo "common/rc: Error: \$TEST_DEV ($TEST_DEV) is not a MOUNTED 
$FSTYP filesystem"
+               $DF_PROG $TEST_DEV
+               exit 1
+       fi
+       # Figure out if we need to add -F ("foreign", deprecated) option to 
xfs_io
+       xfs_io -c stat $TEST_DIR 2>&1 | grep -q "is not on an XFS filesystem" 
&& \
        export XFS_IO_PROG="$XFS_IO_PROG -F"
+}
 
-fi
+init_rc
 
+################################################################################
 # make sure this script returns success
 /bin/true
-- 
1.8.3.1

<Prev in Thread] Current Thread [Next in Thread>