diff mbox series

[1/1] tst_supported_fs_types: Disable FUSE bcachefs

Message ID 20240118090004.2748107-1-pvorel@suse.cz
State Accepted
Headers show
Series [1/1] tst_supported_fs_types: Disable FUSE bcachefs | expand

Commit Message

Petr Vorel Jan. 18, 2024, 9 a.m. UTC
bcachefs got into the kernel in 6.7 therefore it's not much useful for
testing FUSE version.

NOTE: The original purpose for this was a failure with bcachefs-tools on
kernel without bcachefs support (e.g. kernel < 6.7):

    # LTP_SINGLE_FS_TYPE=bcachefs ./chdir01
    ...
    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)

Suggested-by: Cyril Hrubis <chrubis@suse.cz>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 lib/tst_supported_fs_types.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Li Wang Jan. 18, 2024, 9:05 a.m. UTC | #1
On Thu, Jan 18, 2024 at 5:00 PM Petr Vorel <pvorel@suse.cz> wrote:

> bcachefs got into the kernel in 6.7 therefore it's not much useful for
> testing FUSE version.
>
> NOTE: The original purpose for this was a failure with bcachefs-tools on
> kernel without bcachefs support (e.g. kernel < 6.7):
>
>     # LTP_SINGLE_FS_TYPE=bcachefs ./chdir01
>     ...
>     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)
>
> Suggested-by: Cyril Hrubis <chrubis@suse.cz>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
>

Reviewed-by: Li Wang <liwang@redhat.com>

---
>  lib/tst_supported_fs_types.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c
> index 369836717..bbbb8df19 100644
> --- a/lib/tst_supported_fs_types.c
> +++ b/lib/tst_supported_fs_types.c
> @@ -33,6 +33,11 @@ static const char *const fs_type_whitelist[] = {
>         NULL
>  };
>
> +static const char *const fs_type_fuse_blacklist[] = {
> +       "bcachefs",
> +       NULL,
> +};
> +
>  static const char *fs_types[ARRAY_SIZE(fs_type_whitelist)];
>
>  static int has_mkfs(const char *fs_type)
> @@ -96,6 +101,11 @@ static enum tst_fs_impl has_kernel_support(const char
> *fs_type)
>
>         SAFE_RMDIR(template);
>
> +       if (tst_fs_in_skiplist(fs_type, fs_type_fuse_blacklist)) {
> +               tst_res(TINFO, "Skipping %s because of FUSE blacklist",
> fs_type);
> +               return TST_FS_UNSUPPORTED;
> +       }
> +
>         /* Is FUSE supported by kernel? */
>         if (fuse_supported == -1) {
>                 ret = open("/dev/fuse", O_RDWR);
> --
> 2.43.0
>
>
Cyril Hrubis Jan. 18, 2024, 10:05 a.m. UTC | #2
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
Petr Vorel Jan. 18, 2024, 10:23 a.m. UTC | #3
Hi Li, Cyril,

thanks, merged.

Kind regards,
Petr
diff mbox series

Patch

diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c
index 369836717..bbbb8df19 100644
--- a/lib/tst_supported_fs_types.c
+++ b/lib/tst_supported_fs_types.c
@@ -33,6 +33,11 @@  static const char *const fs_type_whitelist[] = {
 	NULL
 };
 
+static const char *const fs_type_fuse_blacklist[] = {
+	"bcachefs",
+	NULL,
+};
+
 static const char *fs_types[ARRAY_SIZE(fs_type_whitelist)];
 
 static int has_mkfs(const char *fs_type)
@@ -96,6 +101,11 @@  static enum tst_fs_impl has_kernel_support(const char *fs_type)
 
 	SAFE_RMDIR(template);
 
+	if (tst_fs_in_skiplist(fs_type, fs_type_fuse_blacklist)) {
+		tst_res(TINFO, "Skipping %s because of FUSE blacklist", fs_type);
+		return TST_FS_UNSUPPORTED;
+	}
+
 	/* Is FUSE supported by kernel? */
 	if (fuse_supported == -1) {
 		ret = open("/dev/fuse", O_RDWR);