diff options
Diffstat (limited to 'ftpfs/dir.c')
-rw-r--r-- | ftpfs/dir.c | 14 |
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 |