|
@@ -15,7 +15,7 @@ from .hashindex import ChunkIndex, ChunkIndexEntry
|
|
|
from .helpers import Location
|
|
|
from .helpers import Error
|
|
|
from .helpers import get_cache_dir, get_security_dir
|
|
|
-from .helpers import decode_dict, int_to_bigint, bigint_to_int, bin_to_hex
|
|
|
+from .helpers import bin_to_hex
|
|
|
from .helpers import format_file_size
|
|
|
from .helpers import yes
|
|
|
from .helpers import remove_surrogates
|
|
@@ -350,7 +350,7 @@ Chunk index: {0.total_unique_chunks:20d} {0.total_chunks:20d}"""
|
|
|
# this is to avoid issues with filesystem snapshots and mtime granularity.
|
|
|
# Also keep files from older backups that have not reached BORG_FILES_CACHE_TTL yet.
|
|
|
entry = FileCacheEntry(*msgpack.unpackb(item))
|
|
|
- if entry.age == 0 and bigint_to_int(entry.mtime) < self._newest_mtime or \
|
|
|
+ if entry.age == 0 and entry.mtime < self._newest_mtime or \
|
|
|
entry.age > 0 and entry.age < ttl:
|
|
|
msgpack.pack((path_hash, entry), fd)
|
|
|
pi.output('Saving cache config')
|
|
@@ -567,7 +567,7 @@ Chunk index: {0.total_unique_chunks:20d} {0.total_chunks:20d}"""
|
|
|
if not entry:
|
|
|
return None
|
|
|
entry = FileCacheEntry(*msgpack.unpackb(entry))
|
|
|
- if (entry.size == st.st_size and bigint_to_int(entry.mtime) == st.st_mtime_ns and
|
|
|
+ if (entry.size == st.st_size and entry.mtime == st.st_mtime_ns and
|
|
|
(ignore_inode or entry.inode == st.st_ino)):
|
|
|
self.files[path_hash] = msgpack.packb(entry._replace(age=0))
|
|
|
return entry.chunk_ids
|
|
@@ -577,6 +577,6 @@ Chunk index: {0.total_unique_chunks:20d} {0.total_chunks:20d}"""
|
|
|
def memorize_file(self, path_hash, st, ids):
|
|
|
if not (self.do_files and stat.S_ISREG(st.st_mode)):
|
|
|
return
|
|
|
- entry = FileCacheEntry(age=0, inode=st.st_ino, size=st.st_size, mtime=int_to_bigint(st.st_mtime_ns), chunk_ids=ids)
|
|
|
+ entry = FileCacheEntry(age=0, inode=st.st_ino, size=st.st_size, mtime=st.st_mtime_ns, chunk_ids=ids)
|
|
|
self.files[path_hash] = msgpack.packb(entry)
|
|
|
self._newest_mtime = max(self._newest_mtime or 0, st.st_mtime_ns)
|