]> git.proxmox.com Git - mirror_zfs.git/commit
Fast Dedup: ZAP Shrinking
authorAllan Jude <allan@klarasystems.com>
Wed, 24 Apr 2024 21:51:21 +0000 (17:51 -0400)
committerGitHub <noreply@github.com>
Wed, 24 Apr 2024 21:51:21 +0000 (14:51 -0700)
commit5044c4e3ff0558b726b491a9267fc3db6f855a2d
tree1f2b8e6e66b4ec71d7e471ad2ee10b2e79bced24
parent67d13998b3e055232a07311c2dc609571eaf1df1
Fast Dedup: ZAP Shrinking

This allows ZAPs to shrink. When there are two empty sibling leafs,
one of them is collapsed and its storage space is reused.
This improved performance on directories that at one time contained
a large number of files, but many or all of those files have since
been deleted.

This also applies to all other types of ZAPs as well.

Sponsored-by: iXsystems, Inc.
Sponsored-by: Klara, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Alexander Stetsenko <alex.stetsenko@klarasystems.com>
Closes #15888
man/man4/zfs.4
module/zfs/zap.c
tests/runfiles/common.run
tests/zfs-tests/tests/Makefile.am
tests/zfs-tests/tests/functional/zap_shrink/cleanup.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/zap_shrink/setup.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/zap_shrink/zap_shrink_001_pos.ksh [new file with mode: 0755]