On 8/4/25 00:58, Darrick J. Wong wrote:
On Mon, Apr 07, 2025 at 11:48:16AM +0800, Anand Jain wrote:
Ensure logs don’t write to a `.full` file when `_set_fs_sysfs_attr()`
is called during setup (before a testcase) in XFS due to unset seqres.
Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
---
common/rc | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/common/rc b/common/rc
index e89eee5de840..ca1d13ca1f0b 100644
--- a/common/rc
+++ b/common/rc
@@ -5201,6 +5201,13 @@ _set_fs_sysfs_attr()
local attr=$1
shift
local content="$*"
+ local logfile="/dev/null"
If we're not actually running a test, should the error output go to
$check.full instead?
Ah. I didn't know. It seems like no one is using check.full.
-----
$ find . -type f -exec grep check\.full {} \; -print
rm -f $check.full
./check
-----
Thanks, Anand
--D
+
+ # This function may be called outside a testcase during setup,
+ # so seqres might not be set.
+ if [[ -v seqres ]]; then
+ logfile="$seqres.full"
+ fi
if [ ! -b "$dev" -o -z "$attr" -o -z "$content" ];then
_fail "Usage: _set_fs_sysfs_attr <mounted_device> <attr> <content>"
@@ -5208,8 +5215,8 @@ _set_fs_sysfs_attr()
local dname=$(_fs_sysfs_dname $dev)
- echo "echo '$content' 2>&1 > /sys/fs/${FSTYP}/${dname}/${attr}" >> $seqres.full
- echo "$content" 2>&1 > /sys/fs/${FSTYP}/${dname}/${attr} | tee -a $seqres.full
+ echo "echo '$content' 2>&1 > /sys/fs/${FSTYP}/${dname}/${attr}" >> $logfile
+ echo "$content" 2>&1 > /sys/fs/${FSTYP}/${dname}/${attr} | tee -a $logfile
}
# Print the content of /sys/fs/$FSTYP/$DEV/$ATTR
--
2.47.0