HomeFreeBSD

Address a possible lost wakeup for gmirror events.

Description

Address a possible lost wakeup for gmirror events.

g_mirror_event_send() acquires the I/O queue lock to deliver a wakeup
to the worker thread, and this is done after enqueuing the event.
So it's sufficient to check the event queue before atomically releasing
the queue lock and going to sleep.

MFC after: 1 week
Sponsored by: Dell EMC Isilon

Details

Provenance
markjAuthored on
Parents
rS326797: Give g_mirror_event_get() a more accurate name.
Branches
Unknown
Tags
Unknown