[Bug 232671] [gmirror] gmirror fails to recover from degraded mirror sets in some circumstances

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Oct 25 01:08:18 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232671

--- Comment #1 from Conrad Meyer <cem at freebsd.org> ---
My proposed fix is, in g_mirror_update_device: don't transition from STARTING
to RUNNING unless we've got at least one ACTIVE mirror.  What is a gmirror
device going to do with zero active mirrors?  It seems useless.

Possible mitigations for similar classes of issue:

* When a stale mirror is detected at runtime *and* we've already got a complete
mirrorset (#6 above), zero out the gmirror superblock or otherwise disassociate
it from the logical mirrorset.  It's not going to get less stale if we ignore
it.

* In g_mirror_update_device when we're in RUNNING and notice we have no
mirrors, transition back to STARTING?  This sounds a little silly to me; we
should probably just avoid transitioning to RUNNING unless we have a valid
mirror.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-geom mailing list