HomeFreeBSD

geli: fix a livelock during panic

Description

geli: fix a livelock during panic

During any kind of shutdown, kern_reboot calls geli's pre_sync event hook,
which tries to destroy all unused geli devices. But during a panic, geli
can't destroy any devices, because the scheduler is stopped, so it can't
switch threads. A livelock results, and the system never dumps core.

This commit fixes the problem by refusing to destroy any devices during
panic, used or otherwise.

PR: 246207
Reviewed by: jhb
MFC after: 2 weeks
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D24697

Details

Provenance
asomersAuthored on
Reviewer
jhb
Differential Revision
D24697: geli: fix a livelock during panic
Parents
rS361561: MFC r361302:
Branches
Unknown
Tags
Unknown