def fast_deduplication_backup(self, old_backup_entry, process_bar):
        """
        We can just link a old backup entry

        :param latest_backup: old BackupEntry model instance
        :param process_bar: tqdm process bar
        """
        # TODO: merge code with parts from deduplication_backup()
        src_path = self.dir_path.resolved_path
        log.debug("*** fast deduplication backup: '%s'", src_path)
        old_file_path = old_backup_entry.get_backup_path()

        if not self.path_helper.abs_dst_path.is_dir():
            try:
                self.path_helper.abs_dst_path.makedirs(mode=phlb_config.default_new_path_mode)
            except OSError as err:
                raise BackupFileError("Error creating out path: %s" % err)
        else:
            assert not self.path_helper.abs_dst_filepath.is_file(), (
                "Out file already exists: %r" % self.path_helper.abs_src_filepath
            )

        with self.path_helper.abs_dst_hash_filepath.open("w") as hash_file:
            try:
                old_file_path.link(self.path_helper.abs_dst_filepath)  # call os.link()
            except OSError as err:
                log.error("Can't link '%s' to '%s': %s" % (old_file_path, self.path_helper.abs_dst_filepath, err))
                log.info("Mark %r with 'no link source'.", old_backup_entry)
                old_backup_entry.no_link_source = True
                old_backup_entry.save()

                # do a normal copy backup
                self.deduplication_backup(process_bar)
                return

            hash_hexdigest = old_backup_entry.content_info.hash_hexdigest
            hash_file.write(hash_hexdigest)

        file_size = self.dir_path.stat.st_size
        if file_size > 0:
            # tqdm will not accept 0 bytes files ;)
            process_bar.update(file_size)

        BackupEntry.objects.create(
            backup_run=self.backup_run,
            backup_entry_path=self.path_helper.abs_dst_filepath,
            hash_hexdigest=hash_hexdigest,
        )

        if self._SIMULATE_SLOW_SPEED:
            log.error("Slow down speed for tests!")
            time.sleep(self._SIMULATE_SLOW_SPEED)

        self.fast_backup = True  # Was a fast backup used?
        self.file_linked = True