Bug 483237 - NFS ioworker needs porting to KF6
Summary: NFS ioworker needs porting to KF6
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 24.02.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-11 13:53 UTC by cow70296
Modified: 2024-04-27 09:04 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Error message (8.94 KB, image/png)
2024-03-11 13:53 UTC, cow70296
Details

Note You need to log in before you can comment on or make changes to this bug.
Description cow70296 2024-03-11 13:53:39 UTC
Created attachment 166955 [details]
Error message

SUMMARY
After update, dolphin can no longer access my NFS directory location

STEPS TO REPRODUCE
1. Try accessing an NFS directory

OBSERVED RESULT
Red notification that says: "Unable to create KIO worker. Unknown protocol 'nfs'.

EXPECTED RESULT
NFS directory contents are displayed

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.7.9-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx
Memory: 13.5 GiB of RAM
Graphics Processor: AMD Radeon Vega 10 Graphics
Manufacturer: LENOVO
Product Name: 20NF0018US
System Version: ThinkPad E595
Comment 1 Nicolas Fella 2024-03-11 20:28:54 UTC
Currently we don't have a KIO worker for nfs because the existing one wasn't ported to Qt6
Comment 2 Jonathan Marten 2024-03-11 21:43:52 UTC
Can you confirm how you "access my NFS directory location"?

If the NFS filesystem is mounted on the system in the usual way, either by root or by the automounter, then it can be accessed through Dolphin in the same way as any other local filesystem.

The NFS ioworker allows NFS servers to be accessed without needing mounting or root access, via a URL starting "nfs://server/path...".  However, the build of this has been disabled (since October 2023) and it has been removed from kio-extras (since February 2024) since porting work to KF6 is required.
Comment 3 Jonathan Marten 2024-03-11 21:45:01 UTC
Bug update clash
Comment 4 cow70296 2024-03-12 11:48:43 UTC
(In reply to Jonathan Marten from comment #2)
> Can you confirm how you "access my NFS directory location"?
> 
> If the NFS filesystem is mounted on the system in the usual way, either by
> root or by the automounter, then it can be accessed through Dolphin in the
> same way as any other local filesystem.
> 
> The NFS ioworker allows NFS servers to be accessed without needing mounting
> or root access, via a URL starting "nfs://server/path...".  However, the
> build of this has been disabled (since October 2023) and it has been removed
> from kio-extras (since February 2024) since porting work to KF6 is required.

Right, I have the URL saved as a bookmark so that's why I was getting the error
Comment 5 Jonathan Marten 2024-03-13 20:26:31 UTC
Setting to CONFIRMED as a reminder to port the NFS ioworker.
Comment 6 Méven Car 2024-04-09 05:29:33 UTC
On-going MR: https://invent.kde.org/network/kio-extras/-/merge_requests/343
Comment 7 Romário Rios 2024-04-27 09:04:15 UTC
Git commit 29812ce5eca140c61337ac8a36aa91a0b1bc5ab7 by Luiz Romário Santana Rios.
Committed on 01/04/2024 at 02:40.
Pushed by meven into branch 'kio-extras-work/romariorios/nfs-kf6'.

Migrate NFS KIO worker to KIO::WorkerBase

Some necessary changes included

- Making every function that called setError return WorkerResult
- Making getFileHandle return an expected/result-like result to
  ensure any errors getting the file handle are passed along to
  the caller
- Update virtual method implementations to return WorkerResult

Due to the vast differences in error reporting between KF5's SlaveBase
and KF6's WorkerBase, some of the error logic might have been altered

M  +154  -200  nfs/kio_nfs.cpp
M  +67   -51   nfs/kio_nfs.h
M  +325  -305  nfs/nfsv2.cpp
M  +14   -14   nfs/nfsv2.h
M  +388  -360  nfs/nfsv3.cpp
M  +16   -16   nfs/nfsv3.h

https://invent.kde.org/network/kio-extras/-/commit/29812ce5eca140c61337ac8a36aa91a0b1bc5ab7