
Category: ZFS
-
Completely supports Kernel 6.10 and early phase of 6.11.
It also provides support for FreeBSD 12.2-RELEASE and newer.

-
“OpenZFS 2.2.5 is now available as the newest stable update to this open-source ZFS file-system implementation for Linux and FreeBSD systems.
OpenZFS 2.2.5 adds official support now for Linux 6.9 while continuing to retain support back through Linux 4.18 kernels. Yes, Linux 6.10 is out as stable now for the past three weeks and there are some Linux 6.10 compatibility patches in OpenZFS 2.2.5 but apparently not yet enough to claim full support. On the FreeBSD side there is support with FreeBSD 12.2 and later.
Besides supporting Linux 6.9 and some Linux 6.10 bits, OpenZFS 2.2.5 brings dozens of various bug fixes. There is improved dnode hashing, cleaning up buffer re-compression in L2ARC, various libspl fixes, various ZTS fixes, and other fixes scattered throughout.”


-
“The current implementation of zvol uses a single taskq, leading to lock contention under heavy load and consequently decreased throughput. Introducing multiple taskqs and implementing a switch based on IO offset can alleviate this lock contention, thus improving overall throughput.”

https://github.com/openzfs/zfs/pull/15992
https://github.com/openzfs/zfs/commit/99741bde59d1d1df0963009bb624ddc105f7d8dc
-

“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..


-
A bug caused the “arc_prune” thread to consume 100% of a CPU even on idle and impacting workloads running on the system.
https://www.freebsd.org/security/advisories/FreeBSD-EN-23:18.openzfs.asc
-
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:echo vfs.zfs.dmu_offset_next_sync=0 >> /etc/sysctl.conf
sysctl vfs.zfs.dmu_offset_next_sync=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.
<https://lists.freebsd.org/archives/freebsd-stable/2023-November/001726.html> -

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$ hexdump /usr/lib/go/pkg/tool/linux_amd64/compile
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000fa0 0000 0000 0000 0000 0000 0000 5a41 3447
0000fb0 336a 3933 5a49 4f2d 6641 6342 7a6d 3646
0000fc0 582f 5930 5a4d 6761 5659 6f34 6d39 4130
0000fd0 4957 6555 2f67 686d 6a63 6675 5976 4e6a
0000fe0 346c 3070 5157 494e 5f41 5a2f 336d 6342
0000ff0 4e6d 4a4f 306c 4277 4a72 774d 4d41 006c
0001000 0000 0000 0000 0000 0000 0000 0000 0000
*
0ac9280 5a41 3447 336a 3933 5a49 4f2d 6641 6342
0ac9290 7a6d 3646 582f 5930 5a4d 6761 5659 6f34
0ac92a0 6d39 4130 4957 6555 2f67 686d 6a63 6675
0ac92b0 5976 4e6a 346c 3070 5157 494e 5f41 5a2f
0ac92c0 336d 6342 4e6d 4a4f 306c 4277 4a72 774d
0ac92d0 4d41 006c 0000 0000 0000 0000 0000 0000
0ac92e0 0000 0000 0000 0000 0000 0000 0000 0000
*
1139380 0000 0000 0000 0000 0000
1139389As a workaround block cloning is disabled by default !!! : https://github.com/openzfs/zfs/commit/479dca51c66a731e637bd2d4f9bba01a05f9ac9f


A complete list of changes and fixes can be found in the respective git repo: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.1
-
Took place in San Francisco on Oct 16-17 (Mon-Tue), 2023.
A video with the presentations is uploaded in YouTube.
The detailed schedule can be found here:
-
Some of the new features are:
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
-









