openssd: use spin_lock for detecting if gc is running

Long running spin_locks are not wellseen. Instead, we take the lock and
set a variable to detect if gc is running.