This patch defines logstate by adding dump.f2fs for f2fs's clean and dirty logs.
This macro is added into:

  xfs/085
  xfs/086
  xfs/087

Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 common/config |  1 +
 common/log    | 51 +++++++++++++++++++++++++++++++++++++++++++++------
 tests/xfs/085 |  1 +
 tests/xfs/086 |  1 +
 tests/xfs/087 |  1 +
 5 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/common/config b/common/config
index 235f4a1..e5c3579 100644
--- a/common/config
+++ b/common/config
@@ -220,6 +220,7 @@ case "$HOSTOS" in
         export MKFS_UDF_PROG="`set_prog_path mkudffs`"
         export MKFS_BTRFS_PROG="`set_btrfs_mkfs_prog_path_with_opts`"
         export MKFS_F2FS_PROG="`set_prog_path mkfs.f2fs`"
+        export DUMP_F2FS_PROG="`set_prog_path dump.f2fs`"
         export BTRFS_UTIL_PROG="`set_prog_path btrfs`"
         export BTRFS_SHOW_SUPER_PROG="`set_prog_path btrfs-show-super`"
         export XFS_FSR_PROG="`set_prog_path xfs_fsr`"
diff --git a/common/log b/common/log
index 87074d9..d8b18f8 100644
--- a/common/log
+++ b/common/log
@@ -216,14 +216,35 @@ _check_log()
         | head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
 }
 
+_scratch_xfs_logstate()
+{
+    _scratch_xfs_logprint -t | tee -a $seqres.full | grep -q "<CLEAN>"
+    echo $?
+}
+
+_scratch_f2fs_logstate()
+{
+    $DUMP_F2FS_PROG $SCRATCH_DEV | tee -a $seqres.full | grep -q "unmount"
+    echo $?
+}
+
 _print_logstate()
 {
-    _scratch_xfs_logprint -t | tee -a $seqres.full >$tmp.logprint
-    if grep -q "<DIRTY>" $tmp.logprint; then
-       echo "dirty log"
-    fi
-    if grep -q "<CLEAN>" $tmp.logprint; then
-       echo "clean log"
+    case "$FSTYP" in
+    xfs)
+        dirty=$(_scratch_xfs_logstate)
+        ;;
+    f2fs)
+        dirty=$(_scratch_f2fs_logstate)
+        ;;
+    *)
+        ;;
+    esac
+
+    if [ $dirty -ne 0 ]; then
+        echo "dirty log"
+    else
+        echo "clean log"
     fi
 }
 
@@ -470,6 +491,24 @@ _require_v2log()
     # otherwise presume it does support v2 logs...:)
 }
 
+_require_logstate()
+{
+    case "$FSTYP" in
+    xfs)
+        if [ -z "$XFS_LOGPRINT_PROG" ]; then
+            _notrun "This test requires xfs_logprint utility."
+        fi
+        ;;
+    f2fs)
+        if [ -z "$DUMP_F2FS_PROG" ]; then
+            _notrun "This test requires dump.f2fs utility."
+        fi
+        ;;
+    *)
+        _notrun "$FSTYP does not support log state probing."
+        ;;
+    esac
+}
 
 # make sure this script returns success
 /bin/true
diff --git a/tests/xfs/085 b/tests/xfs/085
index 539f324..1b6f424 100755
--- a/tests/xfs/085
+++ b/tests/xfs/085
@@ -48,6 +48,7 @@ rm -f $tmp.log
 
 _require_scratch
 _require_scratch_shutdown
+_require_logstate
 
 echo "mkfs"
 _scratch_mkfs_xfs >>$seqres.full 2>&1 \
diff --git a/tests/xfs/086 b/tests/xfs/086
index 08566d7..02977aa 100755
--- a/tests/xfs/086
+++ b/tests/xfs/086
@@ -45,6 +45,7 @@ _supported_os IRIX Linux
 rm -f $seqres.full $tmp.*
 _require_scratch
 _require_scratch_shutdown
+_require_logstate
 _require_v2log
 
 echo "*** init FS"
diff --git a/tests/xfs/087 b/tests/xfs/087
index 42c7d3b..17a999c 100755
--- a/tests/xfs/087
+++ b/tests/xfs/087
@@ -60,6 +60,7 @@ _supported_os IRIX Linux
 rm -f $seqres.full $tmp.*
 _require_scratch
 _require_scratch_shutdown
+_require_logstate
 _require_v2log 
 _require_xfs_quota
 
-- 
2.1.1


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to