From 37430beda3f9decfe59be3a4e11c6793727dc8c4 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 18 Apr 2022 09:03:37 +0200 Subject: [PATCH] fix transaction rollback: use files cache filename as found in txn.active, fixes #6353 --- src/borg/cache.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/borg/cache.py b/src/borg/cache.py index 4e6de052a..46848c8da 100644 --- a/src/borg/cache.py +++ b/src/borg/cache.py @@ -234,6 +234,10 @@ def files_cache_name(): return 'files.' + suffix if suffix else 'files' +def discover_files_cache_name(path): + return [fn for fn in os.listdir(path) if fn == 'files' or fn.startswith('files.')][0] + + class CacheConfig: def __init__(self, repository, path=None, lock_wait=None): self.repository = repository @@ -650,7 +654,7 @@ class LocalCache(CacheStatsMixin): if os.path.exists(txn_dir): shutil.copy(os.path.join(txn_dir, 'config'), self.path) shutil.copy(os.path.join(txn_dir, 'chunks'), self.path) - shutil.copy(os.path.join(txn_dir, files_cache_name()), self.path) + shutil.copy(os.path.join(txn_dir, discover_files_cache_name(txn_dir)), self.path) os.rename(txn_dir, os.path.join(self.path, 'txn.tmp')) if os.path.exists(os.path.join(self.path, 'txn.tmp')): shutil.rmtree(os.path.join(self.path, 'txn.tmp'))