mirror_zfs/module/os/freebsd/zfs
Alexander Motin 67fc49433f Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage
In cases where all issued ZIOs must succeed, and we can't do
anything clever about the errors, we should just explicitly set
ZIO_FLAG_TRYHARD and let OS to do all the reasonable retries.

In other cases, where retries can be different from the original,
for example, some ZIOs are allowed to fail due to redundancy, or
we can disable aggregation on retrial to get at least some of
the data, we can do first pass without TRYHARD, and only if needed
retry with ZIO_FLAG_IO_RETRY (which implies TRYHARD semantics).

Reviewed-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>
Closes #17877
2025-11-12 13:05:31 -08:00
..
abd_os.c Prefer VERIFY0P(n) over VERIFY3P(n, ==, NULL) 2025-08-07 11:41:42 -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 Pass flags to more DMU write/hold functions 2025-11-12 13:04:58 -08: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 Retire zfs_autoimport_disable kmod option 2025-08-14 14:58:58 -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 Prefer VERIFY0P(n) over VERIFY3P(n, ==, NULL) 2025-08-07 11:41:42 -07:00
vdev_label_os.c Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage 2025-11-12 13:05:31 -08:00
zfs_acl.c Pass flags to more DMU write/hold functions 2025-11-12 13:04:58 -08:00
zfs_ctldir.c FreeBSD: Correct _PC_MIN_HOLE_SIZE 2025-10-21 09:50:43 -07:00
zfs_debug.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_dir.c Prefer VERIFY0(n) over VERIFY3U(n, ==, 0) 2025-08-07 11:41:25 -07:00
zfs_file_os.c Enable zhack to work properly with 4k sector size disks 2025-09-10 15:01:32 -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 ZIL: allow zil_commit() to fail with error 2025-08-08 16:43:09 -07:00
zfs_vnops_os.c Pass flags to more DMU write/hold functions 2025-11-12 13:04:58 -08:00
zfs_znode_os.c FreeBSD: Satisfy ASSERT_VOP_IN_SEQC() 2025-09-12 15:05:18 -07:00
zio_crypt.c FreeBSD zio_crypt.c: initialize uio variables before access 2025-11-12 13:04:42 -08:00
zvol_os.c zvol: stop using zvol_state_lock to protect OS-side private data 2025-08-19 10:06:34 -07:00