Google Groups

spl/zfs-0.6.3 released

Brian Behlendorf Jun 12, 2014 4:59 PM
Posted in group: zfs-discuss

The ZFS on Linux team is happy to announce the release and immediate
availability of version 0.6.3!  This release is major step forward for
ZFS on Linux.  It includes a large number of new features, bug fixes and
other enhancements.

Key Features:
   * Compatible with kernels up to Linux 3.14.
   * A smoother write throttle for consistent performance under load.
   * Smarter caching to improve the cache hit rate for certain workloads.
   * Support for Posix style ACLs.
   * Support for the immutable and append-only file attributes.
   * Support for mounting filesystems with relatime style updates.
   * SELinux integration through four new dataset properties.
   * Systemd support for better distribution integration.
   * A new ZFS Event Daemon (ZED) for pool monitoring and management.
   * Support for aarch64 and sparc64 architectures.
   * Many performance improvements.
   * Over 200 bug fixes.

For a the full list of changes in ZFS 0.6.3 see the ChangeLog below.


----------------------- SPL ChangeLog ---------------------------
Andrey Vesnovaty (2):
       Expose max/min objs per slab and max slab size
       Evenly distribute the taskq threads across available CPUs

Brian Behlendorf (15):
       Consistently use local_irq_disable/local_irq_enable
       Revert "Add KSTAT_TYPE_TXG type"
       Merge branch 'kstat'
       Retroactively fix bogus %changelog date
       Add module versioning
       Include linux/vmalloc.h for ARM and Sparc
       Remove default taskq thread to CPU bindings
       Remove incorrect use of EXTRA_DIST for man pages
       splat kmem:slab_reclaim: Test cleanup
       splat cred:groupmember: Fix false positives
       Add KMC_SLAB cache type
       Add spl_kmem_cache_reclaim module option
       Restrict release number to META version
       Fix DKMS package upgrade and packager
       Tag spl-0.6.3

Chunwei Chen (4):
       Add ddi_time_after and friends
       Fix crash when using ZFS on Ceph rbd
       Linux 3.15 compat: NICE_TO_PRIO and PRIO_TO_NICE
       Linux 3.15: vfs_rename() added a flags argument

Cyril Plisko (2):
       Kstat to use private lock by default
       Tighten spl dependency on spl-kmod

Jorgen Lundman (1):
       Add support for aarch64 (ARMv8)

Kohsuke Kawaguchi (1):
       Document how to run SPLAT

Ned Bass (3):
       Add kpreempt() compatibility macro
       3537 add kstat_waitq_enter and friends
       Emulate illumos interface cv_timedwait_hires()

Prakash Surya (2):
       Add callbacks for displaying KSTAT_TYPE_RAW kstats
       Add wrappers for accessing PID and command info

Richard Yao (7):
       Replace current_kernel_time() with getnstimeofday()
       Define SET_ERROR()
       Linux 3.12 compat: New shrinker API
       Linux 3.13 compat: Remove unused flags variable from __cv_init()
       Linux 3.13 compat: Pass NULL for new delegated inode argument
       Simplify hostid logic
       Change spl_kmem_cache_expire default setting to 2

Tim Chase (3):
       Support post-3.13 kthread_create() semantics.
       De-inline spl_kthread_create().
       Call kthread_create() correctly with fixed arguments.

Turbo Fredriksson (2):
       Document SPL module parameters.
       Set LANG to a reasonable default (C)

Yuxuan Shui (1):
       This patch add a CTASSERT macro for compile time assertion.

marku89 (1):
       Define the needed ISA types for Sparc

----------------------- ZFS ChangeLog ---------------------------
Aaron Fineman (1):
       Cause zfs.spec to place dracut files properly

Adam Leventhal (1):
       Illumos #3582, #3584

Alexander Stetsenko (1):
       Illumos #4574 get_clones_stat does not call zap_count in
non-debug kernel

Andrew Barnes (1):
       Remove recursion from dsl_dir_willuse_space()

Andrey Vesnovaty (1):
       Fix regression introduced in port of Illumos #3744

Bassu (1):
       Explain 'zfs list -t snap -o name -s name' speedup

Ben Allen (1):
       Update spec file to enable systemd for RHEL7

Boris Protopopov (2):
       Illumos #4088 use after free in arc_release()
       Illumos #4089 NULL pointer dereference in arc_read()

