[LU-6477] Update ZFS/SPL version to 0.6.4.1 Created: 20/Apr/15  Updated: 07/Apr/17  Resolved: 01/May/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.8.0
Fix Version/s: Lustre 2.8.0

Type: Improvement Priority: Minor
Reporter: Nathaniel Clark Assignee: Nathaniel Clark
Resolution: Fixed Votes: 0
Labels: zfs

Issue Links:
Blocker
is blocked by LU-6038 ZFS 0.6.4 Compatibility Resolved
Duplicate
is duplicated by LU-6133 sanity test_56a: timeout Resolved
Related
is related to LU-6440 Update ZFS/SPL version to 0.6.3-1.3 Resolved
Rank (Obsolete): 9223372036854775807

 Description   

ZFS/SPL version 0.6.4 was release around April 8th, 2015.

It includes many changes and improvements:

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

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.



 Comments   
Comment by Gerrit Updater [ 20/Apr/15 ]

Nathaniel Clark (nathaniel.l.clark@intel.com) uploaded a new patch: http://review.whamcloud.com/14505
Subject: LU-6477 build: Update SPL/ZFS to 0.6.4
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d74e66b33e879f9311720983128b19e20b993219

Comment by Isaac Huang (Inactive) [ 20/Apr/15 ]

Given the # of bug reports for 0.6.4, I'd suggest to wait for it to settle down a bit.

Comment by Andreas Dilger [ 21/Apr/15 ]

Isaac, can you please be more specific about 0.6.4 bug reports (e.g. add links to those issues here)? I know there were reports about problems with ZFS as the root filesystem, but I'm not aware of others.

Comment by Isaac Huang (Inactive) [ 21/Apr/15 ]

I didn't look closely at the problems, but just the #/frequency of the reports caused concern. Also, Brian said 0.6.4.1 would be out this week, so it'd make sense to at least wait for that.

Comment by Nathaniel Clark [ 24/Apr/15 ]

Altered patch to just use 0.6.4.1 instead. Additional bug fixes are as follows:

Bug Fixes

  • Fixed io-spare.sh script for ZED.
  • Fixed multiple deadlocks which might occur when reclaiming memory.
  • Fixed excessive CPU usage for meta data heavy workloads when reclaiming the ARC.
Comment by Gerrit Updater [ 01/May/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/14505/
Subject: LU-6477 build: Update SPL/ZFS to 0.6.4.1
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: ec772b86dc6a0fffd39a359459173f5fdeb9fc8a

Comment by Peter Jones [ 01/May/15 ]

Landed for 2.8

Generated at Sat Feb 10 02:00:34 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.