]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - contrib/expat/doc/valid-xhtml10.png
MFV r245512:
authordelphij <delphij@FreeBSD.org>
Sat, 9 Feb 2013 06:39:28 +0000 (06:39 +0000)
committerdelphij <delphij@FreeBSD.org>
Sat, 9 Feb 2013 06:39:28 +0000 (06:39 +0000)
commitc6d9dc1ad2d2e36220845b84a2d180bd97354797
treec4610073af7b690ab8405c694b1d4327325f042d
parenta49e0b73452f93f1ba4f9227c93f8802ac62b9e1
parent325800a864f05404b03fe290f05f64f9ae496622
MFV r245512:

 * Illumos zfs issue #3035 [1] LZ4 compression support in ZFS.

LZ4 is a new high-speed BSD-licensed compression algorithm created
by Yann Collet that delivers very high compression and decompression
performance compared to lzjb (>50% faster on compression, >80% faster
on decompression and around 3x faster on compression of incompressible
data), while giving better compression ratio [1].

This version of LZ4 corresponds to upstream's [2] revision 85.

Please note that for obvious reasons this is not backward read
compatible.  This means once a pool have LZ4 compressed data, these
data can no longer be read by older ZFS implementations.

Local changes:

 - On-stack hash table disabled and using kernel slab allocator
   instead, at this time.  This requires larger kernel thread stack
   for zio workers.  This may change in the future should we adjusted
   the zio workers' thread stack size.
 - likely and unlikely will be undefined if they are already defined,
   this is required for i386 XEN build.
 - Removed De Bruijn sequence based __builtin_ctz family of builtins
   in favor of the latter.  Both GCC and clang supports these builtins.
 - Changed the way the LZ4 code detects endianness.
 - Manual pages modifications to mention the feature based on Illumos
   counterpart.
 - Boot loader changes to make it support LZ4 decompression.

[1] https://www.illumos.org/issues/3035
[2] http://code.google.com/p/lz4/source/list

Obtained from: Illumos (13921:9d721847e469)
Tested on: FreeBSD/amd64
MFC after: 1 month
19 files changed:
cddl/contrib/opensolaris/cmd/zfs/zfs.8
cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
sys/cddl/boot/zfs/README
sys/cddl/boot/zfs/lz4.c
sys/cddl/boot/zfs/zfsimpl.h
sys/cddl/boot/zfs/zfssubr.c
sys/cddl/compat/opensolaris/sys/byteorder.h
sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
sys/cddl/contrib/opensolaris/uts/common/Makefile.files
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/THIRDPARTYLICENSE.lz4.descrip
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c
sys/conf/files