Integrate KIO Slaves into file system using FUSE gateway
Closed, ResolvedPublic


KioFuse is a FUSE daemon to access KIO URLs. This is only the backend that mounts actual KIO URLs at local paths.

What is also needed is infrastructure and ideas how this should be integrated into KIO and especially Dolphin.

For example, the user clicks on a Networks link for Other file managers already mount FUSE at this step, because they cannot access the URL otherwise. But this works fine in Dolphin, and we should not change it to go through FUSE. At this point, no FUSE connection is needed.

We need to find a good workflow for manual mounting, and investigate what can be done to do automatic mounting.

As far as I know, gvfs exposes a D-Bus API, so that it should even be possible to mount shares to local paths from Dolphin, if the user has gvfs installed, without linking to any GLib dependencies.

This tasks collects sub-tasks to handle before bug 75324 can be considered resolved.

cfeck created this task.Jan 3 2019, 11:29 PM

What GNOME does is the first time you navigate to a share in Nautilus, it becomes visibly mounted (with an unmount button and everything) in their Places Panel equivalent. However, the mount is only used for non-GNOME apps that don't use GIO. GIO-using GNOME apps access it directly with the GIO equivalent of KIO's smb://share/url/ syntax, which is asynchronous like KIO is. Only 3rd-party apps use the mount and are vulnerable to hangs.

I don't know how this is implemented technically, but it's quite clever. If we do something similar, that would limit the possibility of hangs to 3rd-party apps, and keep the quality and responsiveness of KDE software from degrading as a part of this effort.

@ngraham I'll be having some free time this summer. I was thinking if we could solidify this task into exactly what we need to do so we can get a proposal in for GSoC?

ngraham added a subscriber: fvogt.Mar 14 2019, 12:34 AM

I'm not involved in GSoC this year but maybe you can talk to @fvogt about it. I think he may have already started the work, but might appreciate extra eyes and fingers! :)

ngraham closed this task as Resolved.Dec 6 2019, 4:55 PM

This is currently in progress and I don't think we need this task open anymore. The patches are scattered across various bits of infrastructure so it won't be useful for linking them here.