@@ -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`"
@@ -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
@@ -48,6 +48,7 @@ rm -f $tmp.log
_require_scratch
_require_scratch_shutdown
+_require_logstate
echo "mkfs"
_scratch_mkfs_xfs >>$seqres.full 2>&1 \
@@ -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"
@@ -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
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@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(-)