From 17b43f96f9cfeb0deef7350cc016a8e28c500867 Mon Sep 17 00:00:00 2001 From: Giuseppe Di Natale Date: Tue, 11 Apr 2017 18:37:45 -0700 Subject: [PATCH] Skip rate limiting events in zfs_ereport_post In zfs_ereport_post, if an event is a rate limiting event, immediately return before any processing is done. Reviewed-by: Brian Behlendorf Signed-off-by: Giuseppe Di Natale Closes #5998 --- module/zfs/zfs_fm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/zfs/zfs_fm.c b/module/zfs/zfs_fm.c index 6c0b038be..68c0951f6 100644 --- a/module/zfs/zfs_fm.c +++ b/module/zfs/zfs_fm.c @@ -778,15 +778,15 @@ zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, nvlist_t *ereport = NULL; nvlist_t *detector = NULL; + if (zfs_is_ratelimiting_event(subclass, vd)) + return; + zfs_ereport_start(&ereport, &detector, subclass, spa, vd, zio, stateoroffset, size); if (ereport == NULL) return; - if (zfs_is_ratelimiting_event(subclass, vd)) - return; - /* Cleanup is handled by the callback function */ zfs_zevent_post(ereport, detector, zfs_zevent_post_cb); #endif