mirror_zfs/module
Alexander Motin 6a2f7b3844
Fix metaslab group fragmentation math (#17037)
Since we are calculating a free space fragmentation, we should
weight metaslabs by the amount of their free space, not a full
size.  Fragmentation of full metaslabs may not matter in presence
empty ones.  The old algorithm did not differentiate metaslabs
having only one free 4KB block from metaslabs having 50% of space
free in 4KB blocks, reporting higher fragmentation.

While there, move metaslab_group_alloc_update() call after setting
mg_fragmentation, otherwise the effect may be delayed by one TXG.

Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
2025-02-18 10:45:42 -08:00
..
avl Suppress Clang Static Analyzer false positive in the AVL tree code. 2023-03-08 13:51:21 -08:00
icp icp: remove redundant FreeBSD check 2024-05-31 15:13:59 -07:00
lua lua: add flex array field to TString type 2024-09-30 10:30:03 -07:00
nvpair Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
os Free memory in an error path in spl-kmem-cache.c 2025-02-11 20:37:17 -05:00
unicode module: unicode: remove unused tolower transformations 2024-11-04 17:26:35 -08:00
zcommon zprop: fix value help for ZPOOL_PROP_CAPACITY 2024-12-18 15:25:12 -08:00
zfs Fix metaslab group fragmentation math (#17037) 2025-02-18 10:45:42 -08:00
zstd compress: change zio_compress API to use ABDs 2024-08-22 16:22:24 -07:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in Make the vfs.zfs.vdev.raidz_impl sysctl cross-platform 2025-01-29 09:18:09 -05:00
Makefile.bsd module: unicode: remove unused uconv.c 2024-11-01 12:12:13 -07:00
Makefile.in Fix "make install" with DESTDIR set (#16995) 2025-02-07 16:38:58 -08:00