summaryrefslogtreecommitdiffstats
path: root/sys/dev/md
diff options
context:
space:
mode:
authorcperciva <cperciva@FreeBSD.org>2004-08-30 08:38:30 +0000
committercperciva <cperciva@FreeBSD.org>2004-08-30 08:38:30 +0000
commit94c7897b9f937e590da70e2f946acee6cd9fd4b5 (patch)
treec8810051f7920b97afa4345272752548df53e723 /sys/dev/md
parent922e581a21e3c43e13da68f2584a1e249ae79fa3 (diff)
downloadFreeBSD-src-94c7897b9f937e590da70e2f946acee6cd9fd4b5.zip
FreeBSD-src-94c7897b9f937e590da70e2f946acee6cd9fd4b5.tar.gz
Don't g_waitidle() when initializing a preloaded md. This fixes a
deadlock which otherwise occurs during the boot process. Reported by: kensmith MFC after: 3 days (assuming that re@ approves)
Diffstat (limited to 'sys/dev/md')
-rw-r--r--sys/dev/md/md.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c
index 5059943..607c492 100644
--- a/sys/dev/md/md.c
+++ b/sys/dev/md/md.c
@@ -735,7 +735,8 @@ mdinit(struct md_s *sc)
sc->pp = pp;
g_error_provider(pp, 0);
g_topology_unlock();
- g_waitidle();
+ if (sc->type != MD_PRELOAD)
+ g_waitidle();
PICKUP_GIANT();
}
OpenPOWER on IntegriCloud