[LTP] [PATCH] syscalls/mount03: Add statfs f_flags member check

Petr Vorel pvorel@suse.cz
Sat Oct 22 00:13:51 CEST 2022


Hi Xu,

Reviewed-by: Petr Vorel <pvorel@suse.cz>

>  static void run(unsigned int n)
>  {
>  	struct tcase *tc = &tcases[n];
> +	struct statfs stfs;

>  	tst_res(TINFO, "Testing flag %s", tc->desc);

> @@ -159,6 +160,11 @@ static void run(unsigned int n)
>  	if (tc->test)
>  		tc->test();

> +	SAFE_STATFS(MNTPOINT, &stfs);
> +	if (stfs.f_flags & (n == 3 ? MS_REMOUNT : tc->flag))
Wouldn't it be better to add another struct member for this check?
See patch below.

Kind regards,
Petr

> +		tst_res(TPASS, "statfs() gets the correct mount flag");
> +	else
> +		tst_res(TFAIL, "statfs() gets the incorrect mount flag");
>  	cleanup();
>  }

diff --git testcases/kernel/syscalls/mount/mount03.c testcases/kernel/syscalls/mount/mount03.c
index 297f89838..c4d3c110a 100644
--- testcases/kernel/syscalls/mount/mount03.c
+++ testcases/kernel/syscalls/mount/mount03.c
@@ -114,16 +114,18 @@ static void test_noatime(void)
 	TST_EXP_EQ_LI(st.st_atime, atime);
 }
 
-#define FLAG_DESC(x) .flag = x, .desc = #x
+#define FLAG_DESC(x) .flag = x, .flag2 = x, .desc = #x
+#define FLAG_DESC2(x) .flag2 = x, .desc = #x
 static struct tcase {
 	unsigned int flag;
+	unsigned int flag2;
 	char *desc;
 	void (*test)(void);
 } tcases[] = {
 	{FLAG_DESC(MS_RDONLY), test_rdonly},
 	{FLAG_DESC(MS_NODEV), test_nodev},
 	{FLAG_DESC(MS_NOEXEC), test_noexec},
-	{MS_RDONLY, "MS_REMOUNT", test_remount},
+	{MS_RDONLY, FLAG_DESC2(MS_REMOUNT), test_remount},
 	{FLAG_DESC(MS_NOSUID), test_nosuid},
 	{FLAG_DESC(MS_NOATIME), test_noatime},
 };
@@ -161,7 +163,7 @@ static void run(unsigned int n)
 		tc->test();
 
 	SAFE_STATFS(MNTPOINT, &stfs);
-	if (stfs.f_flags & (n == 3 ? MS_REMOUNT : tc->flag))
+	if (stfs.f_flags & tc->flag2)
 		tst_res(TPASS, "statfs() gets the correct mount flag");
 	else
 		tst_res(TFAIL, "statfs() gets the incorrect mount flag");


More information about the ltp mailing list