anchor.diff:      [backup_vnode(VNode) ||  VNode <- VNodes].
       
   backup_vnode(_VNode = {_Index, VNodePid}) ->
  -    {ok, List} = gen_fsm:sync_send_event(VNodePid, list),
  +    {ok, List} = gen_fsm:sync_send_event(VNodePid, list, infinity),
       [backup_key(VNodePid, Bucket, Key) || {Bucket, Key} <- List].
   
   backup_key(VNodePid, Bucket, Key) ->
  -    {ok, B} = gen_fsm:sync_send_event(VNodePid, {get_binary, {Bucket, Key}}),
  -    ok = dets:insert(?TABLE, [{{Bucket,Key}, B}]).
  +    {ok, B} = gen_fsm:sync_send_event(VNodePid, {get_binary, {Bucket, Key}}, infinity),
  +    ok = disk_log:log(?TABLE, B).
   
   
   %%% RESTORE %%%
  
positive.code:     {ok, Client} = riak:client_connect(EntryNode),
      
      % Open the table, write it out, close the table...
      {ok, ?TABLE} = dets:open_file(?TABLE, [{file, Filename}]),
      Results = dets:traverse(?TABLE, fun(Entry) -> read_and_restore_function(Client, Entry) end),
      ok = dets:close(?TABLE),
  
      io:format("Restored ~p records.~n", [length(Results)]),
      ok.
  
  read_and_restore_function(Client, {{Bucket, Key}, Value}) ->
      Obj = binary_to_term(Value),
  
      % Data Cleaning...
      Obj1 = make_binary_bucket(Bucket, Key, Obj),
  
  
negative.code: 
      % Make sure all nodes in the cluster agree on the ring...
      ensure_synchronized(Ring, Members),
  
      % Backup the data...
      {ok, ?TABLE} = disk_log:open([{name, ?TABLE},
                                    {file, Filename},
                                    {mode, read_write},
                                    {type, halt}]),
  
      [backup_node(Node) || Node <- Members],
      ok = disk_log:sync(?TABLE),
      ok = disk_log:close(?TABLE),
      
      % Make sure the nodes are still synchronized...
      ensure_synchronized(Ring, Members),
  