Brian Behlendorf (77):
       Fix uninitialized variables
       Fix zpl_mknod() return values
       Fix spa_deadman() TQ_SLEEP warning
       Export addition dsl_prop_* symbols
       Fix memory leak false positive in log_internal()
       Increase default udev wait time
       Revert "Add new kstat for monitoring time in dmu_tx_assign"
       Revert "Add txgs-<pool> kstat file"
       Add visibility in to txg sync behavior
       Add visibility in to dmu_tx_assign times
       Add visibility in to cached dbufs
       Add command
       Merge branch 'kstat'
       Prevent xattr remove from creating xattr directory
       Improve xattr property documentation
       Add utility and cstyle.1 man page
       Switch allocations from KM_SLEEP to KM_PUSHPAGE
       Reduce stack for traverse_visitbp() recursion
       Remove the slog restriction on bootfs pools
       Add I/O Read/Write Accounting
       Remove incorrect ASSERT in zfs_sb_teardown()
       Add module versioning
       Fix 'zfs diff' shares error
       Remove ZFC_IOC_*_MINOR ioctl()s
       Sync /dev/zfs ioctl ordering
       Update zfs(8) Snapshots section
       cstyle: zvol.c
       Silence e2fsck warning in
       cstyle: Exclude several files from 'make checkstyle'
       cstyle: Allow spaces in all comments
       Register correct handlers for nvlist_{dup,pack,unpack}
       Enable /etc/mtab cache to improve performance
       Remove unconditional sharetab update
       Define the needed ISA types for Sparc
       Use local variable to read zp->z_mode
       Fix nvlist 'Bus Error' for Sparc
       Fix zfs_getattr_fast types
       Force LZ4_FORCE_SW_BITCOUNT for Sparc
       Drain iput taskq outside z_teardown_lock
       Prevent duplicate mnttab cache entries
       Disable GCCs aggressive loop optimization
       Use long holds in zvol_set_volsize()
       Remove incorrect use of EXTRA_DIST for man pages
       Fix corrupted l2_asize in arcstats
       Fix test 9
       Add default FILEDIR path to zpool-config scripts
       Add compatibility test script
       Use expected zpool_status_t type
       Add generic errata infrastructure
       Merge branch 'issue-2094'
       Set zfs_arc_min to 4MB
       Merge branch 'arc-changes'
       Export symbols dsl_sync_task{_nowait}
       Revert "sighandler() should take 2 arguments"
       Add a unique "eid" value to all zevents
       Add zpool_events_seek() functionality
       Clarify zpool_events_next() comment
       Make command line guid parsing more tolerant
       Add missing DATA_TYPE_STRING_ARRAY output
       Add automatic hot spare functionality
       Revert "Fixed a use-after-free bug in zfs_zget()."
       Dynamically create loop devices
       Improve error messages
       Make bash dependency explicit
       Various fixes
       Fix zfsdev_ioctl() kmem leak warning
       dmu_tx_assign() should not return ENOMEM
       Remove SELinux enforcing check from init scripts
       Treat spill block dbufs as meta data
       Fix style
       Handle vdev_lookup_top() failure in dva_get_dsize_sync()
       Use default slab types
       Restrict release number to META version
       Fix DKMS package upgrade and packager
       Revert "Fix __zio_execute() asynchronous dispatch"
       Fix defaults
       Tag zfs-0.6.3

Chris Dunlap (8):
       Add defs for makefile installation dir vars
       Replace zpool_events_next() "block" parm w/ "flags"
       Initial implementation of zed (ZFS Event Daemon)
       Add systemd unit file for zed
       Replace check for _POSIX_MEMLOCK w/ HAVE_MLOCKALL
       Merge branch 'zed-initial'
       Set errno for mkdirp() called with NULL path ptr
       Replace zed_file_create_dirs() with mkdirp()

Chris Wedgwood (1):
       Allow building without ACLs

Chunwei Chen (10):
       Fix z_sync_cnt decrement in zfs_close
       config: compile test rather than run test
       Linux 3.14 compat: posix_acl_{create,chmod}
       Linux 3.14 compat: Immutable biovec changes in vdev_disk.c
       Refactor dmu_req_copy for immutable biovec changes
       Revert "Fix zvol+btrfs hang"
       Linux 3.14 compat: rq_for_each_segment in dmu_req_copy
       Use ddi_time_after and friends to compare time
       Add assertion to catch 0-count page
       Use a dedicated taskq for vdev_file

Cyril Plisko (2):
       Tighten zfs dependency on zfs-kmod
       Call gethrtime() only once per new txg creation

DHE (2):
       Fix typos in commit b83e3e48c9b183a80dd00eb6c7431a1cbc7d89c9
       Uninitialized variable spa_autoreplace used

Derek Dai (1):
       Do not export pool to prevent cache from been removed

Etienne Dechamps (1):
       Only commit the ZIL once in zpl_writepages() (msync() case).

