From 234c38b88d07771d681cb392a9b44cc1b17fb3ae Mon Sep 17 00:00:00 2001 From: Jaegeuk Kim Date: Thu, 12 Feb 2015 14:20:58 +1100 Subject: [PATCH] common: define _require_logstate 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 Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- 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 235f4a12..e5c3579c 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 87074d97..d8b18f86 100644 --- a/common/log +++ b/common/log @@ -216,14 +216,35 @@ _check_log() | head | grep -q "" || _fail "DIRTY LOG" } +_scratch_xfs_logstate() +{ + _scratch_xfs_logprint -t | tee -a $seqres.full | grep -q "" + 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 "" $tmp.logprint; then - echo "dirty log" - fi - if grep -q "" $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 539f3245..1b6f424d 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 08566d7b..02977aab 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 42c7d3be..17a999cc 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.39.5