From 4f0728278615eb42fc5022b2817c082f578e225f Mon Sep 17 00:00:00 2001 From: Don Brady Date: Fri, 4 Sep 2020 11:34:28 -0600 Subject: Avoid posting duplicate zpool events Duplicate io and checksum ereport events can misrepresent that things are worse than they seem. Ideally the zpool events and the corresponding vdev stat error counts in a zpool status should be for unique errors -- not the same error being counted over and over. This can be demonstrated in a simple example. With a single bad block in a datafile and just 5 reads of the file we end up with a degraded vdev, even though there is only one unique error in the pool. The proposed solution to the above issue, is to eliminate duplicates when posting events and when updating vdev error stats. We now save recent error events of interest when posting events so that we can easily check for duplicates when posting an error. Reviewed by: Brad Lewis Reviewed-by: Brian Behlendorf Signed-off-by: Don Brady Closes #10861 --- man/man5/zfs-module-parameters.5 | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'man/man5') diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5 index 893bbf652..32e28a13a 100644 --- a/man/man5/zfs-module-parameters.5 +++ b/man/man5/zfs-module-parameters.5 @@ -1,6 +1,6 @@ '\" te .\" Copyright (c) 2013 by Turbo Fredriksson . All rights reserved. -.\" Copyright (c) 2019 by Delphix. All rights reserved. +.\" Copyright (c) 2019, 2020 by Delphix. All rights reserved. .\" Copyright (c) 2019 Datto Inc. .\" The contents of this file are subject to the terms of the Common Development .\" and Distribution License (the "License"). You may not use this file except @@ -3656,6 +3656,27 @@ Default value: \fB0\fR. .sp .ne 2 +.na +\fBzfs_zevent_retain_max\fR (int) +.ad +.RS 12n +Maximum recent zevent records to retain for duplicate checking. Setting +this value to zero disables duplicate detection. +.sp +Default value: \fB2000\fR. +.RE + +.sp +.ne 2 +.na +\fBzfs_zevent_retain_expire_secs\fR (int) +.ad +.RS 12n +Lifespan for a recent ereport that was retained for duplicate checking. +.sp +Default value: \fB900\fR. +.RE + .na \fBzfs_zil_clean_taskq_maxalloc\fR (int) .ad -- cgit v1.2.3