]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
geom(4) mirror: Do not panic on gmirror(8) insert, resize
authorConrad Meyer <cem@FreeBSD.org>
Mon, 11 May 2020 22:39:53 +0000 (22:39 +0000)
committerConrad Meyer <cem@FreeBSD.org>
Mon, 11 May 2020 22:39:53 +0000 (22:39 +0000)
commit844b743d314b8a2a54318bc9fc664995ebbe9b5f
treeaeee619c64f8d4289672e73c087807dc5a59f49b
parentfb3c434ba2ef9fe6a3ac531ae710e586568a80c7
geom(4) mirror: Do not panic on gmirror(8) insert, resize

Geom_mirror initialization occurs in spurts and the present of a
non-destroyed g_mirror softc does not always indicate that the geom has
launched (i.e., has an sc_provider).

Some gmirror(8) commands (via g_mirror_ctl) depend on a g_mirror's
sc_provider (insert and resize).  For those commands, g_mirror_ctl is
modified to sleep-poll in an interruptible way until the target geom is
either launched or destroyed.

Reviewed by: markj
Tested by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D24780
sys/geom/mirror/g_mirror_ctl.c