HomeFreeBSD

Illumos #3035 LZ4 compression support in ZFS and GRUB

Description

Illumos #3035 LZ4 compression support in ZFS and GRUB

3035 LZ4 compression support in ZFS and GRUB

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Christopher Siden <csiden@delphix.com>

References:

illumos/illumos-gate@a6f561b4aee75d0d028e7b36b151c8ed8a86bc76
https://www.illumos.org/issues/3035
http://wiki.illumos.org/display/illumos/LZ4+Compression+In+ZFS

This patch has been slightly modified from the upstream Illumos
version to be compatible with Linux. Due to the very limited
stack space in the kernel a lz4 workspace kmem cache is used.
Since we are using gcc we are also able to take advantage of the
gcc optimized __builtin_ctz functions.

Support for GRUB has been dropped from this patch. That code
is available but those changes will need to made to the upstream
GRUB package.

Lastly, several hunks of dead code were dropped for clarity. They
include the functions real_LZ4_uncompress(), LZ4_compressBound()
and the Visual Studio specific hunks wrapped in _MSC_VER.

Ported-by: Eric Dillmann <eric@jave.fr>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1217

Details

Provenance
Eric Dillmann <eric@jave.fr>Authored on Jan 23 2013, 9:54 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jan 29 2013, 5:28 PM
Parents
rGff5b1c8065c8: Quiet mkfs.ext2 output
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG9759c60f1a15: Illumos #3035 LZ4 compression support in ZFS and GRUB (authored by Eric Dillmann <eric@jave.fr>).Jan 29 2013, 5:28 PM