[LTP] [PATCH] syscalls/mount03: Add statfs f_flags member check
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Mon Oct 24 03:20:07 CEST 2022
Hi Petr
> 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?
Of course, it seems better.
Best Regards
Yang Xu
> 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