“OpenZFS 2.2.3 is heavy on fixes plus now has support for the Linux 6.7 kernel as well as some preliminary Linux 6.8 kernel compatibility… The Linux 6.8 support isn’t yet official and still prone to breaking before the stable v6.8 in March, but at least some initial elements are here. OpenZFS support going back to the Linux 3.10 kernel is maintained as well as for FreeBSD 12.2 and newer.”
Fast Deduplication was developed by Klara Inc and iXsystems and offers up to x20 greater performance.
“With the introduction of Fast Dedup, there have been several major innovations including:
The size of metadata is now dynamically sized to fit in either RAM or dedicated flash devices to avoid hitting the performance penalty wall.
The metadata structure has been completely re-engineered to enable efficient updates using a log append process, greatly improving performance for large updates such as deletions.
The dedup table will favor dedup-able data and prune blocks that show no dedup potential.
Combining metadata improvements with properly configured storage, including dedicated metadata flash devices, will improve the sustained dedup performance by over an order of magnitude for larger systems.”
Some users are sceptical about potential data loss issues, as with any filesystem technologies..
Ed Maste, the Director of Project Development for The FreeBSD Foundation, sent the following email in the freebsd-stable mailing list, regarding a new ZFS issue. It appears that it affects earlier versions of OpenZFS and it is not related to block cloning.
Dear FreeBSD community,
We want to bring your attention to a potential data corruption issue affecting multiple versions of OpenZFS. It was initially reported against OpenZFS 2.2.0 but also affects earlier and later versions.
This issue can be reproduced with targeted effort but it has not been observed frequently in real-world scenarios. This issue is not related to block cloning, although it is possible that enabling block cloning increases the probability of encountering the issue.
It is unclear if the issue is reproducible on the version of ZFS in FreeBSD 12.4.
A short term workaround is available for FreeBSD 14.0 and 13.2 by setting the vfs.zfs.dmu_offset_next_sync sysctl to 0:
The workaround may result in inaccurate reporting of file holes in sparse files, reintroducing OpenZFS issue 6958[1]. See the ZFS(4) man page for more information on this setting.
The workaround does not deterministically prevent the issue but does drastically reduce the likelihood of encountering it.
For more information, see OpenZFS issue 15526[2] and OpenZFS pull request 15571[3]. FreeBSD bug report PR 275308[4] is open to track the FreeBSD erratum update which will bring in the fix, after it is committed to OpenZFS. Please check the FreeBSD PR regularly if you are looking for details on the timeline of the FreeBSD erratum update.
We want to assure the FreeBSD community that we are actively monitoring the situation. Thank you for your understanding and continued support.
Block cloning bug in 2.2.0 results in data corruption and chunks replaced by zeros !!!
$ file /usr/lib/go/pkg/tool/linux_amd64/* | grep data /usr/lib/go/pkg/tool/linux_amd64/asm: data /usr/lib/go/pkg/tool/linux_amd64/cgo: data /usr/lib/go/pkg/tool/linux_amd64/compile: data /usr/lib/go/pkg/tool/linux_amd64/covdata: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=xHCzRQtrkEP-Bbxql0SF/zxsofCJFlBoPlUclgwBG/TrsgK6SKiY4q6TIhyBjU/UwcISvZgqfQaEf3Kr_Tq, not stripped /usr/lib/go/pkg/tool/linux_amd64/cover: data /usr/lib/go/pkg/tool/linux_amd64/link: data /usr/lib/go/pkg/tool/linux_amd64/vet: data
1) Block cloning support for allowing files or portions of files to be used for reflinks / file-level copy-on-write handling
2) Linux container support with various Linux-specific container interfaces now supported, support for OverlayFS, IDMAPPED mounts in a user name-space, and other features.
3) BLAKE3 check-summing that is much faster than SHA-256 and SHA-512.
4) Corrective “zfs receive” for healing corrupted data in file-systems