mirror_zfs/module
Alexander Motin f2ab5b82da 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-28 00:42:29 +05: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 09:05:02 -08:00
os Free memory in an error path in spl-kmem-cache.c 2025-02-28 00:42:29 +05:00
unicode Illumos #15286: do_composition() needs sign awareness 2023-01-05 11:16:21 -08:00
zcommon zprop: fix value help for ZPOOL_PROP_CAPACITY 2024-12-29 11:53:45 -08:00
zfs Fix metaslab group fragmentation math (#17037) 2025-02-28 00:42:29 +05: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-02-25 22:32:11 +05:00
Makefile.bsd zfs_znode: lift common code to a single shared file 2024-09-19 15:49:45 -07:00
Makefile.in Fix "make install" with DESTDIR set (#16995) 2025-02-28 00:42:29 +05:00