George Wilson (12):
       Illumos #3552
       Illumos #3522
       Illumos #3561, #3116
       Illumos #3578, #3579
       Illumos #3642, #3643
       Illumos #3236
       Illumos #3949, #3950, #3952, #3953
       Illumos #3956, #3957, #3958, #3959, #3960, #3961, #3962
       Illumos #3954, #4080, #4081
       Illumos #4168, #4169, #4170
       Illumos #4121 vdev_label_init read only
       Illumos #4101 finer-grained control of metaslab_debug

GregorKopka (1):
       Removing unneeded mutex for reading vq_pending_tree size

Gunnar Beutner (1):
       Remount datasets for "zfs inherit".

HC (1):
       Honor zfs_nocacheflush for file vdevs

Igor Lvovsky (1):
       Add additional state TXG_STATE_WAIT_FOR_SYNC for txg.

Isaac Huang (3):
       Make default to one header per screen
       sighandler() should take 2 arguments
       sighandler() should take 2 arguments

James Pan (1):
       sa_find_sizes() may compute wrong SA header size

John Albietz (1):
       Added INTEL SSD 530 Series

John Layman (1):
       Add ddt, ddt_entry, and l2arc_hdr caches

John M. Layman (1):
       Fix for re-reading /etc/mtab.

John Wren Kennedy (1):
       Illumos #4208

Jorgen Lundman (1):
       Add support for aarch64 (ARMv8)

Keith M Wesolowski (2):
       Illumos #3894
       Illumos #3875

Kohsuke Kawaguchi (1):
       Reduce the stack usage of dsl_dataset_remove_clones_key

Marcel Huber (1):
       Omit compiler warning by sticking to RAII

Marcel Telka (1):
       Illumos #4061

Mark Shellenbaum (2):
       6939941 problem with moving files in zfs
       6977619 NULL pointer deference in sa_handle_get_from_db()

Martin Matuska (1):
       Illumos #3699, #3739

Massimo Maggi (2):
       Posix ACL Support
       Honor CONFIG_FS_POSIX_ACL kernel option

Matthew Ahrens (22):
       Illumos #2882, #2883, #2900
       Illumos #3464
       Illumos #3537
       Illumos #3588
       Illumos #3603, #3604: bobj improvements
       Illumos #3598
       Illumos #3645, #3692
       Illumos #3829
       Illumos #3888
       Illumos #3112, #3113, #3114
       Illumos #3836
       Illumos #3834
       Illumos #3955
       Illumos #3996
       Illumos #4047
       Illumos #4046
       Illumos #4082
       26126 panic system rather than corrupting pool if we hit bug 26100
       Illumos #4347 ZPL can use dmu_tx_assign(TXG_WAIT)
       Illumos #4045 write throttle & i/o scheduler performance work
       Illumos 4504 traverse_visitbp: visit group before user
       4188 assertion failed in dmu_tx_hold_free(): dn_datablkshift != 0

Matthew Thode (5):
       Updating init scripts to have more robust grepping
       pep8 code readability changes
       Python 3 fixes
       Fixes (extends) support for selinux xattrs to more inode types
       Add full SELinux support

Maximilian Mehnert (1):
       Add missing libzfs_core to Makefiles

Michael Kjorling (1):
       cstyle: Resolve C style issues

Ned Bass (8):
       Export symbols dsl_pool_config_{enter,exit}
       Revert "Use directory xattrs for symlinks"
       vdev_id: support per-channel slot mappings
       vdev_file_io_start() to use taskq_dispatch(TQ_PUSHPAGE)
       dmu_tx kstat cleanup
       replace nreserved with ndirty in txgs kstat
       Improve reporting of tx assignment wait times
       Fix LZ4 endianness autodetection

Neil Stockbridge (1):
       Update detach section of zpool(8)

Patrik Greco (1):
       Fix error message in zpios

Prakash Surya (12):
       Add visibility in to arc_read
       Add script to fix file names in upstream patches
       Adjust arc_p based on "bytes" in arc_shrink
       Disable aggressive arc_p growth by default
       Allow "arc_p" to drop to zero or grow to "arc_c"
       Disable arc_p adapt dampener by default
       Revert "Return -1 from arc_shrinker_func()"
       Prune metadata from ghost lists in arc_adjust_meta
       Remove "arc_meta_used" from arc_adjust calculation
       Prioritize "metadata" in arc_get_data_buf
       Split "data_size" into "meta" and "data"
       Set "arc_meta_limit" to 3/4 arc_c_max by default

Ralf Ertzinger (4):
       Introduce zpool_get_prop_literal interface
       Add -p switch to "zpool get"
       Add systemd unit files for ZFS startup
       Add explicit Conflicts for zfs-fuse packages

