anchor.diff:  	{?MODULE, N, {stuck_elsewhere, _N2}} ->
   	    stuck_elsewhere(Tid, Store, Tab, Key, Oid, Lock),
   	    dirty_sticky_lock(Tab, Key, [N], Lock)
  +    end.
  +
  +sticky_check_majority(read, _) ->
  +    ok;
  +sticky_check_majority(write, Tab) ->
  +    case ?catch_val({Tab, majority}) of
  +	true ->
  +	    HaveNodes = val({Tab, where_to_write}),
  +	    case mnesia_lib:have_majority(Tab, HaveNodes) of
  +		true ->
  +		    ok;
  +		false ->
  +		    mnesia:abort({no_majority, Tab})
  +	    end;
  +	_ ->
  +	    ok
       end.
   
   not_stuck(Tid, Store, Tab, _Key, Oid, _Lock, N) ->
  
positive.code:     end.
  
  do_sticky_lock(Tid, Store, {Tab, Key} = Oid, Lock) ->
      ?MODULE ! {self(), {test_set_sticky, Tid, Oid, Lock}},
      N = node(),
      receive
  
negative.code: %% only take a write lock if we see a majority of the
  %% nodes.
  
  
  check_majority(true, Tab, HaveNs) ->
      check_majority(Tab, HaveNs);
  check_majority(false, _, _) ->
  