[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