diff --git a/src/borg/fuse.py b/src/borg/fuse.py index 98b8bd6d2..8bd619ab3 100644 --- a/src/borg/fuse.py +++ b/src/borg/fuse.py @@ -173,26 +173,15 @@ class FuseOperations(llfuse.Operations): entry.st_blksize = 512 entry.st_blocks = dsize / 512 # note: older archives only have mtime (not atime nor ctime) + mtime_ns = item.mtime if have_fuse_xtime_ns: - entry.st_mtime_ns = item.mtime - if 'atime' in item: - entry.st_atime_ns = item.atime - else: - entry.st_atime_ns = item.mtime - if 'ctime' in item: - entry.st_ctime_ns = item.ctime - else: - entry.st_ctime_ns = item.mtime + entry.st_mtime_ns = mtime_ns + entry.st_atime_ns = item.get('atime', mtime_ns) + entry.st_ctime_ns = item.get('ctime', mtime_ns) else: - entry.st_mtime = item.mtime / 1e9 - if 'atime' in item: - entry.st_atime = item.atime / 1e9 - else: - entry.st_atime = item.mtime / 1e9 - if 'ctime' in item: - entry.st_ctime = item.ctime / 1e9 - else: - entry.st_ctime = item.mtime / 1e9 + entry.st_mtime = mtime_ns / 1e9 + entry.st_atime = item.get('atime', mtime_ns) / 1e9 + entry.st_ctime = item.get('ctime', mtime_ns) / 1e9 return entry def listxattr(self, inode, ctx=None):