mbox series

[v2,0/3] Add support bcachefs filesystem

Message ID 20231207194011.273027-1-pvorel@suse.cz (mailing list archive)
Headers show
Series Add support bcachefs filesystem | expand

Message

Petr Vorel Dec. 7, 2023, 7:40 p.m. UTC
Hi all,

@Amir @Jan, could you please have look on fanotify failures on Bcachefs?
fanotify13.c, fanotify15.c and fanotify16.c produce many errors.

To test, just apply this patchset and then run with LTP_SINGLE_FS_TYPE:

# LTP_SINGLE_FS_TYPE=bcachefs ./fanotify15

changes v1->v2:
Two new commits:
* lib: Add Bcachefs magic
* statx04: Skip STATX_ATTR_COMPRESSED on Bcachefs

Petr Vorel (3):
  lib: Add Bcachefs magic
  lib: Add support bcachefs filesystem to .all_filesystems
  statx04: Skip STATX_ATTR_COMPRESSED on Bcachefs

 include/tst_fs.h                          | 3 +++
 lib/tst_fs_type.c                         | 2 ++
 lib/tst_supported_fs_types.c              | 2 ++
 testcases/kernel/syscalls/statx/statx04.c | 5 +++--
 4 files changed, 10 insertions(+), 2 deletions(-)

Comments

Jan Kara Dec. 12, 2023, 2:48 p.m. UTC | #1
On Thu 07-12-23 20:40:08, Petr Vorel wrote:
> Hi all,
> 
> @Amir @Jan, could you please have look on fanotify failures on Bcachefs?
> fanotify13.c, fanotify15.c and fanotify16.c produce many errors.
> 
> To test, just apply this patchset and then run with LTP_SINGLE_FS_TYPE:
> 
> # LTP_SINGLE_FS_TYPE=bcachefs ./fanotify15

I suspect some catch with fsids but we'll see... I hopefully get to this
tomorrow.

								Honza

> changes v1->v2:
> Two new commits:
> * lib: Add Bcachefs magic
> * statx04: Skip STATX_ATTR_COMPRESSED on Bcachefs
> 
> Petr Vorel (3):
>   lib: Add Bcachefs magic
>   lib: Add support bcachefs filesystem to .all_filesystems
>   statx04: Skip STATX_ATTR_COMPRESSED on Bcachefs
> 
>  include/tst_fs.h                          | 3 +++
>  lib/tst_fs_type.c                         | 2 ++
>  lib/tst_supported_fs_types.c              | 2 ++
>  testcases/kernel/syscalls/statx/statx04.c | 5 +++--
>  4 files changed, 10 insertions(+), 2 deletions(-)
> 
> -- 
> 2.43.0
>
Jan Kara Dec. 13, 2023, 4:51 p.m. UTC | #2
On Tue 12-12-23 15:48:21, Jan Kara wrote:
> On Thu 07-12-23 20:40:08, Petr Vorel wrote:
> > Hi all,
> > 
> > @Amir @Jan, could you please have look on fanotify failures on Bcachefs?
> > fanotify13.c, fanotify15.c and fanotify16.c produce many errors.
> > 
> > To test, just apply this patchset and then run with LTP_SINGLE_FS_TYPE:
> > 
> > # LTP_SINGLE_FS_TYPE=bcachefs ./fanotify15
> 
> I suspect some catch with fsids but we'll see... I hopefully get to this
> tomorrow.

Ok, this was a bug in bch_encode_fh(). Fix submitted.

								Honza
Cyril Hrubis Jan. 8, 2024, 10:14 a.m. UTC | #3
Hi!
I suppose that it's fine to merge the first two patches to enable
bcachefs in LTP before there release.

For the first two patches:

Reviewed-by: Cyril Hrubis <chrubis@suse.cz>


For the last patch that disables check for STATX_ATTR_COMPRESSED it
looks like this is missing plumbing in bcachefs so I would avoid adding
workarounds into LTP for now.
Petr Vorel Jan. 8, 2024, 8:04 p.m. UTC | #4
Hi Cyril,

> Hi!
> I suppose that it's fine to merge the first two patches to enable
> bcachefs in LTP before there release.

> For the first two patches:

> Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

Thanks a lot, merged these two. We now have bcachefs support in LTP :).


> For the last patch that disables check for STATX_ATTR_COMPRESSED it
> looks like this is missing plumbing in bcachefs so I would avoid adding
> workarounds into LTP for now.

Sure, it makes sense. Hopefully Kent finds time to fix it soon.

Kind regards,
Petr
pvorel Jan. 11, 2024, 2:05 p.m. UTC | #5
Hi all,

I'm sorry I haven't tested LTP with bcachefs-tools and kernel < 6.7. 
Quite a lot of tests fails:

# LTP_SINGLE_FS_TYPE=bcachefs ./chdir01
tst_buffers.c:56: TINFO: Test is using guarded buffers
tst_device.c:96: TINFO: Found free device 0 '/dev/loop0'
tst_test.c:1709: TINFO: LTP version: 20230929-269-g958402a95
tst_test.c:1593: TINFO: Timeout per run is 0h 00m 30s
tst_supported_fs_types.c:151: TINFO: WARNING: testing only bcachefs
tst_supported_fs_types.c:122: TINFO: FUSE does support bcachefs
tst_supported_fs_types.c:57: TINFO: mkfs.bcachefs does exist
tst_test.c:1669: TINFO: === Testing on bcachefs ===
tst_test.c:1117: TINFO: Formatting /dev/loop0 with bcachefs opts='' 
extra opts=''
tst_test.c:1131: TINFO: Mounting /dev/loop0 to 
/tmp/LTP_chdwqhGtZ/mntpoint fstyp=bcachefs flags=0
tst_test.c:1131: TBROK: mount(/dev/loop0, mntpoint, bcachefs, 0, (nil)) 
failed: ENODEV (19)

Library fails on safe_mount(). I wonder if we should check for kernel >= 
6.7 in case of bcachefs, or if we should return 0 in safe_mount() in 
case of bcachefs and errno == ENODEV (and possibly kernel < 6.7).

Kind regards,
Petr