Am 18.02.2026 um 14:26 hat Hanna Czenczek geschrieben:
> @@ -278,6 +390,17 @@ static int mount_fuse_export(FuseExport *exp, Error 
> **errp)
>      char *mount_opts;
>      struct fuse_args fuse_args;
>      int ret;
> +    /*
> +     * We just create the session for mounting/unmounting, no need to provide
> +     * any operations.  However, since libfuse commit 52a633a5d, we have to
> +     * provide some op struct and cannot just pass NULL (even though the 
> commit
> +     * message ("allow passing ops as NULL") seems to imply the exact 
> opposite,
> +     * as does the comment added to fuse_session_new_fn() ("To create a no-op
> +     * session just for mounting pass op as NULL.").
> +     * This is how said libfuse commit implements a no-op session 
> internally, so
> +     * do it the same way.
> +     */
> +    static const struct fuse_lowlevel_ops null_ops = { 0 };
>  
>      /*
>       * Note that these mount options differ from what we would pass to a 
> direct
> @@ -301,8 +424,8 @@ static int mount_fuse_export(FuseExport *exp, Error 
> **errp)
>      fuse_argv[3] = NULL;
>      fuse_args = (struct fuse_args)FUSE_ARGS_INIT(3, (char **)fuse_argv);
>  
> -    exp->fuse_session = fuse_session_new(&fuse_args, &fuse_ops,
> -                                         sizeof(fuse_ops), exp);
> +    exp->fuse_session = fuse_session_new(&fuse_args, &null_ops,
> +                                         sizeof(null_ops), NULL);

Bernd, is it intentional that the external interface changed in the way
the comment explains or is this accidental breakage?

Kevin


Reply via email to