mirror_zfs/lib
Paul Dagnelie df55ba7c49 Detect a slow raidz child during reads
A single slow responding disk can affect the overall read
performance of a raidz group.  When a raidz child disk is
determined to be a persistent slow outlier, then have it
sit out during reads for a period of time. The raidz group
can use parity to reconstruct the data that was skipped.

Each time a slow disk is placed into a sit out period, its
`vdev_stat.vs_slow_ios count` is incremented and a zevent
class `ereport.fs.zfs.delay` is posted.

The length of the sit out period can be changed using the
`raid_read_sit_out_secs` module parameter.  Setting it to
zero disables slow outlier detection.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Dagnelie <paul.dagnelie@klarasystems.com>
Contributions-by: Don Brady <don.brady@klarasystems.com>
Contributions-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #17227
2025-09-10 15:31:30 -07:00
..
libavl cppcheck: explicitly exclude kernel code from userspace checks 2022-05-10 10:20:55 -07:00
libefi SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libicp Backport AVX2 AES-GCM implementation from BoringSSL 2025-08-13 14:51:20 -07:00
libnvpair nvlist: Add nvlist_snprintf() and zfs_dbgmsg_nvlist() 2025-04-18 09:22:16 -04:00
libshare SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
libspl Detect a slow raidz child during reads 2025-09-10 15:31:30 -07:00
libtpool SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libunicode module: unicode: remove unused uconv.c 2024-11-01 12:12:13 -07:00
libuutil zpool/zfs: Add '-a|--all' option to scrub, trim, initialize 2025-07-29 14:50:44 -07:00
libzdb Allow physical rewrite without logical 2025-08-06 10:36:07 -07:00
libzfs Detect a slow raidz child during reads 2025-09-10 15:31:30 -07:00
libzfs_core zpool/zfs: Add '-a|--all' option to scrub, trim, initialize 2025-07-29 14:50:44 -07:00
libzfsbootenv nvlist: Add nvlist_snprintf() and zfs_dbgmsg_nvlist() 2025-04-18 09:22:16 -04:00
libzpool Enable zhack to work properly with 4k sector size disks 2025-09-10 15:01:32 -07:00
libzstd libzstd: also build with LIBZPOOL_CPPFLAGS 2024-09-09 14:13:27 -07:00
libzutil Make zpool_find_config() report errors 2025-08-19 13:09:25 -07:00
Makefile.am libzdb: Initial breakout of libzdb 2024-02-05 10:00:41 -08:00