Page MenuHomeFreeBSD

zfsd: Use vdev prop values for fault/degrade thresholds
ClosedPublic

Authored by pinchuk.alek_gmail.com on Feb 23 2024, 4:33 PM.
Tags
Referenced Files
Unknown Object (File)
Thu, Nov 7, 3:06 PM
Unknown Object (File)
Thu, Nov 7, 8:38 AM
Unknown Object (File)
Tue, Nov 5, 1:49 PM
Unknown Object (File)
Tue, Nov 5, 10:12 AM
Unknown Object (File)
Wed, Oct 23, 12:28 PM
Unknown Object (File)
Wed, Oct 23, 7:38 AM
Unknown Object (File)
Fri, Oct 18, 11:49 PM
Unknown Object (File)
Fri, Oct 18, 6:18 AM
Subscribers

Details

Summary

ZED uses vdev props for setting disk fault/degrade thresholds, this
patch enables zfsd to use the same vdev props for these same tasks.

OpenZFS on Linux is using vdev props for ZED disk fault/degrade thresholds. Originally the thresholds supported were for io and checksum events and recently this was updated to process slow io events as well, see https://github.com/openzfs/zfs/commit/cbe882298e4ddc3917dfaf239eca475fe06d62d4

This patch enables us to use the same vdev props in zfsd as ZED uses. After this patch is merged both OSs will use the same vdev props to set retirement thresholds.

It's probably important to note that the threshold defaults are different between OS. I've kept the existing defaults inside zfsd and DID NOT match them to what ZED does.

Test Plan

ran zfsd tests and they passed on my machine

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

cddl/usr.sbin/zfsd/case_file.cc
1206–1208

repeated word: used for for checksum

cddl/usr.sbin/zfsd/zfsd.8
130–137

hostspare -> hot spare

133

I think it might be clearer to call these "slow I/Os" or something, rather than "I/O delays", a device that generates I/O delays sound like it is adding delay (on purpose), rather than suffering it.

or even just "generates more than 8 delayed I/O reports in a 60 second period"

This revision is now accepted and ready to land.Feb 23 2024, 5:12 PM