anchor.diff:  
   
   pread_iolist(Fd, Pos) ->
  -    {ok, LenIolist, NextPos} = read_raw_iolist(Fd, Pos, 4),
  -    case iolist_to_binary(LenIolist) of
  -    <<1:1/integer,Len:31/integer>> ->
  -        {ok, Md5List, ValPos} = read_raw_iolist(Fd, NextPos, 16),
  -        Md5 = iolist_to_binary(Md5List),
  -        {ok, IoList, _} = read_raw_iolist(Fd,ValPos,Len),
  -        case couch_util:md5(IoList) of
  -        Md5 -> ok;
  -        _ ->  throw(file_corruption)
  -        end, 
  -        {ok, IoList};
  -    <<0:1/integer,Len:31/integer>> ->
  -        {ok, Iolist, _} = read_raw_iolist(Fd, NextPos, Len),
  -        {ok, Iolist} 
  -    end.
  -       
  -
  -read_raw_iolist(Fd, Pos, Len) ->
  -    BlockOffset = Pos rem ?SIZE_BLOCK,
  -    TotalBytes = calculate_total_read_len(BlockOffset, Len),
  -    {ok, <<RawBin:TotalBytes/binary>>, HasPrefixes} = gen_server:call(Fd, {pread, Pos, TotalBytes}, infinity),
  -    if HasPrefixes ->
  -        {ok, remove_block_prefixes(BlockOffset, RawBin), Pos + TotalBytes};
  -    true ->
  -        % 09 UPGRADE CODE
  -        <<ReturnBin:Len/binary, _/binary>> = RawBin,
  -        {ok, [ReturnBin], Pos + Len}
  -    end.
  +    gen_server:call(Fd, {pread_iolist, Pos}, infinity).
   
   %%----------------------------------------------------------------------
   %% Purpose: The length of a file, in bytes.
  
positive.code:     ok.
  
  
  handle_call({pread, Pos, Bytes}, _From, #file{fd=Fd,tail_append_begin=TailAppendBegin}=File) ->
      {ok, Bin} = file:pread(Fd, Pos, Bytes),
      {reply, {ok, Bin, Pos >= TailAppendBegin}, File};
  
negative.code:         IoList
      end.
  
  %% @doc Returns a tuple where the first element contains the leading SplitAt
  %% bytes of the original iolist, and the 2nd element is the tail. If SplitAt
  %% is larger than byte_size(IoList), return the difference.
  -spec split_iolist(IoList::iolist(), SplitAt::non_neg_integer(), Acc::list()) ->
      {iolist(), iolist()} | non_neg_integer().
  split_iolist(List, 0, BeginAcc) ->
      {lists:reverse(BeginAcc), List};
  split_iolist([], SplitAt, _BeginAcc) ->
  