mirror_zfs/module/os/freebsd/zfs
Rob Norris 0372def8c9 vdev_geom: converted injected EIO errors to ENXIO
By the assertion, vdev_geom_io_done() only expects ENXIO on an error
when the geom is a top-level (allocating) vdev[1][2]. However, zinject
currently can't insert ENXIO directly, possibly because on Solaris
outright disk failures were reported with EIO[2][3].

This is a narrow workaround to convert EIO to ENXIO when injections are
enabled, to avoid the assertion and allow the test suite to test
behaviour related to probe failure on FreeBSD.

1. freebsd/freebsd-src@37ec52ca7a
2. freebsd/freebsd-src@cd730bd6b2
3. illumos/illumos-gate@ea8dc4b6d2

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Paul Dagnelie <paul.dagnelie@klarasystems.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #17355
2025-05-28 10:29:11 -07:00
..
abd_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
arc_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
crypto_os.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
dmu_os.c Wire O_DIRECT also to Uncached I/O (#17218) 2025-05-13 14:26:55 -07:00
event_os.c FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-08-05 16:56:45 -07:00
hkdf.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
kmod_core.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
spa_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
sysctl_os.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
vdev_geom.c vdev_geom: converted injected EIO errors to ENXIO 2025-05-28 10:29:11 -07:00
vdev_label_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_acl.c dmu_tx: rename dmu_tx_assign() flags from TXG_* to DMU_TX_* (#17143) 2025-03-18 16:04:22 -07:00
zfs_ctldir.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_debug.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_dir.c dmu_tx: rename dmu_tx_assign() flags from TXG_* to DMU_TX_* (#17143) 2025-03-18 16:04:22 -07:00
zfs_file_os.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
zfs_ioctl_compat.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
zfs_ioctl_os.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
zfs_racct.c Wire O_DIRECT also to Uncached I/O (#17218) 2025-05-13 14:26:55 -07:00
zfs_vfsops.c Report default quotas via kernel interfaces 2025-04-03 10:36:38 -07:00
zfs_vnops_os.c Wire O_DIRECT also to Uncached I/O (#17218) 2025-05-13 14:26:55 -07:00
zfs_znode_os.c FreeBSD: Use new SYSCTL_SIZEOF() 2025-05-08 10:31:43 -04:00
zio_crypt.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zvol_os.c ZVOL: Comment platform-specific empty functions bodies on FreeBSD side 2025-05-27 20:00:25 -04:00