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 <jaegeuk@xxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html