[PATCH] fstests: vfstest: skip rejected tmpfile creation

Qu Wenruo <[email protected]>
Newsgroups org.kernel.vger.linux-btrfs,org.kernel.vger.fstests
Message-ID <[email protected]>
Since kernel commit 539dce114465 ("fs: refuse O_TMPFILE creation with an
unmapped fsuid or fsgid"), tmpfile creation can be rejected with
EOVERFLOW, so also skip that error number to avoid false alerts like the
following:

 FSTYP         -- ext4
 PLATFORM      -- Linux/x86_64 btrfs-vm 7.2.0-rc3-custom+ #411 SMP PREEMPT_DYNAMIC Fri Jul 17 16:24:34 ACST 2026
 MKFS_OPTIONS  -- -F /dev/mapper/test-scratch1
 MOUNT_OPTIONS -- -o acl,user_xattr /dev/mapper/test-scratch1 /mnt/scratch

 generic/633  1s ... - output mismatch (see /home/adam/xfstests/results//generic/633.out.bad)
    --- tests/generic/633.out	2022-05-11 11:25:30.816666664 +0930
    +++ /home/adam/xfstests/results//generic/633.out.bad	2026-07-17 16:25:45.033967541 +0930
    @@ -1,2 +1,4 @@
     QA output created by 633
     Silence is golden
    +utils.c: 948: openat_tmpfile_supported - Value too large for defined data type - failure: create
    +utils.c: 948: openat_tmpfile_supported - Value too large for defined data type - failure: create
    ...
    (Run 'diff -u /home/adam/xfstests/tests/generic/633.out /home/adam/xfstests/results//generic/633.out.bad'  to see the entire diff)
 Ran: generic/633
 Failures: generic/633
 Failed 1 of 1 tests

Signed-off-by: Qu Wenruo <[email protected]>
---
 src/vfs/utils.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/vfs/utils.c b/src/vfs/utils.c
index 0b435afe..d2922cc3 100644
--- a/src/vfs/utils.c
+++ b/src/vfs/utils.c
@@ -941,7 +941,11 @@ bool openat_tmpfile_supported(int dirfd)
 
 	fd = openat(dirfd, ".", O_TMPFILE | O_RDWR, S_IXGRP | S_ISGID);
 	if (fd == -1) {
-		if (errno == ENOTSUP) {
+		/*
+		 * Kernel commit 539dce114465 ("fs: refuse O_TMPFILE creation
+		 * with an unmapped fsuid or fsgid") will reject such operation.
+		 */
+		if (errno == ENOTSUP || errno == EOVERFLOW) {
 			errno = 0; /* Don't report misleading errno. */
 			return false;
 		} else {
-- 
2.51.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.