bruns created this revision. bruns added a reviewer: Frameworks. Herald added a project: Frameworks. Herald added a subscriber: kde-frameworks-devel. bruns requested review of this revision.
REVISION SUMMARY In case the fstab is deleted (caused by editing it), the watch will be removed. The code already partially dealed with this, i.e. it tried to readd the watch, but did not check if the operation succeeded and dropped any further changes if not. Keep a watch on the containing folder and readd the fstab on change events. Unfortunately QFilesystemWatcher does not allow fine granular change events, though as /etc/ is likely mostly silent this should not matter much. The bug becomes apparent when e.g. editing the fstab with VIM, which has a quite broken implementation of creating temporary/backup files during save: it moves away the original file and creates the new file directly under the original name, instead of using a atomic rename. TEST PLAN 1. solid-hardware listen 2. open fstab with vi, save a few times Without the change, solid will loose the watch sooner or later. Depends on D28779 <https://phabricator.kde.org/D28779> REPOSITORY R245 Solid BRANCH submit REVISION DETAIL https://phabricator.kde.org/D28780 AFFECTED FILES src/solid/devices/backends/fstab/fstabwatcher.cpp src/solid/devices/backends/fstab/fstabwatcher.h To: bruns, #frameworks Cc: kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns