Het opensource zfs-bestandssysteem is oorspronkelijk door Sun ontwikkeld voor Solaris, maar in 2013 heeft een aantal ontwikkelaars OpenZFS opgericht om de verdere ontwikkeling te waarborgen. Het bestandssysteem wordt momenteel officieel ondersteund op Linux en FreeBSD. Het bevat onder andere methodes om datacorruptie in zowel de data als de metadata te voorkomen, biedt dataredundantie via RAID-Z en bespaart ruimte door de data transparant te comprimeren. Voor meer informatie verwijzen we jullie door naar de OpenZFS-website. De changelog voor versie 2.2.11 kan hier worden gevonden, voor versie 2.3.8 staat het hier en in versie 2.4.4 zijn de volgende veranderingen en verbeteringen aangebracht:
Supported PlatformsChanges
- Linux: compatible with 4.18 - 7.2 kernels
- FreeBSD: compatible with releases starting from 13.3+, 14.0+
- [zfs-2.4.4] Add 'capsh' to commands.cfg
- ZTS: device access tests #18960
- vdev_disk: use calling cred to check for device access #18960
- vdev_file: use calling cred to check for device access #18960
- zfs_file_open: add cred arg, use it to check access #18960
- vdev_open: pass credential to check for permission to open device #18960
- secpolicy_zfs: add a note about the power of CAP_SYS_ADMIN #18959
- secpolicy_sys_config: only permit a global zone credential #18959
- secpolicy_zinject: only permit a global zone credential #18959
- secpolicy_nfs: remove, not used #18959
- ZTS: test secpolicy_zinject correctly limits namespace access #18959
- ZTS: test secpolicy_sys_config correctly limits namespace access #18959
- config: detect idmap method via generic_permission test #18769
- mmp: tell a failed uberblock claim apart from remote activity #18892
- ZTS: add coverage for zhack mmp reclaim #18892
- zhack: add "mmp reclaim" to recover a pool stranded by MMP #18892
- Make systemd-udev-settle optional for the import units #18832
- Linux 7.2 compat: META #18941
- Fix negative time overflows in DDT pruning #18886
- nvpair: i_get_value_size() string array handling tweak #18877
- nvpair: Improve native handling of unterminated strings #18876
- CodeQL: Flag implicit compare-then-assign in branch conditions #18899
- Linux 5.19/6.17: handle differences in how to flush delay workqueue #18847
- Linux 6.3: follow_down() gains flags arg #18847
- Linux 6.18 compat: vfs_parse_fs_string() takes 3 args #18847
- nvpair: Fix operator precedence #18874
- ZTS: don't read a command's exit status as a missing binary #18726 #18882
- build: Fix release detection when build dir is not source dir #18891
- CI: don't fail a passing job when a log reader has already exited #18885
- CI: publish the per-VM test counter atomically #18885
- man: zvol_request_sync is not ignored under blk-mq #18887
- libzfs: don't read a dataset handle after closing it in resume send #18870 #18883
- ZTS: add coverage for the MMP claim on a degraded mirror #18855
- mmp: do not require writes to mirror legs the config marks absent #18855
- libzfs: String trimming should not operate out of bounds #18868
- libzfs: don't truncate a resolved vdev path in zpool_vdev_name() #18851 #18871
- libzfs: Do not call munmap() when mmap() fails #18869
- Add missing checks to zfs_clone_range_replay() #18867
- Fix DMU bonus hold leak on I/O error #18865
- zfs: fix stale POSIX ACL cache after rollback #18837
- zed: let autoexpand see capacity changes on partitioned disks #12505 #18833
- zpool export: return EBUSY when zvol minors are in use #18841
- ZTS: make file_check actually compare the resume test results #18834
- ZTS: save ZAP_MICRO_MAX_SIZE before the large microzap tests change it #18834
- dmu_recv: Avoid potential null deref #18848
- DDT: Fix several bugs in pruning #18838
- cstyle: better tolerance for struct literals
- libspl: Implement VERIFY_IMPLY and VERIFY_EQUIV #18822
- mmp: skip non-writeable vdevs during activity check #18823 #18835
- zdb: output refcounts from verify_spacemap_refcounts() #18809
- L2ARC: bound the rebuild by the write hand on a first sweep #3114 #3400 #5583 #10224 #12779 #18827
- ZTS: make zpool_iostat_interval_all teardown deterministic #18273 #18776
- libzfs: fallback VDEV_UPATH to VDEV_PATH for non-DM devices #18439 #18802
- Fix reads for blocks freed after being cloned #18421 #18724
- Rate limit Direct I/O verify zevents #18795
- CI: Update Alpine Linux runner to 3.24.1 #18790
- Remove libuutil from the pull request template and fix headings #18791
- ZTS: fix zpool_initialize_multiple_pools suspend race #18777
- CI: Fix race caused by shared ctr file updates #18778
- zpl_inode: remove zpl_rename no-flags variants #18769
- ZTS: stop zpool_initialize tests racing initialize to completion #11948 #17311 #18771
- ZTS: migration/setup: clear stale zfs_member label before new_fs #18492 #18753
- Fix receive of split large blocks with a short trailing chunk #18749
- Fix receive -x according to comment #18737 #18738
- Add SECURITY.md policy file #18766
- linux: batch DMU reads of non-resident pages in mappedread() #16031 #18741
- Linux: fix zfs_write() infinite loop on unfaultable buffer #17129 #18740
- build: Fix for building dist target outside of project root #18744
- ZTS: ctime_001_pos increase tolerance #18733
- libzfs: fix MS_CRYPT/MS_OVERLAY collision with umount2(2) flags #18713
- Fix insufficient locking in dedup verify #17960 #18712 #18720
- zpl_ctldir: remove comments describing ancient kernel behaviour #18722
- Linux 7.2: zpl_super: convert to sget_fc() #18677
- linux/abd: remove BIO support functions #18719
- Using net/cloud-init to unpin specific python #18717
- linux: handle mmap read beyond file size #18715
- Fix race between device removal completion and pool export #18657
- CI: Increase default watchdog NMI timeout on Linux #18704
- ddt_log: Fix refcount tagging for begin/commit #18706
- Update mtime/ctime when fallocate grows a file #18573
- honor file argument in file_wait_event #18700
- README: update supported FreeBSD release to 15.1 #18696
- Clean up embedded slog metaslab across txgs #18693
- initramfs-zfs should not try to copy directories #18582 #18686
- CI: Re-allow workflow_dispatch on zfs-qemu #18680
- zfs_ioctl: fix EBUSY race between quota queries and mount #18611
- Fix handling of _PC_HAS_HIDDENSYSTEM for FreeBSD #18688
- Linux 7.1 compat: META (#18682)
- Update our CI runners to the newest FreeBSD 15.1 RELEASE (#18667)
- CI: Have zfs-build-packages workflow build tarballs on Alma (#18662)
- arc: add a few invariant checks in release builds #18840
- zbookmark_compare: handle "marker" bookmarks with negative levels #14777 #18652
- delegate: add 'send:encrypted' permission #18673
- zfs_secpolicy_send: lift checks to common function for both #18673
- ZTS: delegate: test send:encrypted #18673
- ZTS: delegate: check send permissions on encrypted datasets #18673
- ZTS: delegate: add encryption option for test fixture datasets #18673
- ZTS: remove send_delegation tests #18672
- ZTS: delegate: add test for send sub-permissions #18672
- ZTS: statx_dioalign.ksh update to stride_dd #18547
- ZTS: Pass dec instead of hex to mknod #18547
- zio_ddt_write: compute have_dvas after taking dde_io_lock #18366 #18544
- freebsd: set mnt_time on the rootfs at mountroot time
- Add dbrrd_latest_time() to grab the latest timestamp in the db
- Constify some rrd_*() functions
