Nautilus's debug logs reveal that this code is hit immediately before Nautilus
changes to the parent directory:
# file: nautilus-bookmark.c
# gitweb: https://git.gnome.org/browse/nautilus/tree/libnautilus-private/nautilus-bookmark.c?h=3.20.0#n118
static void
bookmark_file_changed_callback (NautilusFile *file, NautilusBookmark *bookmark)
{
...
if (nautilus_file_is_gone (file) || nautilus_file_is_in_trash (file)) {
/* The file we were monitoring has been trashed, deleted,
* or moved in a way that we didn't notice. We should make
* a spanking new NautilusFile object for this
* location so if a new file appears in this place
* we will notice. However, we can't immediately do so
* because creating a new NautilusFile directly as a result
* of noticing a file goes away may trigger i/o on that file
* again, noticeing it is gone, leading to a loop.
* So, the new NautilusFile is created when the bookmark
* is used again. However, this is not really a problem, as
* we don't want to change the icon or anything about the
* bookmark just because its not there anymore.
*/
DEBUG ("%s: trashed", nautilus_bookmark_get_name (bookmark)); nautilus_bookmark_disconnect_file (bookmark);
} else {
...
I assume that G_FILE_MONITOR_EVENT_UNMOUNTED indirectly triggers this callback.
As a workaround, I simply removed the 'x-systemd.idle-timeout' option from fstab.
This affects me too. Using Fedora 24 with nautilus- 3.20.1- 1.fc24. x86_64. rpm.
The problematic mountpoint in fstab is:
daisy.local:/ /net/daisy nfs noauto, tcp,x-systemd. automount, x-systemd. idle-timeout= 4s 0 0
Nautilus's debug logs reveal that this code is hit immediately before Nautilus
changes to the parent directory:
# file: nautilus-bookmark.c /git.gnome. org/browse/ nautilus/ tree/libnautilu s-private/ nautilus- bookmark. c?h=3.20. 0#n118 file_changed_ callback (NautilusFile *file,
NautilusBookma rk *bookmark) file_is_ gone (file) ||
nautilus_ file_is_ in_trash (file)) { bookmark_ get_name (bookmark));
nautilus_ bookmark_ disconnect_ file (bookmark);
# gitweb: https:/
static void
bookmark_
{
...
if (nautilus_
/* The file we were monitoring has been trashed, deleted,
* or moved in a way that we didn't notice. We should make
* a spanking new NautilusFile object for this
* location so if a new file appears in this place
* we will notice. However, we can't immediately do so
* because creating a new NautilusFile directly as a result
* of noticing a file goes away may trigger i/o on that file
* again, noticeing it is gone, leading to a loop.
* So, the new NautilusFile is created when the bookmark
* is used again. However, this is not really a problem, as
* we don't want to change the icon or anything about the
* bookmark just because its not there anymore.
*/
DEBUG ("%s: trashed", nautilus_
} else {
...
I assume that G_FILE_ MONITOR_ EVENT_UNMOUNTED indirectly triggers this callback.
As a workaround, I simply removed the 'x-systemd. idle-timeout' option from fstab.