[dolphin] [Bug 426039] New: Dolphin causing unnecessary load on network file systems

AlexDeLorenzo.dev bugzilla_noreply at kde.org
Mon Aug 31 23:28:50 BST 2020


https://bugs.kde.org/show_bug.cgi?id=426039

            Bug ID: 426039
           Summary: Dolphin causing unnecessary load on network file
                    systems
           Product: dolphin
           Version: 19.12.3
          Platform: Ubuntu Packages
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: view-engine: details mode
          Assignee: dolphin-bugs-null at kde.org
          Reporter: rare_energy at protonmail.com
                CC: kfm-devel at kde.org
  Target Milestone: ---

SUMMARY

This occurs with sshfs, as well as any file system implemented with FUSE.

When using "Details view mode", Dolphin will explore sub-directories of the
current working directory. The only columns I have displayed are "Name" and
"Modified", neither of which are dependent on information gleaned from scanning
sub-directories. I also have previews disabled for folders in Dolphin's
settings. 

To give you an example, let's say we have sshfs mounted at `/mnt/sshfs`:

    $ ls /mnt/sshfs
    (dir) example
    (dir) example2
    test.txt


If we run `dolphin /mnt/sshfs` and do absolutely nothing else but look at the
contents of the screen, in the background, Dolphin will scan the
sub-directories of the current working directory. Meaning, Dolphin will scan
`example`, `example2` and so on without the user exploring the directories
themselves. I was able to confirm that Dolphin was doing this in the background
by logging file system access and using Dolphin.


This is particularly expensive for network file systems, especially with sshfs,
as upload speeds for consumer connections are very low compared to their
download speeds. 

This can also be a literally expensive operation if the file system is a FUSE
fs over something like S3.

If the current working directory contains tens, or hundreds of folders, it
could degrade their experience as the content is loaded in the background.

It's also unnecessary wear on a disk.

For my use case, this impacts the users of one of my FUSE apps. In the app, I
set a rate limiter in front of a web API.  When Dolphin opens things in the
background, that rate limit is hit with no interaction from the user at all.
When users then do go to interact with their systems, they are rate limited
because of Dolphin's high background load, and they have diminished
experiences.

I understand that the "Size" column will count items in a folder, but I believe
you could turn that feature off at one point.  I also remember being able to
turn off pre-fetching of data from network volumes. 

"Compact view mode" and "icon view mode" do not cause Dolphin to load
sub-directories, which is what I believe to be the correct behavior, and the
behavior I believe  "Details view mode" should implement. 


--


STEPS TO REPRODUCE

1. Mount a FUSE file system like sshfs
2. Navigate to the mount point with Dolphin
3. Observe network and file system activity

OBSERVED RESULT

Dolphin will explore sub-directories of the current working directory despite,
unnecessarily draining the user's resources and providing a degraded
experience.

EXPECTED RESULT

Ideally, Dolphin won't load expense resources in the background for network and
user file-systems. These are commonly implemented via FUSE, and Dolphin
currently treats FUSE file systems as if they're local block devices instead of
what could be FUSE abstractions over expensive network and hardware operations.


 - I think "Details view mode" should behave like "Icon view mode" and "Compact
view mode" by not exploring sub-directories in the background.

 - I think users should be able to set whether or not Dolphin should explore
sub-directories while using it as a file explorer.

 - There should be a way to signify if a file system is a network file system,
and Dolphin should not issue excessive operations on file systems it can't
identify as pointing to local block devices.

 - I think Dolphin should be conservative when it encounters FUSE file systems,
too.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Ubuntu 20.04 LTS / Kernel 5.8
(available in About System)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8

ADDITIONAL INFORMATION

N/A

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the kfm-devel mailing list