Re: [PATCH 1/1] lib: Add support bcachefs filesystem

Petr Vorel
2023-12-07T17:55:44Z

> Hi!
> > bcachefs has been merged into v6.7-rc1 [1]. Let's add it's support to
> > LTP .all_filesystems = 1 and TST_ALL_FILESYSTEMS=1.

> > [1] https://lwn.net/Articles/934692/

> > Suggested-by: Cyril Hrubis <chrubis@suse.cz>
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > Hi,

> > this should be merged after v6.7 is released.

> Agreed, although it's unlikey that they will pull bcachefs off from the
> tree now. Any way I think that we should add the support to the next
> release.

Yep, now it's 6.7-rc4. I'll prepare v2

> > So far I haven't tested all LTP tests on bcachefs temporary directory.
> > I have only tested tests which use .all_filesystems = 1 or TST_ALL_FILESYSTEMS=1.
> > So far it looks like there are only a few tests failing:

> > statvfs01.c:44: TFAIL: creat(valid_fname, 0444) failed: ENAMETOOLONG (36)

> That strange, that would mean that statvfs() reports possibly wrong
> f_namemax. Looking at the code the f_namemax is initialized to
> BCH_NAME_MAX in bch2_statfs().

> And the dirent_create_key() does:

> if (name->len > BCH_NAME_MAX)
> return ERR_PTR(-ENAMETOOLONG);

> That does not look like there is any room for a failure. Maybe we can
> print the buf.f_namemax value in the test and check if it's 512 since
> that is the value of BCH_NAME_MAX.

> > statx04.c:122: TFAIL: STATX_ATTR_COMPRESSED not supported

> This probably just needs:

> diff --git a/testcases/kernel/syscalls/statx/statx04.c b/testcases/kernel/syscalls/statx/statx04.c
> index 58296bd24..8d14cef8c 100644
> --- a/testcases/kernel/syscalls/statx/statx04.c
> +++ b/testcases/kernel/syscalls/statx/statx04.c
> @@ -97,7 +97,8 @@ static void setup(void)
> expected_mask |= attr_list[i].attr;

> /* STATX_ATTR_COMPRESSED not supported on XFS, TMPFS */
> - if (!strcmp(tst_device->fs_type, "xfs") || !strcmp(tst_device->fs_type, "tmpfs"))
> + if (!strcmp(tst_device->fs_type, "xfs") || !strcmp(tst_device->fs_type, "tmpfs") ||
> + !strcmp(tst_device->fs_type, "bcachefs")
> expected_mask &= ~STATX_ATTR_COMPRESSED;

Obviously skipping works. STATX_ATTR_COMPRESSED is not in fs/bcachefs/ directory in stat->attributes,
unlike on the other fs, so it looks like it's not supported.

> /* Attribute support was added to Btrfs statx() in kernel v4.13 */

> > fanotify13.c, fanotify15.c and fanotify16.c produce many errors.

> That is probably something for Jan Kara or Amir Goldstein.

Yep, I'll Cc them on v2 and ask for help.

Kind regards,
Petr

> > I haven't tested on machine with more NUMA nodes, thus
> > set_mempolicy03.c, set_mempolicy04.c has not been tested.