/* * The protocol requires v_interlock to be held by the caller. */