Richard Yao (37):
       Stop runtime pointer modifications in autotools checks
       Update drive database
       Fix libblkid support
       Generate libraries with correct DT_NEEDED entries
       Fix libzfs_core changes to follow GNU libtool guidelines
       Linux 3.11 compat: Rename LZ4 symbols
       Restructure zfs_readdir() to fix regressions
       Reintroduce uio_prefaultpages()
       Fix order of function calls in zio_free_sync()
       Fix incorrect usage of strdup() in zfs_unmount_snap()
       Add missing copyright notices from Illumos
       Add missing code to zfs_debug.{c,h}
       Drive database update
       Properly ignore bdi_setup_and_register return value
       Properly link zpool command to libblkid
       Revert changes to zbookmark_t
       Add erratum for issue #2094
       Inform OpenRC that ZFS uses mtab
       Invalidate Linux buffer cache on vdevs upon each flush
       Free props in ztest_init()
       Switch ztest mmap(2) ASSERTs to VERIFYs
       Remove unused option -r from 'zpool import'
       Assert alignment in umem_alloc_aligned
       Implement -t option to zpool import for temporary pool names
       Revert "Properly ignore bdi_setup_and_register return value"
       Linux 3.13 compat: Handle __must_check bdi_setup_and_register
       Fix deadlock in zfs_zget()
       Fix locking order in zfs_zget()
       Improve partition detection on lesser used devices
       Refactor inode_owner_or_capable() autotools check
       Implement File Attribute Support
       Fix libblkid ZFS detection when making new pools
       libspl: Implement LWP rwlock interface
       ztest: Switch to LWP rwlock interface
       Handle ZPOOL_STATUS_HOSTID_MISMATCH in zpool status
       Fix memory leak in zpool_clear_label()
       Remove superfluous statement

Saso Kiselkov (1):
       Illumos #3995

Shen Yan (2):
       Fix zstream_t incorrect type
       Use enum type(zfetch_dirn_t) instead

Simon Guest (1):
       Fix multipath bug in vdev_id caused by inconsistent field numbering

Steven Hartland (6):
       Corrected "zfs list -t <type>" syntax
       Illumos #3740
       Illumos #3818
       Illumos #3909
       Illumos #3973
       Illumos #4322

Tim Chase (23):
       Fix dmu_objset_find_dp() KM_SLEEP warning
       Fix several new KM_SLEEP warnings
       Allocate the ioctl "output" nvlist with KM_PUSHPAGE.
       Add missing dsl pool configuration lock
       Dedup-related documentation additions for zpool and zdb.
       Document the dedupditto pool property.
       Handle concurrent snapshot automounts failing due to EBUSY.
       Fix rollback of mounted filesystem regression
       Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
       Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
       Fix atime handling.
       Properly handle updates of variably-sized SA entries.
       Fix the creation of ZPOOL_HIST_CMD pool history entries.
       Allow chown/chgrp when no ACL SAs exist.
       Implement relatime.
       Propagate errors when registering "relatime" property callback.
       Fix zap_lookup() in feature_is_supported().
       Use KM_PUSHPAGE in spa_add() for spa_label_features.
       Report atime and relatime as the property's actual value.
       Check the dataset type more rigorously when fetching properties.
       Allow for lock-free reading zfsdev_state_list.
       Calculate header size correctly in sa_find_sizes()
       Expand the description of scan-related and other parameters.

Trey Dockendorf (1):
       Change zfs-dkms requirement

Turbo Fredriksson (16):
       Document ZFS module parameters.
       Update init script to allow /dev/disk/by-id import
       Update init script to allow verbose mounts
       Add zfs_send_corrupt_data module option
       Add UNSHARING of filesystems and EXPORTING pools
       Fix NAME section of manpages zhack and fsck.zfs.
       Support using overlay mounts in defaults/init script.
       Allow specifying '-o <opts>' in defaults/init script.
       Move the libraries into separate packages
       Accept kernel source dir(s) specified by ./configure
       Only automatically mount a clone when 'canmount == on'.
       Document the fact that ashift is vdev specific, not a pool global.
       Man page updates for 'zfs share'
       Document the -X and -T options to 'zpool import'
       Set LANG to a reasonable default (C)
       Accept udev and dracut paths specified by ./configure

Will Andrews (5):
       Illumos #3741
       Illumos #3742
       Illumos #3743
       Illumos #3744
       Illumos #3745, #3811

Yuri Pankov (3):
       Illumos #3517
       Illumos #2583
       Illumos #3120 zinject hangs in zfsdev_ioctl() due to uninitialized zc

cburroughs (1):
       Include l2asize in arcstat

david.chen (1):
       Remove MAX when initializing arc_c_max

ilovezfs (1):
       Fill in mountpoint buffer before using it in errors

renelson (2):
       Fix grammar in parse_options() error message
       Handle acl flags from util-linux mount command