bhyve: set EV_CLEAR for EVFILT_VNODE mevents

When an EVFILT_VNODE filter event is triggered, reset it.

This fixes the issue where a virtio-blk resize event would cause the
mevent thread to consume 100% of the cpu.

Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D33326

(cherry picked from commit 0b29683b32)
This commit is contained in:
Robert Wing 2021-12-12 12:39:40 -09:00
parent 0d27ad33a4
commit d3cc82c9b7

View file

@ -175,7 +175,14 @@ mevent_kq_filter(struct mevent *mevp)
static int
mevent_kq_flags(struct mevent *mevp)
{
return (mevp->me_state);
int retval;
retval = mevp->me_state;
if (mevp->me_type == EVF_VNODE)
retval |= EV_CLEAR;
return (retval);
}
static int