bareos: master d7a0d7eb

Author Committer Branch Timestamp Parent
Sebastian Sura Bareos Bot master 2023-03-14 13:11 master 46617892 Pending
Changeset bugfix: hardlink: fix not sending data on exclude

Currently the first hardlinked file encountered is used as the "main"
hardlinked file; that means only that copy gets send to the sd. The
problem arises if that file does not get send to the sd after
all (maybe because it got excluded). Currently the sd would not get
send any copy of the file contents in that case.

We fix this by checking if a digest exists (the digest gets written
after the file was send) and in case its missing, the current file
will get get chosen as the real "main file". We do this by
1) setting ff_pkt->linked to the CurLink and
2) by overwriting the filename inside the CurLink.
To enable the second part we needed to change how the CurLink
allocates memory for the string. Now its just a pointer to some
memory instead of memory directly after the curlink itself.
mod - core/src/findlib/find.h Diff File
mod - core/src/findlib/find_one.cc Diff File
mod - core/src/findlib/hardlink.cc Diff File