Thunar slow when accessing SMB shares in Fedora 42 / Qubes 4.3

I recently upgraded my 4.2 installation to 4.3 and at the same time migrated from Fedora 41 to F42 as a TemplateVM.

In /rw/config/rc.local I have a few network shares that I automount by calling mount <sharename> <localpath> -t cifs -o credentials=<credfile>,x-systemd.automount,x-systemd-device-timeout=10,x-systemd.idle-timeout=60,uid=1000,gid=1000".

I noticed a significant performance drop when accessing the share location via Thunar and I think that this is related to the upgrade (more likely F42 than Qubes 4.3). When browsing the mounted local path, Thunar takes up to several seconds until it shows the folder content and seems to reload everything whenever I enter or exit a folder.

Notice that the connection goes over WiFi and through a VPN and I know that SMB/CIFS is notoriously bad in higher-latency scenarios. However, I have used this setup for years and now just after the upgrade I notice a big performance decrease. Therefore I think that this is likely related to the upgrade.

There is no gvfs-mount involved (which is another thing that’s known for bad performance).

Has anyone experienced similar issues after upgrading? Any idea what I could change to further test to boost performance?

Edit: It seems that this isn’t just Thunar. A ls -al in the same folder is slow as well.

I think the mount.cifs caching strategy changed a while ago to be reduced. You should check cifs mount option to force the caching, I’m quite sure it will solve your issue.

Thanks for the hint. According to the man page of mount.cifs, caching changed from “loose” to “strict” in Kernel 3.7. That is quite some time before F42 ;).

I validated (by listing the existing shares with mount) that, indeed, caching=strict was used by all shares. I remounted with caching=loose but do not notice any difference. Strangely, the behaviour (as described, long loading times every time the folder is accessed) feels as if there is no caching at all.

Listing of a share with 120 folders takes about six (!) seconds.

Switching back to Fedora 41 (just realized I still have a clone of that template) shows about the same timing on the command line, but navigating the shares in Thunar feels much faster. Could there be any caching in Thunar itself that masquerades the low latency, which was changed/deactivated in Fedora 42?

Do you see the same speed change when using ls in command line?

Erf, I jumped a line while reading.

Did you try using thunar to access the remote without using mount.cifs? This would use gvfs, the implementation is way different.

The short version is that I migrated away from gvfs a while ago due to various performance and usability issues. At the time, I still used the (then-default) gnome-based Fedora templates and Gnome’s gio backend has some unresolved issues itself (I think I still have an open bug report with the Gnome project regarding this).

To be able to test this, I need to install gvfs-smb, which isn’t default (at least in the XFCE-based templates). Will report back once I did that.

Edit: No idea if you are informed for post edits @solene, therefore I’ll ping you directly. Installed gfvs-smb and re-tested. No idea how I can cd to a gvfs mount nowadays, they used to be available in /run/user/<uid>/gvfs/. In Thunar however, the gvfs mount is even slower than the cifs mount. Manual stopwatch timing indicates about two to three times worse performance (I measured up to 24(!) seconds of loading time).

1 Like

I’m using SMB shares in r4.2 with FC42 and have no “several seconds to show folder”.
Maybe because my folders aren’t big. Just 40-100 files/folders.
And I don’t use thumbnails ever in any of my systems.