anchor.diff:              %% the corresponding worker which will get restarted by the appropriate supervisor.
               riak_bench_stats:op_complete(Next, {error, crash}, ElapsedUs),
               ?ERROR("Driver ~p crashed: ~p\n", [State#state.driver, Reason]),
  +            error;
  +
  +        {stop, Reason} ->
  +            %% Driver (or something within it) has requested that this worker
  +            %% terminate cleanly.
  +            ?INFO("Driver ~p (~p) has requested stop: ~p\n", [State#state.driver, self(), Reason]),
  +            gen_server:call(State#state.parent_pid, stop),
               error
       end.
   
  
positive.code:                  ops,
                   ops_len,
                   rng_seed,
                   worker_pid }).
  
  -include("riak_bench.hrl").
  
negative.code:     State = #state { id = Id, keygen = KeyGen, valgen = ValGen,
                       driver = Driver,
                       ops = Ops, ops_len = size(Ops),
                       rng_seed = RngSeed,
                       parent_pid = self() },
  
      %% Use a dedicated sub-process to do the actual work. The work loop may need
      %% to sleep or otherwise delay in a way that would be inappropriate and/or
  