mirror_zfs/include
Alexander Motin 108562344c
Improve allocation fallback handling
Before this change in case of any allocation error ZFS always fallen
back to normal class.  But with more of different classes available
we migth want more sophisticated logic.  For example, it makes sense
to fall back from dedup first to special class (if it is allowed to
put DDT there) and only then to normal, since in a pool with dedup
and special classes populated normal class likely has performance
characteristics unsuitable for dedup.

This change implements general mechanism where fallback order is
controlled by the same spa_preferred_class() as the initial class
selection.  And as first application it implements the mentioned
dedup->special->normal fallbacks.  I have more plans for it later.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #17391
2025-05-31 19:12:16 -04:00
..
os ZVOL: Make zvol_inhibit_dev module parameter platform-independent 2025-05-29 09:37:41 -04:00
sys Improve allocation fallback handling 2025-05-31 19:12:16 -04:00
.gitignore OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
cityhash.h SPDX: license tags: MIT 2025-03-13 17:56:54 -07:00
libnvpair.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libuutil_common.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libuutil_impl.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libuutil.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libzdb.h libzdb: Initial breakout of libzdb 2024-02-05 10:00:41 -08:00
libzfs_core.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libzfs.h Expose dataset encryption status via fast stat path 2025-05-26 22:11:03 -04:00
libzfsbootenv.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
libzutil.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
Makefile.am include: move zio_priority_t into zfs.h 2025-02-22 18:46:26 -05:00
thread_pool.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfeature_common.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_comutil.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_deleg.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_fletcher.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_namecheck.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_prop.h SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_valstr.h events: include zio type in IO error reports 2025-05-30 10:29:29 -04:00