anchor.diff:                  }
               };
           {false, FileCtx2} ->
  -            {ok, _, _, _} = list_reg_file_with_access_check(UserCtx, FileCtx2, #{size => 1}),
  +            ok = check_reg_file_access(UserCtx, FileCtx2),
               #fuse_response{status = #status{code = ?OK},
                   fuse_response = #recursive_file_list{
                       inaccessible_paths = [],
  
positive.code:             {error, ?EACCES} ->
                  {[], result_append_inaccessible_path(State, AccListResult), #{is_last => true}, FileCtx}
          end,
      {Res, FinalProcessedFileCount} = lists_utils:foldl_while(fun(ChildCtx, {TmpResult, ProcessedFileCount}) ->
          {Marker, ChildResult} = process_current_child(UserCtx, ChildCtx, State#state{
              limit = Limit - result_length(TmpResult)
          }),
          ResToReturn = merge_results(TmpResult, ChildResult),
          FileProcessedIncrement = case Marker of
              done -> 1;
              more -> 0
  
negative.code: list(UserCtx, FileCtx0, StartAfter, Limit, Prefix) ->
      {FilePath, FileCtx1} = file_ctx:get_canonical_path(FileCtx0),
      [_Sep, SpaceId | FilePathTokens] = filename:split(FilePath),
      OptimizedStartAfter = max(StartAfter, Prefix),
      InitialState = #state{
          start_after_path = StartAfter, % use original start after, so when prefix points to existing file it is not ignored
          relative_start_after_path_tokens = filename:split(OptimizedStartAfter),
          limit = Limit,
          current_dir_path_tokens = [SpaceId | FilePathTokens],
  