softdep_flags
ump->softdep_flags &= ~FLUSH_STARTING;
if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
ump->softdep_flags &= ~FLUSH_CLEANUP;
if ((ump->softdep_flags & FLUSH_EXIT) == 0) {
ump->softdep_flags &= ~FLUSH_EXIT;
wakeup(&ump->softdep_flags);
if ((ump->softdep_flags & (FLUSH_CLEANUP | FLUSH_EXIT)) == 0)
ump->softdep_flags |= FLUSH_CLEANUP;
if ((altump->softdep_flags &
altump->softdep_flags |= FLUSH_CLEANUP;
ump->softdep_flags |= FLUSH_STARTING;
ump->softdep_flags &= ~FLUSH_STARTING;
while ((ump->softdep_flags & FLUSH_STARTING) != 0) {
ump->softdep_flags |= FLUSH_EXIT;
while ((ump->softdep_flags & FLUSH_EXIT) != 0) {
msleep(&ump->softdep_flags, LOCK_PTR(ump), PVM,
KASSERT((ump->softdep_flags & FLUSH_EXIT) == 0,