[LTP] [PATCH] SAFE_MOUNT: Fix mountflags handling for FUSE
Cyril Hrubis
chrubis@suse.cz
Mon Jun 30 14:27:19 CEST 2025
- abort tests on FUSE when particular mount flag is not implemented
- implement MS_RDONLY for FUSE
- enable statmount02 that failed previously because of missing MS_RDONLY
Reported-by: Signed-off-by: Jan Polensky <japo@linux.ibm.com>
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
lib/safe_macros.c | 13 +++++++++++--
testcases/kernel/syscalls/statmount/statmount02.c | 1 -
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index 6946cc5bc..726c9ae8e 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -942,10 +942,19 @@ int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void),
*/
if (possibly_fuse(filesystemtype)) {
char buf[1024];
+ const char *mount_ro = "";
+
+ if (mountflags & MS_RDONLY)
+ mount_ro = "-o ro";
+
+ if (mountflags & (~MS_RDONLY)) {
+ tst_brkm_(file, lineno, TBROK, cleanup_fn,
+ "FUSE mount flag(s) not implemented!");
+ }
tst_resm_(file, lineno, TINFO, "Trying FUSE...");
- snprintf(buf, sizeof(buf), "mount.%s '%s' '%s'",
- filesystemtype, source, target);
+ snprintf(buf, sizeof(buf), "mount.%s %s '%s' '%s'",
+ filesystemtype, mount_ro, source, target);
rval = tst_system(buf);
if (WIFEXITED(rval) && WEXITSTATUS(rval) == 0)
diff --git a/testcases/kernel/syscalls/statmount/statmount02.c b/testcases/kernel/syscalls/statmount/statmount02.c
index 07f877e04..f322fe930 100644
--- a/testcases/kernel/syscalls/statmount/statmount02.c
+++ b/testcases/kernel/syscalls/statmount/statmount02.c
@@ -68,7 +68,6 @@ static struct tst_test test = {
.format_device = 1,
.all_filesystems = 1,
.skip_filesystems = (const char *const []) {
- "fuse",
"btrfs",
NULL
},
--
2.49.0
More information about the ltp
mailing list