diff --git a/src/borg/archiver.py b/src/borg/archiver.py index 48b9fde70..3b468db15 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -1467,6 +1467,11 @@ def do_with_lock(self, args, repository): # the encryption key (and can operate just with encrypted data). data = repository.get(Manifest.MANIFEST_ID) repository.put(Manifest.MANIFEST_ID, data) + # usually, a 0 byte (open for writing) segment file would be visible in the filesystem here. + # we write and close this file, to rather have a valid segment file on disk, before invoking the subprocess. + # we can only do this for local repositories (with .io), though: + if hasattr(repository, 'io'): + repository.io.close_segment() try: # we exit with the return code we get from the subprocess return subprocess.call([args.command] + args.args)