anchor.diff:  	    {error, Error, Logged - Lost}
       end.
   
  -logl(B, external) ->
  +logl(B, external, undefined) ->
       {B, iolist_size(B)};
  -logl(B, internal) ->
  +logl(B, external, Sz) ->
  +    {B, Sz};
  +logl(B, internal, _Sz) ->
       disk_log_1:logl(B).
   
   halt_write_full(L, [Bin | Bins], Format, N) ->
       B = [Bin],
  -    {Bs, BSize} = logl(B, Format),
  +    {Bs, BSize} = logl(B, Format, undefined),
       Halt = L#log.extra,
       #halt{curB = CurSize, size = Sz} = Halt,
       if 
  
positive.code: log_loop(#state{cache_error = CE}=S, Pids, _Bins, _Sync, _Sz, _F) when CE =/= ok ->
      loop(cache_error(S, Pids));
  log_loop(#state{}=S, Pids, Bins, Sync, Sz, _F) when Sz > ?MAX_LOOK_AHEAD ->
      loop(log_end(S, Pids, Bins, Sync));
  log_loop(#state{messages = []}=S, Pids, Bins, Sync, Sz, F) ->
      receive
  	Message ->
              log_loop(Message, Pids, Bins, Sync, Sz, F, S)
      after 0 ->
  	    loop(log_end(S, Pids, Bins, Sync))
      end;
  log_loop(#state{messages = [M | Ms]}=S, Pids, Bins, Sync, Sz, F) ->
      S1 = S#state{messages = Ms},
  
negative.code:     log_loop(S, [From | Pids], [B | Bins], Sync, Sz+iolist_size(B), F);
  log_loop({From, sync}, Pids, Bins, Sync, Sz, F, S) ->
      log_loop(S, Pids, Bins, [From | Sync], Sz, F);
  log_loop(Message, Pids, Bins, Sync, Sz, _F, S) ->
      NS = log_end(S, Pids, Bins, Sync, Sz),
      handle(Message, NS).
  
  log_end(S, [], [], Sync, _Sz) ->
      log_end_sync(S, Sync);
  log_end(S, Pids, Bins, Sync, Sz) ->
      case do_log(get(log), rflat(Bins), Sz) of
  	N when is_integer(N) ->
  	    ok = replies(Pids, ok),
  	    S1 = (state_ok(S))#state{cnt = S#state.cnt+N},
  