diff options
author | cperciva <cperciva@FreeBSD.org> | 2004-08-30 08:38:30 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2004-08-30 08:38:30 +0000 |
commit | 94c7897b9f937e590da70e2f946acee6cd9fd4b5 (patch) | |
tree | c8810051f7920b97afa4345272752548df53e723 /sys/dev | |
parent | 922e581a21e3c43e13da68f2584a1e249ae79fa3 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/md/md.c | 3 |
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(); } |