FS/XFS testing framework
 help / color / mirror / Atom feed
* [PATCH] common: add scoutfs support.
@ 2025-06-27 18:42 Auke Kok
  2025-06-30  5:38 ` Christoph Hellwig
  0 siblings, 1 reply; 3+ messages in thread
From: Auke Kok @ 2025-06-27 18:42 UTC (permalink / raw)
  To: fstests; +Cc: Auke Kok

Basic scoutfs support: scoutfs uses 2 devices for a filesystem, one for
metadata, and one for data. This requires that we pass a metadev_path
argument to every mount call, as well as a quorum_slot option.

To run any of these tests on scoutfs, you'll need to build and
install the out-of-tree kernel module `scoutfs.ko`, and the `scoutfs`
userspace utility, which can `mkfs` a scoutfs filesystem. The tests
themselves are unmodified - many of them will be skipped due to
unsupported features.

Signed-off-by: Auke Kok <auke.kok@versity.com>
---
 common/config |  1 +
 common/rc     | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/common/config b/common/config
index 22b52432..5273790d 100644
--- a/common/config
+++ b/common/config
@@ -228,6 +228,7 @@ export BTRFS_MAP_LOGICAL_PROG=$(type -P btrfs-map-logical)
 export PARTED_PROG="$(type -P parted)"
 export XFS_PROPERTY_PROG="$(type -P xfs_property)"
 export FSCRYPTCTL_PROG="$(type -P fscryptctl)"
+export SCOUTFS_PROG="$(type -P scoutfs)"
 
 # udev wait functions.
 #
diff --git a/common/rc b/common/rc
index f71cc8f0..47aac12b 100644
--- a/common/rc
+++ b/common/rc
@@ -361,6 +361,9 @@ _scratch_options()
     ext2|ext3|ext4)
 	_scratch_ext4_options "$@"
 	;;
+    scoutfs)
+	SCRATCH_OPTIONS=$SCOUTFS_SCRATCH_MOUNT_OPTIONS_META_DEV
+	;;
     esac
 }
 
@@ -396,7 +399,14 @@ _test_options()
 # hosted on $SCRATCH_DEV, so can't use external scratch devices).
 _common_dev_mount_options()
 {
+    case "$FSTYPE" in
+    scoutfs)
+	echo $MOUNT_OPTIONS $SELINUX_MOUNT_OPTIONS $SCOUTFS_MOUNT_OPTIONS_META_DEV $*
+	;;
+    *)
 	echo $MOUNT_OPTIONS $SELINUX_MOUNT_OPTIONS $*
+	;;
+    esac
 }
 
 _scratch_mount_options()
@@ -851,6 +861,9 @@ _test_mkfs()
     bcachefs)
 	$MKFS_BCACHEFS_PROG $MKFS_OPTIONS $* $TEST_DEV > /dev/null
 	;;
+    scoutfs)
+	$SCOUTFS_PROG mkfs $MKFS_OPTIONS $* $TEST_DEV
+	;;
     *)
 	yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $TEST_DEV
 	;;
@@ -896,6 +909,9 @@ _try_mkfs_dev()
     xfs)
 	$MKFS_PROG -t $FSTYP -- -f $MKFS_OPTIONS $*
 	;;
+    scoutfs)
+	$SCOUTFS_PROG mkfs $MKFS_OPTIONS $*
+	;;
     *)
 	yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $*
 	;;
@@ -1003,6 +1019,10 @@ _scratch_mkfs()
 		mkfs_cmd="$MKFS_BCACHEFS_PROG"
 		mkfs_filter="cat"
 		;;
+     scoutfs)
+		mkfs_cmd="$SCOUTFS_PROG mkfs $MKFS_OPTIONS $MKFS_SCRATCH_OPTIONS $* $SCRATCH_META_DEV"
+		mkfs_filter="cat"
+		;;
 	*)
 		mkfs_cmd="yes | $MKFS_PROG -t $FSTYP --"
 		mkfs_filter="cat"
@@ -3670,6 +3690,9 @@ _check_test_fs()
     f2fs)
         _check_f2fs_filesystem $TEST_DEV
         ;;
+    scoutfs)
+	# currently not checking
+	;;
     *)
 	_check_generic_filesystem $TEST_DEV
 	;;
@@ -3729,6 +3752,9 @@ _check_scratch_fs()
     f2fs)
         _check_f2fs_filesystem $device
         ;;
+    scoutfs)
+	# currently not checking
+	;;
     *)
 	_check_generic_filesystem $device
 	;;
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-06-30 18:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-27 18:42 [PATCH] common: add scoutfs support Auke Kok
2025-06-30  5:38 ` Christoph Hellwig
2025-06-30 18:16   ` Auke Kok

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox