mirror_zfs/include/sys
Brian Behlendorf 2b0502c578 Add interface to interface spa_get_worst_case_min_alloc() function
Provide an interface to retrieve the lowest and highest minimum
allocation size for the normal allocation class.  This can be used
by external consumers of the DMU to estimate potential wasted
capacity when setting the recordsize for an object.

The new "min_alloc" and "max_alloc" keys are added to the pool
configuration and used by default_volblocksize() to warn when
an ineffecient block size is requested.  For older kmods which
don't yet include the new keys fallback to the previous logic.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #17758
2025-10-21 11:02:42 -07:00
..
crypto SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
fm SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
fs Add interface to interface spa_get_worst_case_min_alloc() function 2025-10-21 11:02:42 -07:00
lua SPDX: license tags: MIT 2025-04-16 09:59:44 -07:00
sysevent SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zstd SPDX: license tags: BSD-3-Clause 2025-04-16 09:59:44 -07:00
abd_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
abd.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
aggsum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
arc_impl.h enforce arc_dnode_limit 2025-08-07 12:11:34 -04:00
arc.h During pool export flush the ARC asynchronously 2025-06-17 10:50:26 -07:00
asm_linkage.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
avl_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
avl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bitmap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bitops.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
blake3.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
blkptr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bplist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bpobj.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bptree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bqueue.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
brt_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
brt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
btree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dataset_kstats.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dbuf.h Make ganging redundancy respect redundant_metadata property (#17073) 2025-08-05 13:10:40 -04:00
ddt_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
ddt.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
dmu_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_objset.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_recv.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dmu_redact.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_send.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_traverse.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_tx.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_zfetch.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu.h Increase meta-dnode redundancy in "some" mode 2025-08-05 13:15:44 -04:00
dnode.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_bookmark.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_crypt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_dataset.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dsl_deadlist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_deleg.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_destroy.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_dir.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dsl_pool.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_prop.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_scan.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_synctask.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_userhold.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
edonr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
efi_partition.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
frame.h Linux build: silence objtool warnings 2025-06-17 10:50:26 -07:00
hkdf.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
metaslab_impl.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
metaslab.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mmp.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mntent.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mod.h SPDX: license tags: GPL-2.0-or-later 2025-04-16 09:59:44 -07:00
multilist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
nvpair_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
nvpair.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
objlist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
pathname.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
qat.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
range_tree.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
rrwlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sa_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sa.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sha2.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
skein.h SPDX: license tags: LicenseRef-OpenZFS-ThirdParty-PublicDomain 2025-04-16 09:59:45 -07:00
spa_checkpoint.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa_checksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa_impl.h Add interface to interface spa_get_worst_case_min_alloc() function 2025-10-21 11:02:42 -07:00
spa_log_spacemap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa.h Add interface to interface spa_get_worst_case_min_alloc() function 2025-10-21 11:02:42 -07:00
space_map.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
space_reftree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sysevent.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
txg_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
txg.h txg: generalise txg_wait_synced_sig() to txg_wait_synced_flags() (#17284) 2025-05-28 16:00:28 -07:00
u8_textprep_data.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
u8_textprep.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uberblock_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uberblock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uio_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
unique.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uuid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_disk.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_draid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_file.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_impl.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
vdev_indirect_births.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_indirect_mapping.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_initialize.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_raidz_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_raidz.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_rebuild.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_removal.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_trim.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
xvattr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap_leaf.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_global.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_iter.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_prop.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_set.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
zfeature.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_acl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_bootenv.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_chksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_context.h spa: ZIO_TASKQ_ISSUE: Use symbolic priority 2025-08-12 17:16:00 -07:00
zfs_debug.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
zfs_delay.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_file.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_fuid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ioctl_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ioctl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_onexit.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_project.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_quota.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_racct.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ratelimit.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_refcount.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_rlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_sa.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_stat.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_sysfs.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_vfsops.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_vnops.h Introduce zfs rewrite subcommand (#17246) 2025-08-07 12:34:28 -04:00
zfs_znode.h Linux: sync: remove async/sync accounting 2025-08-12 17:23:39 -07:00
zil_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zil.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_checksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_compress.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_crypt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio.h Make ganging redundancy respect redundant_metadata property (#17073) 2025-08-05 13:10:40 -04:00
zrlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zthr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zvol_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zvol.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00