From: Dave Chinner <david@fromorbit.com>
To: fstests@vger.kernel.org
Cc: zlang@kernel.org
Subject: [PATCH 14/28] fstests: further separate sourcing common/rc and common/config from initialisation
Date: Thu, 17 Apr 2025 13:00:55 +1000 [thread overview]
Message-ID: <20250417031208.1852171-15-david@fromorbit.com> (raw)
In-Reply-To: <20250417031208.1852171-1-david@fromorbit.com>
From: Dave Chinner <dchinner@redhat.com>
The sourcing of common/rc still causes code to be run, partially
because it sources common/config and partially because there is some
in-line code amongst all the function definitions inside common/rc
This is messy, and re-sourcing those files also does an awful
lot of setup work that isn't actually required.
common/config only needs to be included once - everything that
scripts then depend on should be exported by it, and hence it should
only be included once from check/check-parallel to set up all the
environmental parameters for the entire run.
common/rc also only needs to be included once per context, but it
does not need to directly include common config nor does it need to
run init_rc in each individual test context.
Seperate out this mess. Include common/config directly where needed
and only use it to set up the environment. Move all the code that is
in common/config to common/rc so that common/config is not needed
for any purpose other than setting up the initial environment.
Move the initialisation functions to the scripts that include
common/config.
Config file and config section parsing can be run directly from check
and/or check-parallel; this is not needed for every context that
needs to know how what XFS_MKFS_PROG is set to...
Similarly, include common/rc only once, and only call init_rc or
_source_specific_fs() from the contexts that actually need that code
to be run.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
check | 23 ++---
common/config | 212 --------------------------------------------
common/preamble | 18 +++-
common/rc | 227 ++++++++++++++++++++++++++++++++++++++++++++----
4 files changed, 240 insertions(+), 240 deletions(-)
diff --git a/check b/check
index 0b489cb4b..fea86f7b9 100755
--- a/check
+++ b/check
@@ -46,6 +46,9 @@ rm -f $tmp.list $tmp.tmp $tmp.grep $here/$iam.out $tmp.report.* $tmp.arglist
. ./common/exit
. ./common/test_names
. ./common/test_list
+. ./common/config
+. ./common/config-sections
+. ./common/rc
usage()
{
@@ -183,15 +186,17 @@ while [ $# -gt 0 ]; do
shift
done
-# we need common/rc, that also sources common/config. We need to source it
-# after processing args, overlay needs FSTYP set before sourcing common/config
-if ! . ./common/rc; then
- echo "check: failed to source common/rc"
- exit 1
-fi
-
+# now we have done argument parsing, overlay has FSTYP set and we can now
+# start processing the config files and setting up devices.
+_config_section_setup
+_canonicalize_devices
init_rc
+if [ ! -z "$REPORT_LIST" ]; then
+ . ./common/report
+ _assert_report_list
+fi
+
# If the test config specified a soak test duration, see if there are any
# unit suffixes that need converting to an integer seconds count.
if [ -n "$SOAK_DURATION" ]; then
@@ -553,10 +558,6 @@ function run_section()
status=1
exit
fi
- # Previous FSTYP derived from TEST_DEV could be changed, source
- # common/rc again with correct FSTYP to get FSTYP specific configs,
- # e.g. common/xfs
- . common/rc
_tl_prepare_test_list
elif [ "$OLD_TEST_FS_MOUNT_OPTS" != "$TEST_FS_MOUNT_OPTS" ]; then
# Unmount TEST_DEV to apply the updated mount options.
diff --git a/common/config b/common/config
index f90a66862..b93a6c0d3 100644
--- a/common/config
+++ b/common/config
@@ -41,7 +41,6 @@
. common/test_names
. common/exit
-. common/config-sections
# all tests should use a common language setting to prevent golden
# output mismatches.
@@ -342,214 +341,3 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
: ${SELINUX_MOUNT_OPTIONS:="-o context=$(stat -c %C /)"}
export SELINUX_MOUNT_OPTIONS
fi
-
-_common_mount_opts()
-{
- case $FSTYP in
- 9p)
- echo $PLAN9_MOUNT_OPTIONS
- ;;
- fuse)
- echo $FUSE_MOUNT_OPTIONS
- ;;
- xfs)
- echo $XFS_MOUNT_OPTIONS
- ;;
- udf)
- echo $UDF_MOUNT_OPTIONS
- ;;
- nfs)
- echo $NFS_MOUNT_OPTIONS
- ;;
- afs)
- echo $AFS_MOUNT_OPTIONS
- ;;
- cifs)
- echo $CIFS_MOUNT_OPTIONS
- ;;
- ceph)
- echo $CEPHFS_MOUNT_OPTIONS
- ;;
- glusterfs)
- echo $GLUSTERFS_MOUNT_OPTIONS
- ;;
- overlay)
- echo $OVERLAY_MOUNT_OPTIONS
- ;;
- ext2|ext3|ext4)
- # acls & xattrs aren't turned on by default on ext$FOO
- echo "-o acl,user_xattr $EXT_MOUNT_OPTIONS"
- ;;
- f2fs)
- echo "-o acl,user_xattr $F2FS_MOUNT_OPTIONS"
- ;;
- reiser4)
- # acls & xattrs aren't supported by reiser4
- echo $REISER4_MOUNT_OPTIONS
- ;;
- gfs2)
- # acls aren't turned on by default on gfs2
- echo "-o acl $GFS2_MOUNT_OPTIONS"
- ;;
- tmpfs)
- # We need to specify the size at mount, use 1G by default
- echo "-o size=1G $TMPFS_MOUNT_OPTIONS"
- ;;
- ubifs)
- echo $UBIFS_MOUNT_OPTIONS
- ;;
- *)
- ;;
- esac
-}
-
-_mount_opts()
-{
- export MOUNT_OPTIONS=$(_common_mount_opts)
-}
-
-_test_mount_opts()
-{
- export TEST_FS_MOUNT_OPTS=$(_common_mount_opts)
-}
-
-_mkfs_opts()
-{
- case $FSTYP in
- xfs)
- export MKFS_OPTIONS=$XFS_MKFS_OPTIONS
- ;;
- udf)
- [ ! -z "$udf_fsize" ] && \
- UDF_MKFS_OPTIONS="$UDF_MKFS_OPTIONS -s $udf_fsize"
- export MKFS_OPTIONS=$UDF_MKFS_OPTIONS
- ;;
- nfs)
- export MKFS_OPTIONS=$NFS_MKFS_OPTIONS
- ;;
- afs)
- export MKFS_OPTIONS=$AFS_MKFS_OPTIONS
- ;;
- cifs)
- export MKFS_OPTIONS=$CIFS_MKFS_OPTIONS
- ;;
- ceph)
- export MKFS_OPTIONS=$CEPHFS_MKFS_OPTIONS
- ;;
- reiser4)
- export MKFS_OPTIONS=$REISER4_MKFS_OPTIONS
- ;;
- gfs2)
- export MKFS_OPTIONS="$GFS2_MKFS_OPTIONS -O -p lock_nolock"
- ;;
- jfs)
- export MKFS_OPTIONS="$JFS_MKFS_OPTIONS -q"
- ;;
- f2fs)
- export MKFS_OPTIONS="$F2FS_MKFS_OPTIONS"
- ;;
- btrfs)
- export MKFS_OPTIONS="$BTRFS_MKFS_OPTIONS"
- ;;
- bcachefs)
- export MKFS_OPTIONS=$BCACHEFS_MKFS_OPTIONS
- ;;
- *)
- ;;
- esac
-}
-
-_fsck_opts()
-{
- case $FSTYP in
- ext2|ext3|ext4)
- export FSCK_OPTIONS="-nf"
- ;;
- reiser*)
- export FSCK_OPTIONS="--yes"
- ;;
- f2fs)
- export FSCK_OPTIONS=""
- ;;
- *)
- export FSCK_OPTIONS="-n"
- ;;
- esac
-}
-
-# check necessary running dependences then source sepcific fs helpers
-_source_specific_fs()
-{
- local fs=$1
-
- if [ -z "$fs" ];then
- fs=$FSTYP
- fi
-
- case "$fs" in
- xfs)
- [ "$XFS_LOGPRINT_PROG" = "" ] && _fatal "xfs_logprint not found"
- [ "$XFS_REPAIR_PROG" = "" ] && _fatal "xfs_repair not found"
- [ "$XFS_DB_PROG" = "" ] && _fatal "xfs_db not found"
- [ "$MKFS_XFS_PROG" = "" ] && _fatal "mkfs_xfs not found"
- [ "$XFS_INFO_PROG" = "" ] && _fatal "xfs_info not found"
-
- . ./common/xfs
- ;;
- udf)
- [ "$MKFS_UDF_PROG" = "" ] && _fatal "mkfs_udf/mkudffs not found"
- ;;
- btrfs)
- [ "$MKFS_BTRFS_PROG" = "" ] && _fatal "mkfs.btrfs not found"
-
- . ./common/btrfs
- ;;
- ext4)
- [ "$MKFS_EXT4_PROG" = "" ] && _fatal "mkfs.ext4 not found"
- . ./common/ext4
- ;;
- ext2|ext3)
- . ./common/ext4
- ;;
- f2fs)
- [ "$MKFS_F2FS_PROG" = "" ] && _fatal "mkfs.f2fs not found"
- ;;
- nfs)
- . ./common/nfs
- ;;
- afs)
- ;;
- cifs)
- ;;
- 9p)
- ;;
- fuse)
- ;;
- ceph)
- . ./common/ceph
- ;;
- glusterfs)
- ;;
- overlay)
- . ./common/overlay
- ;;
- reiser4)
- [ "$MKFS_REISER4_PROG" = "" ] && _fatal "mkfs.reiser4 not found"
- ;;
- pvfs2)
- ;;
- ubifs)
- [ "$UBIUPDATEVOL_PROG" = "" ] && _fatal "ubiupdatevol not found"
- . ./common/ubifs
- ;;
- esac
-}
-
-_config_section_setup
-_canonicalize_devices
-# mkfs.xfs checks for TEST_DEV before permitting < 300M filesystems. TEST_DIR
-# and QA_CHECK_FS are also checked by mkfs.xfs, but already exported elsewhere.
-export TEST_DEV
-
-# make sure this script returns success
-/bin/true
diff --git a/common/preamble b/common/preamble
index 0b684cc33..265b5649f 100644
--- a/common/preamble
+++ b/common/preamble
@@ -51,7 +51,23 @@ _begin_fstest()
. ./common/exit
. ./common/rc
- init_rc
+
+ # Explicitly source the filesystem specific functions the test may need.
+ # This opens the door for template-file based functionality using
+ # function redfinition (e.g. to provide _scratch_mkfs()), rather than
+ # having everyting FSTYP specific being implemented in common/rc with
+ # massive case statements.
+ _source_specific_fs $FSTYP
+
+ # Always mount the test device because there many feature checks (i.e.
+ # _requires_....() functions) that assume the TEST_DIR is mounted. Lots
+ # of tests do not call _require_test to actually mount the test device
+ # first, so if we don't mount the test device then the _requires...
+ # checks are not probing the correct filesystem for support.
+ _check_if_dev_already_mounted $TEST_DEV $TEST_DIR
+ if [ $? -eq 1 ]; then
+ _test_mount || _fail "Cannot mount $TEST_DEV on $TEST_DIR"
+ fi
# remove previous $seqres.full before test
rm -f $seqres.full $seqres.hints
diff --git a/common/rc b/common/rc
index 94c00d890..be6cd92c4 100644
--- a/common/rc
+++ b/common/rc
@@ -2,10 +2,11 @@
# SPDX-License-Identifier: GPL-2.0+
# Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved.
-. common/config
-
BC="$(type -P bc)" || BC=
+# make sure we have a standard umask
+umask 022
+
# Don't use sync(1) directly if at all possible. In most cases we only need to
# sync the fs under test, so we use syncfs if it is supported to prevent
# disturbance of other tests that may be running concurrently.
@@ -246,17 +247,6 @@ _log_err()
echo "(see $seqres.full for details)"
}
-# make sure we have a standard umask
-umask 022
-
-# check for correct setup and source the $FSTYP specific functions now
-_source_specific_fs $FSTYP
-
-if [ ! -z "$REPORT_LIST" ]; then
- . ./common/report
- _assert_report_list
-fi
-
_get_filesize()
{
stat -c %s "$1"
@@ -4934,6 +4924,8 @@ init_rc()
_exit 1
fi
+ _source_specific_fs $FSTYP
+
# if $TEST_DEV is not mounted, mount it now as XFS
if [ -z "`_fs_type $TEST_DEV`" ]
then
@@ -4973,6 +4965,11 @@ init_rc()
# it is supported.
$XFS_IO_PROG -i -c quit 2>/dev/null && \
export XFS_IO_PROG="$XFS_IO_PROG -i"
+
+ # mkfs.xfs checks for TEST_DEV before permitting < 300M filesystems.
+ # TEST_DIR and QA_CHECK_FS are also checked by mkfs.xfs, but already
+ # exported elsewhere.
+ export TEST_DEV
}
# get real device path name by following link
@@ -5844,6 +5841,204 @@ _require_program() {
_have_program "$1" || _notrun "$tag required"
}
-################################################################################
-# make sure this script returns success
-/bin/true
+_common_mount_opts()
+{
+ case $FSTYP in
+ 9p)
+ echo $PLAN9_MOUNT_OPTIONS
+ ;;
+ fuse)
+ echo $FUSE_MOUNT_OPTIONS
+ ;;
+ xfs)
+ echo $XFS_MOUNT_OPTIONS
+ ;;
+ udf)
+ echo $UDF_MOUNT_OPTIONS
+ ;;
+ nfs)
+ echo $NFS_MOUNT_OPTIONS
+ ;;
+ afs)
+ echo $AFS_MOUNT_OPTIONS
+ ;;
+ cifs)
+ echo $CIFS_MOUNT_OPTIONS
+ ;;
+ ceph)
+ echo $CEPHFS_MOUNT_OPTIONS
+ ;;
+ glusterfs)
+ echo $GLUSTERFS_MOUNT_OPTIONS
+ ;;
+ overlay)
+ echo $OVERLAY_MOUNT_OPTIONS
+ ;;
+ ext2|ext3|ext4)
+ # acls & xattrs aren't turned on by default on ext$FOO
+ echo "-o acl,user_xattr $EXT_MOUNT_OPTIONS"
+ ;;
+ f2fs)
+ echo "-o acl,user_xattr $F2FS_MOUNT_OPTIONS"
+ ;;
+ reiser4)
+ # acls & xattrs aren't supported by reiser4
+ echo $REISER4_MOUNT_OPTIONS
+ ;;
+ gfs2)
+ # acls aren't turned on by default on gfs2
+ echo "-o acl $GFS2_MOUNT_OPTIONS"
+ ;;
+ tmpfs)
+ # We need to specify the size at mount, use 1G by default
+ echo "-o size=1G $TMPFS_MOUNT_OPTIONS"
+ ;;
+ ubifs)
+ echo $UBIFS_MOUNT_OPTIONS
+ ;;
+ *)
+ ;;
+ esac
+}
+
+_mount_opts()
+{
+ export MOUNT_OPTIONS=$(_common_mount_opts)
+}
+
+_test_mount_opts()
+{
+ export TEST_FS_MOUNT_OPTS=$(_common_mount_opts)
+}
+
+_mkfs_opts()
+{
+ case $FSTYP in
+ xfs)
+ export MKFS_OPTIONS=$XFS_MKFS_OPTIONS
+ ;;
+ udf)
+ [ ! -z "$udf_fsize" ] && \
+ UDF_MKFS_OPTIONS="$UDF_MKFS_OPTIONS -s $udf_fsize"
+ export MKFS_OPTIONS=$UDF_MKFS_OPTIONS
+ ;;
+ nfs)
+ export MKFS_OPTIONS=$NFS_MKFS_OPTIONS
+ ;;
+ afs)
+ export MKFS_OPTIONS=$AFS_MKFS_OPTIONS
+ ;;
+ cifs)
+ export MKFS_OPTIONS=$CIFS_MKFS_OPTIONS
+ ;;
+ ceph)
+ export MKFS_OPTIONS=$CEPHFS_MKFS_OPTIONS
+ ;;
+ reiser4)
+ export MKFS_OPTIONS=$REISER4_MKFS_OPTIONS
+ ;;
+ gfs2)
+ export MKFS_OPTIONS="$GFS2_MKFS_OPTIONS -O -p lock_nolock"
+ ;;
+ jfs)
+ export MKFS_OPTIONS="$JFS_MKFS_OPTIONS -q"
+ ;;
+ f2fs)
+ export MKFS_OPTIONS="$F2FS_MKFS_OPTIONS"
+ ;;
+ btrfs)
+ export MKFS_OPTIONS="$BTRFS_MKFS_OPTIONS"
+ ;;
+ bcachefs)
+ export MKFS_OPTIONS=$BCACHEFS_MKFS_OPTIONS
+ ;;
+ *)
+ ;;
+ esac
+}
+
+_fsck_opts()
+{
+ case $FSTYP in
+ ext2|ext3|ext4)
+ export FSCK_OPTIONS="-nf"
+ ;;
+ reiser*)
+ export FSCK_OPTIONS="--yes"
+ ;;
+ f2fs)
+ export FSCK_OPTIONS=""
+ ;;
+ *)
+ export FSCK_OPTIONS="-n"
+ ;;
+ esac
+}
+
+# check necessary running dependences then source sepcific fs helpers
+_source_specific_fs()
+{
+ local fs=$1
+
+ if [ -z "$fs" ];then
+ fs=$FSTYP
+ fi
+
+ case "$fs" in
+ xfs)
+ [ "$XFS_LOGPRINT_PROG" = "" ] && _fatal "xfs_logprint not found"
+ [ "$XFS_REPAIR_PROG" = "" ] && _fatal "xfs_repair not found"
+ [ "$XFS_DB_PROG" = "" ] && _fatal "xfs_db not found"
+ [ "$MKFS_XFS_PROG" = "" ] && _fatal "mkfs_xfs not found"
+ [ "$XFS_INFO_PROG" = "" ] && _fatal "xfs_info not found"
+
+ . ./common/xfs
+ ;;
+ udf)
+ [ "$MKFS_UDF_PROG" = "" ] && _fatal "mkfs_udf/mkudffs not found"
+ ;;
+ btrfs)
+ [ "$MKFS_BTRFS_PROG" = "" ] && _fatal "mkfs.btrfs not found"
+
+ . ./common/btrfs
+ ;;
+ ext4)
+ [ "$MKFS_EXT4_PROG" = "" ] && _fatal "mkfs.ext4 not found"
+ . ./common/ext4
+ ;;
+ ext2|ext3)
+ . ./common/ext4
+ ;;
+ f2fs)
+ [ "$MKFS_F2FS_PROG" = "" ] && _fatal "mkfs.f2fs not found"
+ ;;
+ nfs)
+ . ./common/nfs
+ ;;
+ afs)
+ ;;
+ cifs)
+ ;;
+ 9p)
+ ;;
+ fuse)
+ ;;
+ ceph)
+ . ./common/ceph
+ ;;
+ glusterfs)
+ ;;
+ overlay)
+ . ./common/overlay
+ ;;
+ reiser4)
+ [ "$MKFS_REISER4_PROG" = "" ] && _fatal "mkfs.reiser4 not found"
+ ;;
+ pvfs2)
+ ;;
+ ubifs)
+ [ "$UBIUPDATEVOL_PROG" = "" ] && _fatal "ubiupdatevol not found"
+ . ./common/ubifs
+ ;;
+ esac
+}
--
2.45.2
next prev parent reply other threads:[~2025-04-17 3:12 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 3:00 [PATCH 00/28] check-parallel: Running tests without check Dave Chinner
2025-04-17 3:00 ` [PATCH 01/28] fstests: remove support for non-numeric test names Dave Chinner
2025-04-30 9:17 ` Nirjhar Roy (IBM)
2025-05-21 2:39 ` Dave Chinner
2025-05-26 5:14 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 02/28] _scratch_mkfs_sized: obey USE_EXTERNAL for XFS filesystems Dave Chinner
2025-05-05 6:14 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 03/28] fstests: move test exit functions to common/exit Dave Chinner
2025-04-17 3:00 ` [PATCH 04/28] check-parallel: report how many tests were _notrun Dave Chinner
2025-05-05 9:58 ` Nirjhar Roy (IBM)
2025-05-21 2:53 ` Dave Chinner
2025-05-26 6:09 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 05/28] check: factor out test list building code Dave Chinner
2025-05-06 11:32 ` Nirjhar Roy (IBM)
2025-05-21 3:55 ` Dave Chinner
2025-05-26 6:48 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 06/28] check-parallel: use common group list parsing code Dave Chinner
2025-05-06 15:56 ` Nirjhar Roy (IBM)
2025-05-21 4:13 ` Dave Chinner
2025-05-26 6:58 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 07/28] check-parallel: adjust concurrency according to CPU count Dave Chinner
2025-05-07 6:45 ` Nirjhar Roy (IBM)
2025-05-21 4:32 ` Dave Chinner
2025-05-26 8:50 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 08/28] check-parallel: add logwrite device support Dave Chinner
2025-05-07 8:18 ` Nirjhar Roy (IBM)
2025-05-21 10:07 ` Dave Chinner
2025-05-26 8:59 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 09/28] check-parallel: allow FSTYP selection from the CLI Dave Chinner
2025-05-07 8:49 ` Nirjhar Roy (IBM)
2025-05-21 10:17 ` Dave Chinner
2025-05-26 9:00 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 10/28] check-parallel: use PID namespaces for runner process isolation Dave Chinner
2025-05-07 9:02 ` Nirjhar Roy (IBM)
2025-05-21 10:19 ` Dave Chinner
2025-05-26 9:04 ` Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 11/28] check-parallel: initial support for specifying device sizes Dave Chinner
2025-05-07 10:05 ` Nirjhar Roy (IBM)
2025-05-21 11:11 ` Dave Chinner
2025-04-17 3:00 ` [PATCH 12/28] config: move config section code to it's own file Dave Chinner
2025-05-09 6:09 ` Nirjhar Roy
2025-05-21 11:28 ` Dave Chinner
2025-04-17 3:00 ` [PATCH 13/28] check-parallel: introduce config file support Dave Chinner
2025-05-09 12:01 ` Nirjhar Roy
2025-05-21 12:23 ` Dave Chinner
2025-04-17 3:00 ` Dave Chinner [this message]
2025-05-10 14:08 ` [PATCH 14/28] fstests: further separate sourcing common/rc and common/config from initialisation Nirjhar Roy (IBM)
2025-04-17 3:00 ` [PATCH 15/28] check-parallel: de-batch test execution Dave Chinner
2025-05-09 13:16 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 16/28] check-parallel: run sections directly Dave Chinner
2025-05-09 14:03 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 17/28] check-parallel: rebuild test list when FSTYP changes Dave Chinner
2025-05-09 16:00 ` Nirjhar Roy
2025-04-17 3:00 ` [PATCH 18/28] check-parallel: create a "results-latest" symlink Dave Chinner
2025-05-10 13:12 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 19/28] check: factor test running Dave Chinner
2025-05-12 13:57 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 20/28] [RFC] check-parallel: run tests directly without using check Dave Chinner
2025-05-13 14:48 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 21/28] generic/531: limit max files per CPU Dave Chinner
2025-05-10 13:15 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 22/28] fsync-tester.c: use syncfs() rather than sync() Dave Chinner
2025-04-30 9:08 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 23/28] open-by-handle.c: " Dave Chinner
2025-04-30 9:02 ` Nirjhar Roy (IBM)
2025-05-21 2:32 ` Dave Chinner
2025-05-26 5:11 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 24/28] " Dave Chinner
2025-04-30 8:56 ` Nirjhar Roy (IBM)
2025-05-21 2:30 ` Dave Chinner
2025-05-26 4:56 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 25/28] bulkstat_unlink_test_modified.c: remove unused test code Dave Chinner
2025-04-30 8:47 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 26/28] stale-handle.c: use syncfs() rather than sync() Dave Chinner
2025-04-30 8:34 ` Nirjhar Roy (IBM)
2025-05-21 2:24 ` Dave Chinner
2025-04-17 3:01 ` [PATCH 27/28] scaleread: remove dead test code Dave Chinner
2025-04-30 8:10 ` Nirjhar Roy (IBM)
2025-04-17 3:01 ` [PATCH 28/28] xfs/259: no need to call sync Dave Chinner
2025-04-30 7:56 ` Nirjhar Roy (IBM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250417031208.1852171-15-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=fstests@vger.kernel.org \
--cc=zlang@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox