aboutsummaryrefslogtreecommitdiff
path: root/cddl/usr.sbin/zfsd/zfsd_event.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/usr.sbin/zfsd/zfsd_event.cc')
-rw-r--r--cddl/usr.sbin/zfsd/zfsd_event.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/cddl/usr.sbin/zfsd/zfsd_event.cc b/cddl/usr.sbin/zfsd/zfsd_event.cc
index 50da07631d5a..707a868c67e8 100644
--- a/cddl/usr.sbin/zfsd/zfsd_event.cc
+++ b/cddl/usr.sbin/zfsd/zfsd_event.cc
@@ -98,8 +98,16 @@ bool
GeomEvent::Process() const
{
/*
- * We are only concerned with create arrivals and physical path changes,
- * because those can be used to satisfy online and autoreplace operations
+ * We only use GEOM events to repair damaged pools. So return early if
+ * there are no damaged pools
+ */
+ if (CaseFile::Empty())
+ return (false);
+
+ /*
+ * We are only concerned with arrivals and physical path changes,
+ * because those can be used to satisfy online and autoreplace
+ * operations
*/
if (Value("type") != "GEOM::physpath" && Value("type") != "CREATE")
return (false);