anchor.diff:  	L when L#log.mode =:= read_only ->
   	    reply(From, {error, {read_only_mode, L#log.name}}, S);
   	L when L#log.status =:= ok ->
  -	    log_loop(S, From, [B], [], iolist_size(B));
  +	    log_loop(S, From, [B], []);
   	L when L#log.status =:= {blocked, false} ->
   	    reply(From, {error, {blocked_log, L#log.name}}, S);
   	L when L#log.blocked_by =:= From ->
  
positive.code: enqueue(Message, S) ->
      loop(S#state{queue = [Message | S#state.queue]}).
  
  sync_loop(From, S) ->
      log_loop(S, [], [], From, 0).
  
  -define(MAX_LOOK_AHEAD, 64*1024).
  
  %% Inlined.
  log_loop(#state{cache_error = CE}=S, Pids, _Bins, _Sync, _Sz) when CE =/= ok ->
      loop(cache_error(S, Pids));
  log_loop(#state{}=S, Pids, Bins, Sync, Sz) when Sz > ?MAX_LOOK_AHEAD ->
      loop(log_end(S, Pids, Bins, Sync));
  log_loop(#state{messages = []}=S, Pids, Bins, Sync, Sz) ->
      receive 
  	Message ->
              log_loop(Message, Pids, Bins, Sync, Sz, S, get(log))
      after 0 ->
  	    loop(log_end(S, Pids, Bins, Sync))
      end;
  log_loop(#state{messages = [M | Ms]}=S, Pids, Bins, Sync, Sz) ->
      S1 = S#state{messages = Ms},
      log_loop(M, Pids, Bins, Sync, Sz, S1, get(log)).
  
  %% Items logged after the last sync request found are sync:ed as well.
  log_loop({alog,B}, Pids, Bins, Sync, Sz, S, #log{format = internal}) ->
      %% {alog, _} allowed for the internal format only.
      log_loop(S, Pids, [B | Bins], Sync, Sz+iolist_size(B));
  log_loop({balog, B}, Pids, Bins, Sync, Sz, S, _L) ->
      log_loop(S, Pids, [B | Bins], Sync, Sz+iolist_size(B));
  log_loop({From, {log, B}}, Pids, Bins, Sync, Sz, S, #log{format = internal}) ->
      %% {log, _} allowed for the internal format only.
      log_loop(S, [From | Pids], [B | Bins], Sync, Sz+iolist_size(B));
  log_loop({From, {blog, B}}, Pids, Bins, Sync, Sz, S, _L) ->
      log_loop(S, [From | Pids], [B | Bins], Sync, Sz+iolist_size(B));
  log_loop({From, sync}, Pids, Bins, Sync, Sz, S, _L) ->
      log_loop(S, Pids, Bins, [From | Sync], Sz);
  log_loop(Message, Pids, Bins, Sync, _Sz, S, _L) ->
      NS = log_end(S, Pids, Bins, Sync),
      handle(Message, NS).
  
  
negative.code: 	    notify_owners({read_only,B}),
  	    loop(S);
  	L when L#log.status =:= ok, L#log.format =:= internal ->
  	    log_loop(S, [], [B], []);
  	L when L#log.status =:= ok ->
  	    notify_owners({format_external, B}),
  	    loop(S);
  