ZFSOnLinux 0.6.2 was tagged yesterday. The following distributions should already have the latest packages:

  • Gentoo
  • Funtoo
  • RHEL/CentOS (ZFSOnLinux repository)
  • Fedora (ZFSOnLinux Repository)
  • Ubuntu (ZFSOnLinux PPA)


Release notes are available on the ZFSOnLinux mailing list:

https://groups.google.com/a/zfsonlin...ce/DOAuSF7kjsU

This release notes list numerous bug fixes and several new features. The changes that should be most visible to end-users are:

  • Increased read performance on mirrors (by queuing reads to the least busy device)
  • Increased IOPS Performance when using L2ARC (by doing LZ4 compression)
  • Linux 3.10 and Linux 3.11 compatibility
  • GRSecurity/PaX compatiblity (Linux 3.8 and later; earlier versions were fine)
  • User name space compatibility (Linux 3.8 and later; earlier versions were fine)


In addition, ZFSOnLinux now has an internal database of drives known to misreport sector size information, which should improve the performance of pools made by people unaware of ashift whenever they use hardware listed in the database. For those who are unaware, there is an internal setting called ashift (alignment shift) that is set internally at vdev creation (pools are made out of vdevs). This determines the layout of the disk format such that the minimum block size is 2^ashift. ZFS automatically picks the value of ashift by calculating the base-2 logarithm of drives' reported physical sector size (512-bytes is 9; 4096-bytes is 12) and using the largest one found in a vdev; this makes ashift analogous to blocksize in other filesystems. In an ideal world, this would be sufficient ensure vdevs are always created with proper alignment. Unfortunately, most (all?) SSDs and some advanced format disks misreport their sector sizes for Windows XP compatibility. ZFSOnLinux allows system administrators to override ashift at vdev/pool creation to ensure that the proper value is used, but ZFS will suffer from a fairly severe misalignment penalty on such hardware when this is not done. Other filesystems tend to default to a 4096-byte sector size, regardless of what the drive reports.

The new database does not include every drive that misreports sector size information, but it covers dozens of drives that do and it will grow as users contact me with missing entries. Instructions for those who wish to contribute are available on the mailing list. Note that the link to the database is outdated. The current database is visible in the repository.

https://groups.google.com/a/zfsonlin...g/qCygxkVWam4J
https://github.com/zfsonlinux/zfs/bl...ol_vdev.c#L108

The hardware used in Phoronix benchmarks is known to misreport its sector size. Last year, Michael informed me that ZFSOnLinux had to fix this for him. I am happy to state that is now the case. This should make Phoronix's benchmarks more accurately compare ZFSOnLinux' real world single-disk performance in synthetic benchmarks with that of other filesystems.