anchor.diff:      connection_pid :: pid(),
       tar_stream :: tar_utils:stream(),
       send_retry_delay = 100 :: time:millis(),
  -    follow_symlinks_policy = external :: tree_traverse:symlink_resolution_policy()
  +    follow_symlinks_policy = external :: tree_traverse:symlink_resolution_policy(),
  +    root_dir_path :: file_meta:path() | undefined
   }).
   
   -type state() :: #state{}.
  
positive.code: check_result({error, ?EPERM}) -> ignored;
  check_result({error, ?EACCES}) -> ignored;
  check_result({error, _} = Error) -> Error.
  
negative.code:     TypeSpec = case Type of
          ?DIRECTORY_TYPE -> ?DIRECTORY_TYPE;
          ?REGULAR_FILE_TYPE -> ?REGULAR_FILE_TYPE;
          ?SYMLINK_TYPE -> {?SYMLINK_TYPE, create_symlink_path(RootDirPath, SymlinkPath, FileRelativePath)}
      end,
      UpdatedTarStream = tar_utils:new_file_entry(TarStream, FileRelativePath, FileSize, FinalMode, MTime, TypeSpec),
      {Bytes, FinalTarStream} = tar_utils:flush_buffer(UpdatedTarStream),
  