Summary: | fstab-mounted NFS drive gets two entries in Places panel | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-solid | Reporter: | Méven Car <meven29> |
Component: | general | Assignee: | Lukáš Tinkl <lukas> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kdelibs-bugs, nate, stefan.bruens |
Priority: | NOR | ||
Version: | 5.56.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/solid/c97f0b2a3076731b35435f200bd09a22859f3e03 | Version Fixed In: | 5.66 |
Sentry Crash Report: | |||
Attachments: | Screenshot of issue |
Description
Méven Car
2019-04-05 07:22:33 UTC
Before mounting: $ solid-hardware list [...] udi = '/org/kde/fstab/192.168.1.16:/home/meven/' Mount: $ solid-hardware mount '/org/kde/fstab/192.168.1.16:/home/meven/' List again: $ solid-hardware list [...] udi = '/org/kde/fstab/192.168.1.16:/home/meven/' udi = '/org/kde/fstab/192.168.1.16:/home/meven' It might illustrate the bug : the mounted device has a different udi with no '/' at the end preventing solid to deduplicate them. Looks like it. Wanna submit a patch? :) Already on it : https://phabricator.kde.org/D20301 @meven: can you provide the relevant lines from both /proc/mounts and /etc/fstab? Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! $ cat /etc/fstab 192.168.1.16:/home/meven/ /media/NFS nfs defaults,user,auto,noatime,bg 0 0 $ cat /proc/mounts 192.168.1.16:/home/meven /media/NFS nfs4 rw,nosuid,nodev,noexec,noatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.17,local_lock=none,addr=192.168.1.16 0 0 And to reiterate : $ solid-hardware list [...] udi = '/org/kde/fstab/192.168.1.16:/home/meven/' udi = '/org/kde/fstab/192.168.1.16:/home/meven' Based on reading the code I deduced that Solid::Backends::Fstab::FstabHandling::_k_updateMtabMountPointsCache does not match the device because they end up with different udi. Reviewing my settings I noticed that my remote export folder ends with a slash. And indeed once I removed the slash in my config the issue does not occur anymore. So my previous patch seems irrelevant and what we need would be to strip last slashes out of path read from /etc/fstab. Does it make sense ? It seems to be due to specific configuration: In /etc/fstab Replacing: 192.168.1.16:/home/meven/ /media/NFS nfs defaults,user,auto,noatime,bg 0 0 With 192.168.1.16:/home/meven /media/NFS nfs defaults,user,auto,noatime,bg 0 0 For instance resolves the issue. Git commit c97f0b2a3076731b35435f200bd09a22859f3e03 by Méven Car. Committed on 15/12/2019 at 07:27. Pushed by meven into branch 'master'. Ensure mounted nfs filesystems matches their fstab declared counterpart Summary: When a nfs fs is declared in /etc/fstab and the filesystem path ends with a / (like 192.168.1.16:/home/meven/ ), once mounted the detected filesystem path does not have the slash. This causes the mounted drive not to match the umounted filesystem, causing the later bug. I.e : $ solid-hardware list [...] udi = '/org/kde/fstab/192.168.1.16:/home/meven/' (fstab declared mount) udi = '/org/kde/fstab/192.168.1.16:/home/meven' (mounted drive as returned by getmntent) The patch makes the logic in Solid::Backends::Fstab::FstabHandling::deviceList matching mounted and unmounted filesytems unsensitive to their path ending with / Related: bug 390691 FIXED-IN: 5.66 Test Plan: Locally tested with Linux with a nfs drive set up with a path ending with a slash like 192.168.1.16:/home/meven/ /media/NFS nfs defaults,user,auto,noatime,bg 0 0 After patch $ solid-hardware list [...] udi = '/org/kde/fstab/192.168.1.16:/home/meven' (mounted drive as returned by getmntent) Only one icon appears for the drive in places panel in Dolphin. Not tested with getmntinfo / BSD code path, but the patch does not alter the code behavior much and don't foresee any risk there. Reviewers: bruns, #frameworks, ngraham Reviewed By: bruns, ngraham Subscribers: broulik, dhaumann, anthonyfieroni, ngraham, bruns, apol, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D21204 M +26 -3 src/solid/devices/backends/fstab/fstabhandling.cpp https://commits.kde.org/solid/c97f0b2a3076731b35435f200bd09a22859f3e03 |