| From: |
| Brian Behlendorf <behlendorf1-i2BcT+NCU+M@public.gmane.org> |
| To: |
| zfs-announce <zfs-announce-VKpPRiiRko4/ohRxsw7f2g@public.gmane.org> |
| Subject: |
| spl/zfs-0.6.4 released |
| Date: |
| Thu, 09 Apr 2015 09:50:40 -0700 |
| Message-ID: |
| <5526ADE0.8080600@llnl.gov> |
The Linux team is happy to announce a new release of OpenZFS on Linux.
The 0.6 4 release adds support for 6 new feature flags, multiple new
properties, asynchronous IO, support for Linux kernels up to 4.0 and
more. The official release can be found at:
http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/sp...
http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zf...
=== NEW FUNCTIONALITY ===
* Compatible with kernels up to Linux 4.0.
* New feature flags (additional details below):
- spacemap_histogram
- extensible_dataset
- bookmarks
- enabled_txg
- hole_birth
- embedded_data
* New asynchronous I/O (AIO) support.
* New fallocate() FALLOC_FL_PUNCH_HOLE support.
* New fragmentation metric in 'zpool list'.
* New LZ4 compression of meta data.
* New "redundant_metadata" property controls desired redundancy level.
* New "overlay" property controls behavior for non-empty mount points.
* New 'zpool list -v' shows individual disk capacity.
* New 'zpool get -H' (scripted mode) support.
* New 'zpool create -t' creates a pool with a temporary name.
* New arc_summary.py script from FreeNAS.
* New bash completion support.
* New DTRACE_PROBES integrated with Linux tracepoints.
* New compressed block histograms with zdb.
* New verbatim pool imports with zdb.
=== NEW FEATURE FLAGS ===
The following new features can be enabled by running 'zpool upgrade'
after first installing the new release and then rebooting your system.
A reboot is required to load the new kernel modules. By default, no
new features will be automatically enabled.
WARNING: Once the new pool features are enabled you will be unable
to rollback to an older version of ZFS which does not support this
functionality.
GRUB: Users who rely on ZFS for their root file system are strongly
cautioned against enabling these features on their root pool. The
version of GRUB provided by most distributions does not yet support
this functionality. Consequently GRUB will be unable to access the
contents of /boot which will prevent your system from booting. You
may only safely enable the new features on your root pool if /boot
is located on a non-ZFS filesystem or if a patched version of GRUB
is available for your distribution. Currently patched GRUB packages
are only provided though the ZFS on Linux repositories for Debian.
* spacemap_histogram
This features allows ZFS to maintain more information about how
free space is organized within the pool. If this feature is enabled,
ZFS will set this feature to active when a new space map object is
created or an existing space map is upgraded to the new format.
* extensible_dataset
This feature allows more flexible use of internal ZFS data structures,
and exists for other features to depend on. This feature will be
active when the first dependent feature uses it.
* bookmarks
This feature enables use of the zfs bookmark subcommand. Bookmarks
mark the point in time when a snapshot was created, they can be used
as the incremental source for a zfs send command. All bookmarks in
the pool can be listed by running zfs list -t bookmark -r poolname.
* enabled_txg
Once this feature is enabled ZFS records the transaction group number
in which new features are enabled. This has no user-visible impact,
but other features may depend on this feature.
* hole_birth
This feature improves performance of incremental sends ("zfs send -i")
and receives for objects with many holes. The most common case of hole-
filled objects is zvols.
* embedded_data
This feature improves the performance and compression ratio of highly-
compressible blocks. Blocks whose contents can compress to 112 bytes
or smaller can take advantage of this feature.
=== BUG FIXES ===
* Fixed I/O error on fs/vol delete corrupting space map.
* Fixed corruption during spacemap reallocation.
* Fixed corruption due to faulty logic when undirtying spill block.
* Fixed stale bonus buffer in recycled dnode_t data corruption.
* Fixed SA header size accounting.
* Fixed O_APPEND flag for open(2).
* Fixed deadlocks caused by direct reclaim by setting PF_FSTRANS.
* Fixed deadlocks on suspended pools.
* Fixed deadlock in zio pipeline caused by mutex_exit() race.
* Fixed deadlock between 'zpool export' and 'zfs list'.
* Fixed deadlock related to 'zfs rename'.
* Fixed deadlock related to z_teardown_inactive_lock.
* Fixed deadlock related to zfs_putpage().
* Fixed deadlock for meta data intensive workloads.
* Fixed panic when removing log device.
* Fixed panic in metaslab init when space_map_open returned ENXIO.
* Fixed panic due to dirtying inodes in a snapshot.
* Fixed panic in dbufstat.py.
* Fixed panic when performing ACL-to-mode translation on empty ACL.
* Fixed SEEK_HOLE misreporting hole at end of file.
* Fixed discrepancies in futimens() timestamps.
* Fixed pool free space leak.
* Fixed L2ARC compressed buffer leak.
* Fixed 'zpool history -i' hang.
* Fixed 'zpool import -t' it should not update the cache file.
* Fixed multiple 'zfs send/recv' failure modes.
* Fixed dracut to export ZFS root pool on shutdown.
* Fixed restore_object now performed in a single transaction.
* Fixed zvol symbolic link handling.
* Fixed per-filesystem memory reclaim.
* Fixed removal of SA in sa_modify_attrs().
* Fixed readdir for .zfs/snapshot directory.
* Fixed maximum zvol transfer size.
* Fixed dmu_sync'ed holes should retain birth time.
* Fixed ctor/dtor called on each alloc/free not once per slab.
* Fixed ZED io-spare.sh script.
* Fixed spurious timeouts when create large pools.
* Improved 'zpool add' dry-run mode.
* Improved 'zfs send -p' to only send properties for sent snapshots.
* Improved 'zpool import' hostid behavior.
* Improved 'zpool import -XF' behavior.
* Improved 'zpool import' when multiple duplicate labels are found.
* Improved 'zfs receive' performance by increasing pipe buffer size.
* Improved 'zfs send' for small blocks by increasing prefetch.
* Improved SPL kmem implementation.
* Improved zvol_get_stats() performance.
* Improved ashift auto-detect and management.
* Improved documentation in man pages.
* Improved handling of damaged block pointers.
* Improved ZED logging
* Rate limited debug backtraces to avoid impacting performance.
* Assorted performance improvements.
* Substantial changes to realign code base with illumos.
* Over 200 additional bug fixes.
=== Complete SPL 0.6.4 ChangeLog ===
Alexander Pyhalov (1):
Fix modules installation directory
Brian Behlendorf (60):
Rate limit debugging stack traces
Set spl_kmem_cache_reclaim=0 to default
Set spl_kmem_cache_slab_limit=16384 to default
Fix bug in SPLAT taskq:front
Make license compatibility checks consistent
Update SPLAT to use kmutex_t for portability
Update code to use misc_register()/misc_deregister()
Remove patches directory
Remove adaptive mutex implementation
Remove sysctl_vfs_cache_pressure assumption
Remove utsname() wrapper
Remove register_sysctl() compatibility code
Remove CTL_UNNUMBERED sysctl interface
Map highbit64() to fls64()
Simplify the time compatibility wrappers
Remove atomic64_xchg() wrappers
Remove uintptr_t typedef
Remove linux/uaccess.h header check
Remove kmalloc_node() compatibility code
Remove i_mutex() configure check
Remove mutex_lock_nested() wrapper
Remove on_each_cpu() wrapper
Remove get_vmalloc_info() wrapper
Remove global memory variables
Remove shrink_{i,d}node_cache() wrappers
Remove kallsyms_lookup_name() wrapper
Remove user_path_dir() wrapper
Remove set_fs_pwd() configure check
Add vfs_unlink() and vfs_rename() comments
Remove credential configure checks.
Update put_task_struct() comments
Remove proc_handler() wrapper
Remove kvasprintf() wrapper
Remove kern_path() wrapper
Remove vfs_fsync() wrapper
Merge branch 'cleanup'
Lower minimum objects/slab threshold
Retire legacy debugging infrastructure
Fix debug object on stack warning
Refactor existing code
Fix kmem cstyle issues
Refactor generic memory allocation interfaces
Make slab reclaim more aggressive
Update spl-module-parameters(5) man page
Reduce kmem cache deadlock threshold
Refine slab cache sizing
Fix kmem cache deadlock logic
Use __get_free_pages() for emergency objects
Merge branch 'kmem-rework'
Fix GFP_KERNEL allocations flags
Optimize vmem_alloc() retry path
Retire spl_module_init()/spl_module_fini()
Fix cstyle issue in mutex.h
Retire MUTEX_OWNER checks
Add MUTEX_FSTRANS mutex type
Reduce splat_taskq_test2_impl() stack frame size
Remove rpm/fedora directory
Add RHEL style kmod packages
Clear PF_FSTRANS over vfs_sync()
Tag spl-0.6.4
Chris Dunlop (1):
Add crgetzoneid() stub
Chunwei Chen (2):
mutex: force serialization on mutex_exit() to fix races
Fix spl_hostid module parameter
Hajo M<C3><B6>ller (1):
Fix warning about AM_INIT_AUTOMAKE arguments
Marcel Wysocki (1):
Add config/compile to config/.gitignore
Ned Bass (2):
Linux 3.17 compat: remove wait_on_bit action function
Remove compat includes from sys/types.h
Richard Yao (6):
Cleanup vn_rename() and vn_remove()
kmem_cache: Call constructor/destructor on each alloc/free
Kernel header installation should respect --prefix
Revert "Add PF_NOFS debugging flag"
Add hooks for disabling direct reclaim
Enforce architecture-specific barriers around clear_bit()
Tim Chase (8):
Safer debugging and assertion macros.
Add functions and macros as used upstream.
Add atomic_swap_32() and atomic_swap_64()
Linux 3.12 compat: shrinker semantics
Use current_kernel_time() in the time compatibility wrappers
Add mutex_enter_nested() which maps to mutex_lock_nested()
Set HAVE_FS_STRUCT_SPINLOCK correctly when CONFIG_FRAME_WARN==1024
Don't allow shrinking a PF_FSTRANS context
Tom Prince (1):
Install header during post-build rather than post-install.
Turbo Fredriksson (1):
Linux 3.16 compat: smp_mb__after_clear_bit()
stf (1):
Avoid PAGESIZE redefinition
=== Complete ZFS 0.6.4 ChangeLog ===
Adam Leventhal (1):
Illumos 5174 - add sdt probe for blocked read in dbuf_read()
Alec Salazar (2):
Replace __va_list with va_list
Avoid PAGESIZE redefinition
Alex Reece (3):
Illumos 5049 - panic when removing log device
Illumos 4753 - increase number of outstanding async writes when
sync task
Illumos 4958 zdb trips assert on pools with ashift >= 0xe
Alex Zhuravlev (1):
Export symbols for ZIL interface
Alexander Pyhalov (1):
Fix modules installation directory
Alexey Smirnoff (1):
Change the default 'zfs_dedup_prefetch' value to '0'
Andrew Barnes (1):
Preserve asize when last mirror child promoted to top-level vdev
Andrew Hamilton (1):
2493 change efi_rescan() to wait longer
Andrey Vesnovaty (1):
Fix readdir for .zfs/snapshot directory
Andriy Gapon (1):
zfs send -p send properties only for snapshots that are actually sent
Andy Bakun (1):
Fix typo in %post scriptlet lines
Bill McGonigle (1):
Linux 4.0 compat: bdi_setup_and_register() __must_check
Boris Protopopov (1):
Correct error returns to unify cross-pool operation error handling
Brian Behlendorf (69):
Improve differing sector size error
Fix zil_commit() NULL dereference
zfs_trunc() should use dmu_tx_assign(tx, TXG_WAIT)
Revert "Disable GCCs aggressive loop optimization"
zpool-create.sh: allow features to be disabled
Remove patches directory
Use KM_PUSHPAGE in dsl_dataset_rollback_check()
Avoid dynamic allocation of 'search zio'
Avoid 128K kmem allocations in mzap_upgrade()
Add zfs_iput_async() interface
Revert "Revert "Revert "Fix unlink/xattr deadlock"""
Retire HAVE_IOCTL_* configure checks
Add a missing > to AUTHORS
Add object type checking to zap_lockdir()
Fix z_teardown_inactive_lock deadlock
Make user stack limit configurable
Fix CPU_SEQID use in preemptible context
Improve VERIFY() error in dmu_write()
Fix source_tree variable in dkms build
Make license compatibility checks consistent
Update code to use misc_register()/misc_deregister()
Remove shrink_dcache_memory() and shrink_icache_memory()
Update utsname support
Handle NULL mirror child vdev
Suppress AIO kmem warnings
Handle block pointers with a corrupt logical size
Fix zdb segfault
Merge branch 'b_tracepoints'
Fix snapshots with dirty inodes
Fix cstyle issue from c66989b
Fix zfs_putpage() lock inversion
Fix zfs_putpage() lock inversion (again)
Mark IO pipeline with PF_FSTRANS
Retire KM_NODEBUG
Change KM_PUSHPAGE -> KM_SLEEP
Add kmem_cache.h include to default context
Revert "Pre-allocate vdev I/O buffers"
Revert "SA spill block cache"
Merge branch 'kmem-rework'
Merge branch 'arc_summary_draft_v2'
Make `zpool import -d|-c` behave consistently
Add zvol_open() error handling for readonly property
Handle closing an unopened ZVOL
Use zio buffers in zil_itx_create()
Skip evicting dbufs when walking the dbuf hash
Don't read space maps during import for readonly pools
Revert "Don't read space maps during import for readonly pools"
Use vmem_alloc() for nvlists
Retire zio_bulk_flags
Retire zio_cons()/zio_dest()
Change VERIFY to ASSERT in mutex_destroy()
Skip bad DVAs during free by setting zfs_recover=1
Fix O_APPEND open(2) flag
Retire spl_module_init()/spl_module_fini()
Prevent "zpool destroy|export" when suspended
Use MUTEX_FSTRANS mutex type
Linux 4.0 compat: bdi_setup_and_register()
Change ASSERT(!"...") to cmn_err(CE_PANIC, ...)
Replace zfs.redhat.in with zfs.lsb.in init script
Mark zfs_inactive() with PF_FSTRANS
Fix arc_meta_max accounting
Restructure per-filesystem reclaim
Fix arc_adjust_meta() behavior
Check all vdev labels in 'zpool import'
Remove rpm/fedora directory
Add RHEL style kmod packages
Update zfs_pd_bytes_max default in zfs(8)
Use vmem_alloc() in spa_config_write()
Tag zfs-0.6.4
Chris Dunlap (11):
Fix race condition with zed pidfile creation
Cleanup zed logging
Remove reverse indentation from zed comments.
Fix zed io-spare.sh dash incompatibility
Replace zed's use of malloc with calloc
Refer to ZED's scripts as ZEDLETs
Obtain advisory lock on ZED PID file
Cleanup struct zed_conf vars in zed_conf_destroy
Protect against adding duplicate strings in ZED
Cleanup _zed_event_add_nvpair()
Add ZED to zfs.redhat.in script
Chris Dunlop (2):
Reduce size of zfs_sb_t: allocate z_hold_mtx separately
Align code with Illumos
Chris Wedgwood (1):
Reduce buf/dbuf mutex contention
Christer Ekholm (1):
Fix possible future overflow in zfs_nicenum
Chunwei Chen (3):
Read spl_hostid module parameter before gethostid()
Fix build error when make deb
Use MUTEX_FSTRANS on l2arc_buflist_mtx
Dan McDonald (1):
Illumos #4936 fix potential overflow in lz4
Dan Swartzendruber (5):
Improve handling of filesystem versions
Improve zvol symlink handling.
Fix systemd config for zfs-share.service
Improve systemd script to not leave stale sharetab
Set zfs_autoimport_disable default value to 1
Daniil Lunev (1):
Illumos 4924 - LZ4 Compression for metadata
Darik Horn (1):
Let `zpool import` ignore a missing hostid record.
Evan Susarret (1):
Correct autodetection of bootfs property
Garrison Jensen (1):
Fix comment spelling errors.
George Wilson (9):
Illumos 4168, 4169, 4170: ztest, zdb and zhack fixes
Illumos #4101, #4102, #4103, #4105, #4106
Illumos #4730 destroy metaslab group taskq
Illumos #4756 Fix metaslab_group_preload deadlock
Illumos 4754, 4755
Illumos 4976-4984 - metaslab improvements
Illumos 5117 - spacemap reallocation can cause corruption
Illumos 5147 - zpool list -v should show individual disk capacity
Illumos 5694 - traverse_prefetcher does not prefetch enough
Gordan Bobic (1):
Execute udevadm settle before trying to import pools
Hajo M<C3><B6>ller (2):
Actually source /etc/sysconfig/zfs instead of /etc/default/zfs
Fix warning about AM_INIT_AUTOMAKE arguments
Isaac Huang (6):
Fixed memory leaks in zevent handling
Fix inaccurate field descriptions
Print header properly when terminal resizes
bio_alloc() with __GFP_WAIT never returns NULL
Fix deadlock between zpool export and zfs list
zio_injection_enabled should not be a module option
Jacek Fefli<C5><84>ski (1):
zpool upgrade return errors to stderr instead of stdout
Jan Engelhardt (1):
Do not attempt access beyond the declared end of the dn_blkptr array
Josef 'Jeff' Sipek (1):
Illumos 5047 - don't use atomic_*_nv if you discard the return value
Justin T. Gibbs (2):
Illumos 5311 - traverse_dnode may report success when it should not
Illumos 5630 - stale bonus buffer in recycled dnode_t leads to
data corrup
J<C3><B6>rg Thalheim (1):
Linux 3.19 compat: file_inode was added
Kyle Blatter (4):
Refactor arc_summary to simplify -p processing
Add a help option with usage information
Force all lines to be 80 columns
Replace sysctl summary with tunables summary.
Lukas Wunner (3):
Amend Dracut module to export ZFS root on shutdown
Fix loop in Dracut shutdown script
Fix Dracut scripts to allow for blanks in pool and dataset names
Marcel Wysocki (1):
Add config/compile to config/.gitignore
Matthew Ahrens (26):
Illumos #3641 compressed block histograms with zdb
Illumos 4171, 4172
Illumos 4368, 4369.
Illumos #4374
Illumos 3835 zfs need not store 2 copies of all metadata
Illumos 4757, 4913
Illumos 4390 - I/O errors can corrupt space map when deleting fs/vol
Illumos 4881 - zfs send performance regression with embedded data
Illumos 4914 - zfs on-disk bookmark structure should be named *_phys_t
Illumos 4631 - zvol_get_stats triggering too many reads
Illumos 5034 - ARC's buf_hash_table is too small
Illumos 4970-4974 - extreme rewind enhancements
Illumos 5140 - message about "%recv could not be opened" is
printed when b
Illumos 5177 - remove dead code from dsl_scan.c
Illumos 5161 - add tunable for number of metaslabs per vdev
Illumos 5139 - SEEK_HOLE failed to report a hole at end of file
Illumos 5135 - zpool_find_import_cached() can use fnvlist_*
Illumos 5116 - zpool history -i goes into infinite loop
Illumos 5176 - lock contention on godfather zio
Illumos 3693 - restore_object uses at least two transactions to
restore an
Illumos 5150 - zfs clone of a defer_destroy snapshot causes
strangeness
Illumos 5162 - zfs recv should use loaned arc buffer to avoid copy
Illumos 5178 - zdb -vvvvv on old-format pool fails in dump_deadlist()
Illumos 5169-5171 - zdb fixes
Illumos 5164-5165 - space map fixes
Illumus 5693 - ztest fails in dbuf_verify: buf[i] == 0, due to
dedup and b
Max Grossman (2):
Illumos 4370, 4371
Illumos 5138 - add tunable for maximum number of blocks freed in
one txg
Ned Bass (17):
Remove obsolete comment about guard pages
ztest: print backtrace on SIGSEGV and SIGABRT
Remove checks for mandatory locks
Move a few internal ARC strucutres to arc_impl.h
Fix dprintf format specifiers
cstyle: allow right paren on its own line
Fix improper null-byte termination handling
Explicitly include SPL compat headers
vdev_id: use mawk-compatible regular expression
Remove duplicate typedefs from trace.h
Don't use AC_LANG_SOURCE for conftest.h source
Document zfs_flags module parameter
Fix SA header size accounting
Use cached feature info in spa_add_feature_stats()
dbuf_free_range() overzealously frees dbufs
Add NULL guard in zfs_zrlock_class event class
zpool import should honor overlay property
Prakash Surya (4):
Move metaslab_group_alloc_update() call
Illumos 5213 - panic in metaslab_init due to space_map_open
returning ENXI
Swap DTRACE_PROBE* with Linux tracepoints
Illumos 5695 - dmu_sync'ed holes do not retain birth time
Ralf Ertzinger (1):
Change startup mode of ZED
Randall Mason (1):
Fix small spelling mistake
Richard Yao (18):
zdb: Introduce -V for verbatim import
Include sys/taskq.h in linux/vfs_compat.h
Drive database update
Linux AIO Support
Properly NULL terminate string in zfs_strcmp_pathname
Fix function call with uninitialized value in vdev_inuse
lib/libzpool/kernel.c: Assert no owners in rw_destroy()
Add add_prop_list_default helper
zpool import -t should not update cachefile
Implement -t option to zpool create for temporary pool names
Kernel header installation should respect --prefix
Search /usr/local/src for SPL Object Directory
Make directory into which mount.zfs is installed configurable
Make systemd-modules-load.service file directory configurable
Use is_vmalloc_addr() in vdev_disk.c
Use kmem_vasprintf() in log_internal()
Use (void) memcpy(), not (void *) memcpy()
Increase Linux pipe buffer size on 'zfs receive'
Saso Kiselkov (1):
Illumos 4897 - Space accounting mismatch in L2ARC/zpool
SenH (1):
Fix man zpool property feature_guid
Stanislav Seletskiy (1):
Fix invalid locking order in rename operation
Steffen M<C3><BC>thing (2):
Add required files to initramfs
Fix error in dracut script if not using ZFS root
S<C3><B6>ren Tempel (2):
Use test(1) in a proper way
Write directly to $initdir
Tim Chase (20):
Comment the lack of real_LZ4_uncompress()
Return default value on numeric properties failing the "head check.
Document the optional "device" argument for "zpool split"
Convert zfs_mg_noalloc_threshold to a module parameter and document
zed needs libzfs_core
Don't upgrade a metaslab when the pool is not writable
Implement fallocate FALLOC_FL_PUNCH_HOLE
Document the "readonly" pool property
Perform whole-page page truncation for hole-punching under a range
lock
Don't perform ACL-to-mode translation on empty ACL
Linux 3.12 compat: shrinker semantics
Undirty freed spill blocks.
Linux 3.12 compat: split shrinker has s_shrink
Fix removal of SA in sa_modify_attrs()
Spurious ENOMEM returns when reading dbufs kstat
Produce a full snapshot list for zfs send -p
Enhancements to zpool dry run mode.
Avoid dladdr() in ztest
Set the maximum ZVOL transfer size correctly
Mark all ZPL and ioctl functions as PF_FSTRANS
Tom Prince (2):
Install header during post-build rather than post-install.
Point dkms build at installed source tree, rather than build dir
Turbo Fredriksson (11):
Add information about the -o option to zpool replace
Initial attempt to document events and payloads.
Support '-H' (scripted mode) to 'zpool get'
Add bash completions by Aneurin Price.
Create an 'overlay' property
Add a pkgconfig file
Document environment variables for zdb, zfs, zinject and zpool.
Add an example for 'zfs bookmark' to the Example section.
Add a stern warning about dedup
Install arc_summary.py
Move duplicate information about the 'zfs send -e' option.
alteriks (1):
Import zfs pools after cryptsetup
avg (1):
fix l2arc compression buffers leak
cburroughs (2):
Add arc_summary.py from FreeNAS
Modified arc_summary.py to run on linux
ilovezfs (2):
Fragmentation should display as '-' if spacemap_histogram=disabled
Fix zpool create -t ENOENT bug.
louwrentius (1):
Change delimiter for ZED email scripts
smh (2):
FreeBSD PR kern/172259: Fixes zfs receive errors
Prevent ZFS leaking pool free space
--
Thanks,
Brian
_______________________________________________
zfs-announce mailing list
zfs-announce-bbPZIewyPPxDbMRORQRxHEB+6BGkLq7r@public.gmane.org
http://list.zfsonlinux.org/mailman/listinfo/zfs-announce