Re: [LTP] [PATCH 2/3] stat04+lstat03: fix bad blocksize mkfs option for xfs

Cyril Hrubis
2024-12-02T13:57:02Z

Hi!
> Not all filesystems use "-b 1024" to set its blocksize. XFS uses
> "-b size=1024", so this test fails as "unknown option -b 1024" on
> xfs.
>
> Signed-off-by: Zorro Lang <zlang@kernel.org>
> ---
> testcases/kernel/syscalls/lstat/lstat03.c | 8 ++++++--
> testcases/kernel/syscalls/stat/stat04.c | 8 ++++++--
> 2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/lstat/lstat03.c b/testcases/kernel/syscalls/lstat/lstat03.c
> index d48af180b..675fb56f4 100644
> --- a/testcases/kernel/syscalls/lstat/lstat03.c
> +++ b/testcases/kernel/syscalls/lstat/lstat03.c
> @@ -44,8 +44,9 @@ static void run(void)
>
> static void setup(void)
> {
> + char *opt_name="-b";
> char opt_bsize[32];
> - const char *const fs_opts[] = {opt_bsize, NULL};
> + const char *const fs_opts[] = {opt_name, opt_bsize, NULL};
^
You can just add "-b" here
instead of creating a variable.

> struct stat sb;
> int pagesize;
> int fd;
> @@ -54,7 +55,10 @@ static void setup(void)
> SAFE_STAT(".", &sb);
> pagesize = sb.st_blksize == 4096 ? 1024 : 4096;
>
> - snprintf(opt_bsize, sizeof(opt_bsize), "-b %i", pagesize);
> + if (strcmp(tst_device->fs_type, "xfs") == 0)
^
The more common style is if (!strcmp(...))
> + snprintf(opt_bsize, sizeof(opt_bsize), "size=%i", pagesize);
> + else
> + snprintf(opt_bsize, sizeof(opt_bsize), "%i", pagesize);

Otherwise it looks good.

--
Cyril Hrubis
chrubis@suse.cz