From 936fce91c6047f3810b540e1b585918e8f7a7da4 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 17 Oct 2017 06:39:31 +0200 Subject: [PATCH] update docs about hardlinked symlinks limitation (cherry picked from commit d535c6a25d7c43723979e0924fca4f6babb01377) --- borg/archive.py | 3 +++ docs/faq.rst | 3 +++ 2 files changed, 6 insertions(+) diff --git a/borg/archive.py b/borg/archive.py index 638c54b59..b914a836c 100644 --- a/borg/archive.py +++ b/borg/archive.py @@ -633,6 +633,9 @@ Number of files: {0.stats.nfiles}'''.format( return 'b' # block device def process_symlink(self, path, st): + # note: we can not support hardlinked symlinks, + # due to the dual-use of item[b'source'], see issue #2343: + # hardlinked symlinks will be archived [and extracted] as non-hardlinked symlinks. with backup_io(): source = os.readlink(path) item = {b'path': make_path_safe(path), b'source': source} diff --git a/docs/faq.rst b/docs/faq.rst index 3f00e4edb..2f4a9e119 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -94,6 +94,9 @@ Which file types, attributes, etc. are *not* preserved? Archive extraction has optional support to extract all-zero chunks as holes in a sparse file. * filesystem specific attributes, like ext4 immutable bit, see :issue:`618`. + * For hardlinked symlinks, the hardlinking can not be archived (and thus, + the hardlinking will not be done at extraction time). The symlinks will + be archived and extracted as non-hardlinked symlinks, see :issue:`2379`. Are there other known limitations? ----------------------------------