summaryrefslogtreecommitdiff
path: root/ftpfs/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'ftpfs/dir.c')
-rw-r--r--ftpfs/dir.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/ftpfs/dir.c b/ftpfs/dir.c
index 9e550ce8..6ae5facc 100644
--- a/ftpfs/dir.c
+++ b/ftpfs/dir.c
@@ -483,8 +483,9 @@ ftpfs_refresh_node (struct node *node)
if (!err && entry->noent)
err = ENOENT;
}
- else
+ else if (*(entry->name))
{
+ /* The root node is treated seperately below. */
struct ftp_conn *conn;
err = ftpfs_get_ftp_conn (dir->fs, &conn);
@@ -518,6 +519,17 @@ ftpfs_refresh_node (struct node *node)
entry->name_timestamp = timestamp;
}
}
+ else
+ {
+ /* Refresh the root node with the old stat
+ information. */
+ struct refresh_entry_state res;
+ res.entry = entry;
+ res.timestamp = timestamp;
+ err = update_old_entry (entry->name,
+ &netfs_root_node->nn_stat,
+ NULL, &res);
+ }
}
if ((entry->stat.st_mtime < node->nn_stat.st_mtime