mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
common/defrag: support f2fs
F2FS supports defragment based on file granularity, adjust test suit to support f2fs. Signed-off-by: Chao Yu <yuchao0@huawei.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
@@ -176,6 +176,7 @@ export XFS_COPY_PROG="$(type -P xfs_copy)"
|
||||
export FSTRIM_PROG="$(type -P fstrim)"
|
||||
export DUMPE2FS_PROG="$(type -P dumpe2fs)"
|
||||
export RESIZE2FS_PROG="$(type -P resize2fs)"
|
||||
export F2FS_IO_PROG="$(type -P f2fs_io)"
|
||||
export FIO_PROG="$(type -P fio)"
|
||||
export FILEFRAG_PROG="$(type -P filefrag)"
|
||||
export E4DEFRAG_PROG="$(type -P e4defrag)"
|
||||
@@ -242,6 +243,7 @@ case "$HOSTOS" in
|
||||
export MKFS_BTRFS_PROG=$(set_mkfs_prog_path_with_opts btrfs)
|
||||
export MKFS_F2FS_PROG=$(set_mkfs_prog_path_with_opts f2fs)
|
||||
export DUMP_F2FS_PROG=$(type -P dump.f2fs)
|
||||
export F2FS_IO_PROG=$(type -P f2fs_io)
|
||||
export BTRFS_UTIL_PROG=$(type -P btrfs)
|
||||
export BTRFS_SHOW_SUPER_PROG=$(type -P btrfs-show-super)
|
||||
export BTRFS_CONVERT_PROG=$(type -P btrfs-convert)
|
||||
|
||||
+10
-1
@@ -27,6 +27,9 @@ _require_defrag()
|
||||
rm -f $testfile $donorfile 2>&1 > /dev/null
|
||||
DEFRAG_PROG="$E4DEFRAG_PROG"
|
||||
;;
|
||||
f2fs)
|
||||
DEFRAG_PROG="$F2FS_IO_PROG defrag_file"
|
||||
;;
|
||||
btrfs)
|
||||
DEFRAG_PROG="$BTRFS_UTIL_PROG filesystem defragment"
|
||||
;;
|
||||
@@ -140,7 +143,13 @@ _defrag()
|
||||
|
||||
[ ! -z $csum ] && CSUM_BEFORE=`md5sum $1`
|
||||
STAT_BEFORE=`stat -c "a: %x m: %y c: %z" $1`
|
||||
$DEFRAG_PROG -v $1 >> $seqres.full 2>&1
|
||||
|
||||
if [ $FSTYP == "f2fs" ]; then
|
||||
local filesize=`ls -l $1 | $AWK_PROG '{print $5}'`
|
||||
$DEFRAG_PROG 0 $filesize $1 >> $seqres.full 2>&1
|
||||
else
|
||||
$DEFRAG_PROG -v $1 >> $seqres.full 2>&1
|
||||
fi
|
||||
|
||||
_scratch_cycle_mount
|
||||
STAT_AFTER=`stat -c "a: %x m: %y c: %z" $1`
|
||||
|
||||
Reference in New Issue
Block a user