anchor.diff:          {segid(), position()} | no_return().
   scan_locate_per_vsn(Fd, SegId, LogId, 1) ->
     %% The offset caculate by per-entry size + one byte version
  -  Location = (LogId - SegId - 1) * ?FILE_ENTRY_BYTES_V1 + 1,
  -  {ok, Bin} = file:pread(Fd, Location, ?FILE_ENTRY_BYTES_V1),
  -  ?ETS_ENTRY(SegId, LogId, Position) = ?FROM_FILE_ENTRY_V1(SegId, Bin),
  +  Location = (LogId - SegId) * ?FILE_ENTRY_BYTES_V1 + 1,
  +  {ok, <<FileEntry:?FILE_ENTRY_BITS_V1>>} =
  +    file:pread(Fd, Location, ?FILE_ENTRY_BYTES_V1),
  +  ?ETS_ENTRY(SegId, LogId, Position) = ?FROM_FILE_ENTRY_V1(SegId, FileEntry),
     {SegId, Position}.
   
   %% @private Check if the given log ID is out of indexing range.
  
positive.code:     file:close(Fd)
    end.
  
  %%%*_ PRIVATE FUNCTIONS ========================================================
  
  %% @private Scan the index file to locate the log position in segment file
  
negative.code:       after
          ok = file:close(Fd)
        end,
        init_ets_from_index_files(Tid, Rest)
    end.
  
  -spec init_ets_from_index_file(logvsn(), cache(), segid(), file:fd()) -> ok | no_return().
  