Releases: openzfs/zfs
Releases · openzfs/zfs
v0.7.0-rc5
Supported Kernels
- Compatible with 2.6.32 - 4.12 Linux kernels.
New Features
- Added
createtxg
andguid
native pool properties. - Added property overriding
-o|-x
tozfs receive
. - Added
zpool offline -f
option to force fault a device. - Added
zpool sync
command to force a transaction group sync. - Added support to
zpool iostat/status -c
for user provided scripts. - Added
zpool scrub -p
to pause/resume an active scrub. - Added
volmode
property from FreeBSD to control volume visibility. - Added
multihost
pool property which prevents a fail-over configuration
from importing a shared pool on different hosts at the same time.
Performance
- Skip unnecessary resilver IOs for raidz pools.
- Faster multi-threaded object allocation.
Bug Fixes
- Fixed
zpool scrub
thinking it repaired offline device. - Fixed
snapdev
property inheritance behavior. - Fixed unneeded writes when bpobj has no entries.
- Fixed volume deadlock by refining the locking.
- Fixed hang when using volumes on single core systems.
- Fixed
zpool import
finding wrong spare/l2cache when path changes. - Fixed incorrect warning when raidz and mirror pools do have similar redundancy.
- Fixed memory leak in
zpool event
handling. - Fixed memory leak in
zvol_set_volsize()
. - Fixed ida leak in
zvol_create_minor_impl()
. - Fixed file handle leak in
dir_is_empty_readdir()
. - Fixed missing
arc_free_cksum()
call inarc_release()
. - Fixed mount error message when using kernels without
nbmand
support. - Fixed inaccurate
zfs send
size estimate for some volumes. - Fixed L2ARC for devices which don't support 512b access.
- Fixed L2ARC writing beyond target size.
- Fixed panic when setting
zfs_vdev_aggregation_limit=16777216
. - Fixed panic in bookmark deletion.
- Fixed panic in
zfs create
. - Fixed panic when running
zpool clear
on a readonly pool. - Fixed several minor LZ4 issues.
- Fixed
zinject(8)
to allow a fractional percentage of errors to be injected. - Fixed setting
arc_meta_limit
andarc_dnode_limit
on change. - Fixed large dnode send stream flag conflict with upstream.
- Fixed stack usage in
dsl_dir_tempreserve_impl()
. - Fixed gcc 7.1.1 build warnings.
- Fixed glibc-2.23 compatibility warnings.
- Fixed Clang build warnings.
- Fixed Musl libc build warnings.
- Fixed Linux kernel compatibility issues.
- Fixed need for
--with-linux-obj
option when specifying--with-linux
toconfigure
. - Fixed
.deb
dependency warnings. - Fixed
test-runner
to return non-zero exit code on failure. - Fixed and enabled additional ZFS Test Suite tests.
- Applied 29 upstream OpenZFS patches.
- Applied upstream
mdoc(7)
formatting forzpool(8)
andzfs(8)
man pages. - Assorted documentation and man page updates.
This tag is the final rc prior to the release of 0.7.0.
v0.6.5.11
Supported Kernels
- Compatible with 2.6.32 - 4.12-rc3 Linux kernels.
Bug Fixes
- Linux 4.12 compat: super_setup_bdi_name() - add missing code #6089 #6324
- Musl libc fixes #6310
- Increase zfs_vdev_async_write_min_active to 2 #5926
- Fix int overflow in zbookmark_is_before()- Fix RHEL 7.4 bio_set_op_attrs build error #6234 #6271
- Fix RHEL 7.4 bio_set_op_attrs build error #6253
- GCC 7.1 fixes #6253
- Remove complicated libspl assert wrappers #4449
- Compatibilty with glibc-2.23 #6132
- glibc 2.5 compat: use correct header for makedev() et al. #5945
- Fix RWSEM_SPINLOCK_IS_RAW check failed #622
v0.6.5.10
Supported Kernels
- Compatible with 2.6.32 - 4.12-rc3 Linux kernels.
Performance
- OpenZFS 8005 - poor performance of 1MB writes on certain RAID-Z configurations #5931
Bug Fixes
- Add MS_MANDLOCK mount failure message #4729 #6199
- Fix import wrong spare/l2 device when path change #6158
- Fix import finding spare/l2cache when path changes #6158
- Linux 4.9 compat: fix zfs_ctldir xattr handling #6189
- Linux 4.12 compat: fix super_setup_bdi_name() call #6147
- Linux 4.12 compat: CURRENT_TIME removed #6114
- Linux 4.12 compat: super_setup_bdi_name() #6089
- Limit zfs_dirty_data_max_max to 4G #6072 #6081
- OpenZFS 8166 - zpool scrub thinks it repaired offline device #5806 #6103
- vdev_id: fix failure due to multipath -l bug #6039
- Guarantee PAGESIZE alignment for large zio buffers #6084
- Fix harmless "BARRIER is deprecated" kernel warning on Centos 6.8 #5739 #5828
- Add kmap_atomic in dmu_bio_copy- zdb: segfault in dump_bpobj_subobjs() #3905
- Fix atomic_sub_64() i386 assembly implementation #5671 #5717
- Fix loop device becomes read-only #5776 #5855
- Allow ZVOL bookmarks to be listed recursively #4503 #5072
- Fix zfs-mount.service failure on boot #5719
- Fix iput() calls within a tx #5758
- Fix off by one in zpl_lookup #5768
- Linux 4.11 compat: iops.getattr and friends #5875
- Linux 4.11 compat: avoid refcount_t name conflict #5823 #5842
- Linux 4.12 compat: PF_FSTRANS was removed openzfs/spl#614
- Clear PF_FSTRANS over spl_filp_fallocate() zfsonlinux/splzfsonlinux/zfs#4529
- glibc 2.25 compat: remove assert(X=Y) openzfs/spl#610
- Linux 4.11 compat: remove stub for __put_task_struct openzfs/spl#608
- Linux 4.11 compat: add linux/sched/signal.h openzfs/spl#608
- Linux 4.11 compat: vfs_getattr() takes 4 args openzfs/spl#608
- Fix powerpc build openzfs/spl#607
- Linux 4.11 compat: set_task_state() removed openzfs/spl#603
v0.7.0-rc4
Supported Kernels
- Compatible with 2.6.32 - 4.11 Linux kernels.
New Features
- Added script support to
zpool iostat -c
extended output - Added
feature@multi_vdev_crash_dump
compatibility - Added GZIP compression offloading with QAT accelerator
Performance
- Fixed performance of 1MB writes on certain RAID-Z configurations (OpenZFS 8005)
- Fixed
lseek(SEEK_HOLE)
performance for dirty files - Fixed large file delete can starving out write ops (OpenZFS 6569)
- Improved ARC memory reclaim behavior
- Improved asynchronous ZVOL performance
- Allow higher ashift values (up to 16)
- Multi-threaded spa_sync() (OpenZFS 7968)
- Increased
zfs_vdev_async_write_min_active
(to 2) which can speed up rebuilds - Increased indirect block size (OpenZFS 7104)
Bug Fixes
- Fixed immediately update label 2,3 uberblocks when vdev expands
- Fixed human-readable sizes in command line utilities
- Fixed page size alignment for large buffers
- Fixed
zfs_dirty_data_max_max
limit (4G) - Fixed incorrect compressed send streams
- Fixed
zdb -e
regression for active cacheless pools - Fixed
vdev_id
failure due tomultipath -l
bug - Fixed leak in
send_iterate_fs()
- Fixed large block/gzip/raidz boot pools allowed
- Fixed ZVOL BLKFLSBUF ioctl invalidates cache
- Fixed block device cache invalidation during
zpool import|labelclear
- Fixed header inclusions for standards conformance
- Fixed size inflation in
spa_get_worst_case_asize
- Fixed panic destroying a metaslab deferred range tree (OpenZFS 8023)
- Fixed
zpool create
accepts raidz and mirrors with similar redundancy - Fixed
zpool list
reporting 16.0e for expandsz (OpenZFS 7885) - Fixed check ashift validity in
zpool add
- Fixed wrong offset args in
vdev_cache_write()
- Fixed 'zdb -o' segmentation fault
- Fixed
zfs_znode_alloc()
failure inzfs_mknode()
with retry - Fixed race in rollback, zil close, and zil flush (OpenZFS 3821)
- Fixed
zpool status -v
error message - Fixed NFS snapdir automounting
- Fixed harmless "BARRIER is deprecated" kernel warning on Centos 6.8
- Fixed ARC space accounting leak (OpenZFS 7867)
- Fixed loop device becoming read-only for Linux kernel older than 4.1
- Fixed
dsl_dataset_rollback_sync()
may try to free already free blocks (OpenZFS 7199) - Fixed off by one in zpl_lookup
- Fixed enclosure LED handling
- Fixed
zfs receive
of deduplicated streams - Fixed
zfs get
behavior with bookmarks (OpenZFS 7386) - Added
zdb(8)
lookup files by path (OpenZFS 6410) - Added
zdb(8)
only dump unique configurations and uberblocks - Added
zdb -G
to print zfs_dbgmsg's - Added
zdb -ll
to print the nvlist payload stats - Added constrained paths to the ZFS Test Suite (OpenZFS 7290)
- Added test framework for the ZED to the ZFS Test Suite (auto-online, auto-replace)
- Added new test cases and enabled additional existing test cases in the ZFS Test Suite
- Added debug and console logs dumping to the ZFS Test Suite
- Allow c99 when building ZFS in the kernel tree
- Applied 106 upstream OpenZFS patches
- Assorted documentation and man page updates
This tag is provided for evaluation and testing of the upcoming 0.7.0 release.
v0.6.5.9
Supported Kernels
- Compatible with 2.6.32 - 4.10 Linux kernels.
Bug Fixes
- Linux 4.10 compat: BIO flag changes #5499
- Linux 4.9 compat: inode_change_ok() renamed setattr_prepare() #5307
- Linux 4.9 compat: remove iops->{set,get,remove}xattr #5307
- Linux 4.9 compat: iops->rename() wants flags #5307
- Linux 4.9 compat: file_operations->aio_fsync removal #5393
- Linux 4.9 compat: Remove dir inode operations from zpl_inode_operations #5307
- Linux 4.9 compat: group_info changes openzfs/spl#581
- Linux 4.8 compat: Fix RW_READ_HELD #5233
- Linux 4.7 compat: Fix deadlock during lookup on case-insensitive #5124 #5141 #5147 #5148
- Linux 3.14 compat: assign inode->set_acl #5371 #5375
- Linux 2.6.32 compat: Reorder HAVE_BIO_RW_* checks #4951 #4959
- Use large stacks when available #4059
- Use set_cached_acl() and forget_cached_acl() when possible #5378
- Use kernel slab for vn_cache and vn_file_cache openzfs/spl#599
- Fix batch free zpl_posix_acl_release #5340 #5353
- Fix zfsctl_snapshot_{,un}mount() issues #5250
- Fix systemd services configutation through preset file #5356
- Fix RLIMIT_FSIZE enforcement #5587 #5673 #5720 #5726
- Fix leak on zfs_sb_create() failure #5490 #5496
- Fix zpl_fallocate_common() creak leak #5244 #5330
- Fix fchange in zpl_ioctl_setflags() #5486
- Fix wrong operator in xvattr.h #5486
- Fix counting '@' in dataset namelen #5432 #5456
- Fix dmu_object_size_from_db() call under spinlock #3858
- Fix lookup_bdev() on Ubuntu #5336
- Fix receiving custom snapshot properties #5189
- Fix bio merging w/noop scheduler #5181
- Fix sync behavior for disk vdevs #4858
- Fix uninitialized variable in avl_add() #3609
- Fix tq_lock contention by making write taskq non-dynamic #5236
- Fix atime handling (relatime, lazytime) #4482
- Fix splat-cred.c cred usage openzfs/spl#556
- Fix splat memleak openzfs/spl#590
- Fix p0 initializer openzfs/spl#576
- Fix aarch64 type warning openzfs/spl#574
- Fix crgetgroups out-of-bound and misc cred fix openzfs/spl#556
- Remove dead root pool import code #4951
v0.7.0-rc3
Supported Kernels
- Compatible with 2.6.32 - 4.10 Linux kernels.
New Features
- Added ARC Buffer Data (ABD) implementation
- Added OpenZFS FMD ZFS logic to ZED
- Added dynamic metaslab selection (OpenZFS 7303)
- Added support for
.zfs/snapshot
directories on 32-bit systems - Added support for O_TMPFILE flag
- Added -c to zpool iostat & status to run command
Performance
- Added parity generation/rebuild using AVX-512 instructions on x86-64
- Added superscalar fletcher4 optimization
- Added *_by-dnode routines
- Removed unnecessary zio_root() for bonus buf (OpenZFS 7143)
- Reduced
zpool import
,zpool export
time for pools with a large number of volumes
Bug Fixes
- Fixed
zpool import
detection issues - Fixed unlinked file cannot do xattr operations
- Fixed file attributes
- Fixed vdev_file deadlock
- Fixed temporary pool names
- Fixed zvol
zfs suspend/resume
for receive and rollback - Fixed
arc_summary.py
- Fixed 22 Coverity defects
- Fixed
cstyle -cpP
warnings updated CI to check all PRs - Applied 20 upstream OpenZFS patches
- Enabled additional ZFS Test Suite test cases
- Assorted documentation and man page updates
This tag is provided for evaluation and testing of the upcoming 0.7.0 release.
It is not recommended for production use.
v0.7.0-rc2
Supported Kernels
- Compatible with 2.6.32 - 4.9 Linux kernels.
New Features
- Added support for user/group dnode accounting & quota
- Added autoreplace support and enclosure LEDs handling for multipath devices
- Added compressed ARC (OpenZFS 6950)
- Added compressed
zfs send/receive
(OpenZFS 7252) - Added cryptographic checksums SHA-512, Skein, Edon-R (OpenZFS 4185)
- Added
zpool create -o feature@<feature>=disabled
support - Added performance regression tests to the ZFS Test Suite
- Added support for real disks to the ZFS Test Suite
- Added python style checking with flake8
Performance
- Explicit block device plugging when submitting multiple
- Added parity generation/rebuild using 128-bits NEON for Aarch64
- Added fletcher4 using 128-bits NEON for Aarch64
- Added batched quota object updates (OpenZFS 6988)
- Added allocation throttle (OpenZFS 7090)
Bug Fixes
- Fixed dracut module
- Fixed volume bookmarks can be listed recursively
- Fixed various memory leaks in the zfs/zpool utilties
- Fixed
ignore_hole_birth
enabled by default - Fixed
/etc/mtab
users converted to/proc/self/mount
- Fixed 82 Coverity defects
- Applied 12 upstream OpenZFS patches
- Enabled additional ZFS Test Suite test cases
- Assorted documentation and man page updates
This tag is provided for evaluation and testing of the upcoming 0.7.0 release.
It is not recommended for production use.
v0.6.5.8
Supported Kernels
- Compatible with 2.6.32 - 4.8 Linux kernels.
Changes
- This release contains updates to the systemd service files. In order to ensure the services are started properly it's recommended that after updating the systemd presets be reset to the defaults.
systemctl preset zfs-import-cache zfs-import-scan zfs-mount zfs-share zfs-zed zfs.target
Bug Fixes
- Linux 4.6, 4.7 and 4.8 compatibility openzfs/spl#549 openzfs/spl#563 openzfs/spl#565 openzfs/spl#566 #4664 #4665 #4717 #4726 #4892 #4899 #4922 #4944 #4946 #4951
- Fix new tunable to ignore hole_birth, enabled by default #4833
- Fix rw_tryupgrade() semantics openzfs/spl#534 openzfs/spl#554
- Fix taskq_wait_outstanding() re-evaluation issue openzfs/spl#553
- Fix race between taskq_destroy and new spawning thread openzfs/spl#550 openzfs/spl#553
- Fix handle NULL case in spl_kmem_free_track() openzfs/spl#567
- Fix persist vdev_resilver_txg changes #4790
- Fix array bounds read in zprop_print_one_property() #5003
- Fix call zfs_get_name() with invalid parameter #4919
- Fix incorrect pool state after import #4948
- Fix self-healing IO prior to dsl_pool_init() completion #4652
- Fix stack corruption after importing a pool with a too-long name dc4abb4
- Fix deeply nested nvlist can overflow stack #4924
- Fix dbuf_stats_hash_table_data race #4846
- Fix NULL dereference when accessing dbuf kstat #4837
- Fix NFS fh_to_dentry() should return ESTALE when generation mismatch #4828
- Fix allowing accessing XATTR via export handle #4828
- Fix out-of-bound access in zfs_fillpage() #4705 #4708
- Fix memleak in zpl_parse_options #4706 #4708
- Fix arc_prune_task use-after-free #4687 #4690
- Fix get_zfs_sb() race with concurrent umount 5cff9a0
- Fix xattr parent inode pinning #4359 #3508 #4413 #4827
- Fix xattr purge during iput #4359 #3508 #4413 #4827
- Fix metaslab_free_dva(): bad DVA X:Y:Z #3937
- Fix large kmem_alloc in vdev_metaslab_init #4752
- Fix snapdir by skipping ctldir znode in zfs_rezget #4514 #4661 #4672
- Fix libshare performance issue #4119
- Fix ztest truncated cache file #4129
- Fix obeying arc_meta_limit default size when changing arc_max #4001
- Fix bug in fix_paths() #4632
- Fix systemd configuration #4325 #4496 #4658 #4699
- Fix use kernel provided mutex owner openzfs/spl#540
- Fix rename 'zed.service' to 'zfs-zed.service' #3837
- Add support for MIPS openzfs/spl#558
- Add nfs-kernel-server for Debian #4350
- Remove HAVE_CURRENT_UMASK and HAVE_POSIX_ACL_CACHING #4922
- Remove dummy znode from zvol_state #4510
- Fix gcc -Warray-bounds check for dump_object() in zdb #4907
- Handle block pointers with a corrupt logical size #4069 #4080
v0.7.0-rc1
Supported Kernels
- Compatible with 2.6.32 - 4.8 Linux kernels.
New Features
- Added
zfs allow/unallow
support - Added large dnode feature
- Added resumable send/recv feature
- Added
-gLp
to zpool subcommands for alternative vdev names - Added
-lhHpw
options tozpool iostat
for avg latency, histograms, & queues - Added
-r
request size histograms tozpool iostat
- Added ZFS Test Suite and
zloop.sh
- Added support for lazyatime semantics
- Added "clones" property
- Added logging on zvol discard operations
- Adding initial Fault Management Logic (FMA)
Performance
- Added support for vectorized algorithms (RAIDZ, and Fletcher-4)
- Improved I/O prefetching
- Improved ZFS N-way mirror read performance by using load and locality
- Improved ARC metadata management
- Optimized tree comparison functions
This tag is provided for evaluation and testing of the upcoming 0.7.0 release.
It is not recommended for production use.
v0.6.5.7
Supported Kernels
- Compatible with 2.6.32 - 4.6 Linux kernels.
Bug Fixes
- Fix SPL build failure on PowerPC openzfs/spl#516
- Fix user namespaces uid/gid mapping #4177
- Fix ZPL miswrite of default POSIX ACL #4520
- Linux 4.5 and 4.6 compatibility #4537 #4489
- Ensure /dev/disk/by-partlabel gets correctly populated #4517
- Utilities now work reliably with newly created partitions #3708
- Import now reliably uses device names stored in label #3043
- Fix possible deadlock in zfs_secpolicy_write_perms ioctl #4554
- Fix inverted logic on none elevator comparison #4507
- Add 32 bit FS_IOC32_{GET|SET}FLAGS compat ioctls for PPC #4477