diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-locktest-do-not-tie-struct-delegation-to-the-F_GETDE.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-locktest-do-not-tie-struct-delegation-to-the-F_GETDE.patch
new file mode 100644
index 0000000000..4139b9fd94
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-locktest-do-not-tie-struct-delegation-to-the-F_GETDE.patch
@@ -0,0 +1,52 @@
+From 784139a16a03cd0c6486e4b587b995e9d5ab21dd Mon Sep 17 00:00:00 2001
+From: Khem Raj <khem.raj@oss.qualcomm.com>
+Date: Wed, 29 Jul 2026 05:10:29 +0000
+Subject: [PATCH] locktest: do not tie struct delegation to the F_GETDELEG
+ guard
+
+glibc 2.43 added F_GETDELEG/F_SETDELEG to <bits/fcntl-linux.h>, but it
+does not declare struct delegation and neither does the kernel UAPI.
+
+locktest.c defined struct delegation inside "#ifndef F_GETDELEG", which
+assumes that any libc providing the fcntl commands also provides the
+struct. On glibc 2.43+ the guard is taken, the struct is never defined
+and the build fails:
+
+  locktest.c:1065:20: error: variable has incomplete type 'struct delegation'
+  locktest.c:1365:23: error: variable has incomplete type 'struct delegation'
+  locktest.c:1615:20: error: variable has incomplete type 'struct delegation'
+
+Keep the F_GETDELEG/F_SETDELEG fallbacks guarded, but define the struct
+unconditionally since no libc declares it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+ src/locktest.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/locktest.c b/src/locktest.c
+index 54ee1f0..e24a0fe 100644
+--- a/src/locktest.c
++++ b/src/locktest.c
+@@ -80,13 +80,18 @@ extern int h_errno;
+ #ifndef F_GETDELEG
+ #define F_GETDELEG	(1024 + 15)
+ #define F_SETDELEG	(1024 + 16)
++#endif
+ 
++/*
++ * glibc 2.43 added F_GETDELEG/F_SETDELEG to <bits/fcntl-linux.h> but it does
++ * not declare struct delegation, and neither does the kernel UAPI. Therefore
++ * the struct definition cannot be tied to the F_GETDELEG guard above.
++ */
+ struct delegation {
+ 	uint32_t d_flags;
+ 	uint16_t d_type;
+ 	uint16_t __pad;
+ };
+-#endif
+ 
+ static char	*prog;
+ static char	*filename = 0;
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
deleted file mode 100644
index 9fdf69ff46..0000000000
--- a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 340e708f79b824816aacfa74e330d8acdafc5129 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 14 Aug 2022 13:33:05 -0700
-Subject: [PATCH] Drop detached_mounts_propagation and remove sys/mount.h from
- vfs/utils.c
-
-with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here
-linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h
-for the mount() API prototype. Until thats resolved lets not build this
-testcase
-
-Upstream-Status: Inappropriate [Libc specific Workaround]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 6ac72b36..5472ba66 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -34,7 +34,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
- 	dio-invalidate-cache stat_test t_encrypted_d_revalidate \
- 	attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \
- 	fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \
--	detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \
-+	ext4_resize t_readdir_3 splice2pipe \
- 	uuid_ioctl t_snapshot_deleted_subvolume fiemap-fault min_dio_alignment
- 
- EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2025.04.27.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2026.07.21.bb
similarity index 93%
rename from meta-filesystems/recipes-utils/xfstests/xfstests_2025.04.27.bb
rename to meta-filesystems/recipes-utils/xfstests/xfstests_2026.07.21.bb
index 9e86b77c5e..e03290aaa0 100644
--- a/meta-filesystems/recipes-utils/xfstests/xfstests_2025.04.27.bb
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2026.07.21.bb
@@ -2,17 +2,17 @@ SUMMARY = "File system QA test suite"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
 
-SRCREV = "92c428db1fe3fa4f7bd2593788bc9b71403d59ae"
-SRCREV_unionmount = "c6ab621ac19f2b96d34cd98f244e611750e2bb23"
+SRCREV = "f8833996b76765e9f1e5650fc77470e92fcf8a82"
+SRCREV_unionmount = "f48a57d2a7db5f86ff3dbc4444c3c3041e182d7d"
 SRCREV_FORMAT = "default_unionmount"
 
 SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;tag=v${PV} \
            git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
            file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \
-           file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
            file://0001-include-libgen.h-for-basename-API-prototype.patch \
            file://0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch \
            file://0001-bstat-use-uint32_t-instead-of-__uint32_t-to-fix-buil.patch \
+           file://0001-locktest-do-not-tie-struct-delegation-to-the-F_GETDE.patch \
            "
 
 
