Hi, On Sat, Mar 22, 2025 at 1:06 PM Jeremy Bícha <jeremy.bi...@canonical.com> wrote: > On Sat, Mar 22, 2025 at 7:51 AM Jens Yllman <j...@yllman.se> wrote: > > So, the question is fuse doing this wrong or is gvfs-fuse doing it wrong? > > I don't know. Someone should report the issue to the gvfs maintainers also. Quick check done. It seems in the past FUSE capabilities were a 32 bit bitfield. It was moved to a 64 bit struct, causing an ABI break. It was handled by the SONAME bump and more importantly the FUSE helper functions started to use the new bitfield. See the mentioned bitfield comments [1][2] in the FUSE header. Both say use the FUSE helper functions fuse_set_feature_flag() and fuse_unset_feature_flag() instead of accessing internal parts directly. But then gvfs (even the one in Trixie / Sid) manipulates the old 32 bit bitfield directly [3] (and at other places). Meaning it is a gvfs bug, a proposed fix is already provided [4]. In very short, gvfs needs to be fixed. I can't do anything on the FUSE side.
Regards, Laszlo/GCS [1] https://github.com/libfuse/libfuse/blob/fuse-3.17.x/include/fuse_common.h#L596 [2] https://github.com/libfuse/libfuse/blob/fuse-3.17.x/include/fuse_common.h#L699 [3] https://gitlab.gnome.org/GNOME/gvfs/-/blob/1.57.2/client/gvfsfusedaemon.c?ref_type=tags#L2478 [4] https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/248/diffs?commit_id=77581bc426025bd04bd7ccb3b61e9c20114bc44b