This is not a proper fix, discussed on http://lists.gnu.org/archive/html/bug-hurd/2009-02/msg00002.html but not finished, last mail on http://lists.gnu.org/archive/html/bug-hurd/2009-04/msg00006.html --- libdiskfs/file-utimes.c | 4 ++-- libdiskfs/node-times.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) --- a/libdiskfs/file-utimes.c +++ b/libdiskfs/file-utimes.c @@ -33,7 +33,7 @@ diskfs_S_file_utimes (struct protid *cre else { np->dn_stat.st_atim.tv_sec = atime.seconds; - np->dn_stat.st_atim.tv_nsec = atime.microseconds * 1000; + np->dn_stat.st_atim.tv_nsec = 0; np->dn_set_atime = 0; } @@ -42,7 +42,7 @@ diskfs_S_file_utimes (struct protid *cre else { np->dn_stat.st_mtim.tv_sec = mtime.seconds; - np->dn_stat.st_mtim.tv_nsec = mtime.microseconds * 1000; + np->dn_stat.st_mtim.tv_nsec = 0; np->dn_set_mtime = 0; } --- a/libdiskfs/node-times.c +++ b/libdiskfs/node-times.c @@ -53,21 +53,21 @@ diskfs_set_node_times (struct node *np) if (np->dn_set_mtime) { np->dn_stat.st_mtim.tv_sec = t.tv_sec; - np->dn_stat.st_mtim.tv_nsec = t.tv_usec * 1000; + np->dn_stat.st_mtim.tv_nsec = 0; np->dn_stat_dirty = 1; np->dn_set_mtime = 0; } if (np->dn_set_atime) { np->dn_stat.st_atim.tv_sec = t.tv_sec; - np->dn_stat.st_atim.tv_nsec = t.tv_usec * 1000; + np->dn_stat.st_atim.tv_nsec = 0; np->dn_stat_dirty = 1; np->dn_set_atime = 0; } if (np->dn_set_ctime) { np->dn_stat.st_ctim.tv_sec = t.tv_sec; - np->dn_stat.st_ctim.tv_nsec = t.tv_usec * 1000; + np->dn_stat.st_ctim.tv_nsec = 0; np->dn_stat_dirty = 1; np->dn_set_ctime = 0; }