* [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
* Re: [PATCH] common: add scoutfs support.
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
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2025-06-30 5:38 UTC (permalink / raw)
To: Auke Kok; +Cc: fstests
On Fri, Jun 27, 2025 at 11:42:20AM -0700, Auke Kok wrote:
> 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.
xfstests is only really intended to test in-tree file systems, or at
least those submitted upstream for inclusion and still in-progress.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] common: add scoutfs support.
2025-06-30 5:38 ` Christoph Hellwig
@ 2025-06-30 18:16 ` Auke Kok
0 siblings, 0 replies; 3+ messages in thread
From: Auke Kok @ 2025-06-30 18:16 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: fstests
On 6/29/25 10:38 PM, Christoph Hellwig wrote:
> xfstests is only really intended to test in-tree file systems, or at
> least those submitted upstream for inclusion and still in-progress.
I hear you. I don't think this will ever happen.
We've been using xfstests to test scoutfs for many years and rely
heavily on it, running it practically non-stop on scoutfs in our own CI
infrastructure, so I thought I'd at least test the waters as I'm in the
process of updating our local copy of it.
It's entirely likely we'll be maintaining scoutfs for a very long time
given our main users are deploying large scale archives with it that
have extensive lifetime spans.
Either way it's no big issue for me/us - this patch is rather small and
trivial. I do personally prefer to push things upstream once in a while
to see what feedback comes back, hence this post.
Auke
^ permalink raw reply [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