xfs
[Top] [All Lists]

[PATCH] xfstests: Remove dependence of xfs_check script

To: XFS mailing list <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfstests: Remove dependence of xfs_check script
From: Chandra Seetharaman <sekharan@xxxxxxxxxx>
Date: Wed, 17 Apr 2013 14:17:24 -0500
Delivered-to: xfs@xxxxxxxxxxx
Organization: IBM
Reply-to: sekharan@xxxxxxxxxx
Replace the usage of the script xfs_check and add the relevant code to
xfstests.

This is in preparation of the planned deprecation of xfs_check.

Signed-off-by: Chandra Seetharaman <sekharan@xxxxxxxxxx>
---
diff --git a/common/config b/common/config
index bf62996..dfbb5c2 100644
--- a/common/config
+++ b/common/config
@@ -154,7 +154,6 @@ export DF_PROG="`set_prog_path df`"
 
 export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
 export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
-export XFS_CHECK_PROG="`set_prog_path xfs_check`"
 export XFS_DB_PROG="`set_prog_path xfs_db`"
 export XFS_GROWFS_PROG=`set_prog_path xfs_growfs`
 export XFS_IO_PROG="`set_prog_path xfs_io`"
diff --git a/common/rc b/common/rc
index 09fb83f..9cea3f9 100644
--- a/common/rc
+++ b/common/rc
@@ -166,7 +166,6 @@ case "$FSTYP" in
     xfs)
         [ "$XFS_LOGPRINT_PROG" = "" ] && _fatal "xfs_logprint not found"
         [ "$XFS_REPAIR_PROG" = "" ] && _fatal "xfs_repair not found"
-        [ "$XFS_CHECK_PROG" = "" ] && _fatal "xfs_check not found"
         [ "$XFS_DB_PROG" = "" ] && _fatal "xfs_db not found"
         [ "$MKFS_XFS_PROG" = "" ] && _fatal "mkfs_xfs not found"
         ;;
@@ -387,6 +386,31 @@ _scratch_mkfs_xfs()
     return $mkfs_status
 }
 
+_xfs_check()
+{
+    OPTS=" "
+    DBOPTS=" "
+
+    OPTIND=1
+    while getopts "b:fi:l:stvV" c
+    do
+        case $c in
+            s) OPTS=$OPTS"-s ";;
+            t) OPTS=$OPTS"-t ";;
+            v) OPTS=$OPTS"-v ";;
+            i) OPTS=$OPTS"-i "$OPTARG" ";;
+            b) OPTS=$OPTS"-b "$OPTARG" ";;
+            f) DBOPTS=$DBOPTS" -f";;
+            l) DBOPTS=$DBOPTS" -l "$OPTARG" ";;
+            V) $XFS_DB_PROG -p xfs_check -V
+                return $?
+                ;;
+        esac
+    done
+    ${XFS_DB_PROG}${DBOPTS} -F -i -p xfs_check -c "check$OPTS" $1
+    return $?
+}
+
 _setup_large_ext4_fs()
 {
        fs_size=$1
@@ -589,7 +613,7 @@ _scratch_xfs_check()
         SCRATCH_OPTIONS="-l $SCRATCH_LOGDEV"
     [ "$LARGE_SCRATCH_DEV" = yes ] && \
         SCRATCH_OPTIONS=$SCRATCH_OPTIONS" -t"
-    $XFS_CHECK_PROG $SCRATCH_OPTIONS $* $SCRATCH_DEV
+    _xfs_check $SCRATCH_OPTIONS $* $SCRATCH_DEV
 }
 
 _scratch_xfs_repair()
@@ -1426,7 +1450,7 @@ _check_xfs_filesystem()
     # option (-t) to avoid indexing the free space trees doesn't make it pass 
on
     # large filesystems. Avoid it.
     if [ "$LARGE_SCRATCH_DEV" != yes ]; then
-           $XFS_CHECK_PROG $extra_log_options $device 2>&1 |\
+           _xfs_check $extra_log_options $device 2>&1 |\
                 _fix_malloc >$tmp.fs_check
     fi
     if [ -s $tmp.fs_check ]
diff --git a/crash/xfscrash b/crash/xfscrash
index 7831d7e..579b724 100755
--- a/crash/xfscrash
+++ b/crash/xfscrash
@@ -120,11 +120,11 @@ _check()
     if [ $expect -eq 0 ]
     then
         _echo "      *** xfs_check ($LOG/check_clean.out)"   
-        xfs_check $TEST_DEV &> $LOG/check_clean.out || fail=1
+        _xfs_check $TEST_DEV &> $LOG/check_clean.out || fail=1
         [ -s /tmp/xfs_check_clean.out ] && fail=1
     else
         _echo "      *** xfs_check ($LOG/check_dirty.out)"   
-        xfs_check $TEST_DEV &> $LOG/check_dirty.out || fail=1
+        _xfs_check $TEST_DEV &> $LOG/check_dirty.out || fail=1
     fi
     
     if [ $fail -eq 0 -a $expect -eq 0 ]
diff --git a/tests/xfs/085 b/tests/xfs/085
index 27f29a3..af71b77 100755
--- a/tests/xfs/085
+++ b/tests/xfs/085
@@ -70,7 +70,7 @@ _print_logstate
 
 # curious if FS consistent at start
 if false; then
-    if $XFS_CHECK_PROG $SCRATCH_DEV; then
+    if _xfs_check $SCRATCH_DEV; then
        echo "*** checked ok ***"
     fi
 fi
diff --git a/tests/xfs/291 b/tests/xfs/291
old mode 100644
new mode 100755
index f842679..7723b9e
--- a/tests/xfs/291
+++ b/tests/xfs/291
@@ -113,7 +113,7 @@ done
 _scratch_unmount
 # Can xfs_repair and xfs_check cope with this monster?
 _scratch_xfs_repair >> $seqres.full 2>&1 || _fail "xfs_repair failed"
-xfs_check $SCRATCH_DEV >> $seqres.full 2>&1 || _fail "xfs_check failed"
+_xfs_check $SCRATCH_DEV >> $seqres.full 2>&1 || _fail "xfs_check failed"
 
 # Yes they can!  Now...
 # Can xfs_metadump cope with this monster?


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