FreeBSD'fy ZFS zlib zalloc/zfree callbacks.The previous code came from OpenSolaris, which in my understanding requireallocation size to be known to free memory. To store that size previouscode a
FreeBSD'fy ZFS zlib zalloc/zfree callbacks.The previous code came from OpenSolaris, which in my understanding requireallocation size to be known to free memory. To store that size previouscode allocated additional 8 byte header. But I have noticed that zlibwith present settings allocates 64KB context buffers for each call, thatcould be efficiently cached by UMA, but addition of those 8 bytes makesthem fall back to physical RAM allocations, that cause huge overhead andlock congestion on small blocks. Since FreeBSD's free() does not havethe size argument, switching to it solves the problem, increasing writespeed to ZVOLs with 4KB block size and GZIP compression on my 40-threadstest system from ~60MB/s to ~600MB/s.MFC after: 1 weekSponsored by: iXsystems, Inc.
show more ...
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib,with an eventual goal to convert all legacl zlib callers to the new zlibversion: * Move generic zlib shims that are not s
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib,with an eventual goal to convert all legacl zlib callers to the new zlibversion: * Move generic zlib shims that are not specific to zlib 1.0.4 to sys/dev/zlib. * Connect new zlib (1.2.11) to the zlib kernel module, currently built with Z_SOLO. * Prefix the legacy zlib (1.0.4) with 'zlib104_' namespace. * Convert sys/opencrypto/cryptodeflate.c to use new zlib. * Remove bundled zlib 1.2.3 from ZFS and adapt it to new zlib and make it depend on the zlib module. * Fix Z_SOLO build of new zlib.PR: 229763Submitted by: Yoshihiro Ota <ota j email ne jp>Reviewed by: markm (sys/dev/zlib/zlib_kmod.c)Relnotes: yesDifferential Revision: https://reviews.freebsd.org/D19706
- rename atomic.S and crc32.c to avoid collisions when linking zfs in to the kernel- update Makefile- ifdef out acl_{alloc, free}, they aren't used by zfs and conflict with existing in-kernel routi
- rename atomic.S and crc32.c to avoid collisions when linking zfs in to the kernel- update Makefile- ifdef out acl_{alloc, free}, they aren't used by zfs and conflict with existing in-kernel routines
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.This bring huge amount of changes, I'll enumerate only user-visible changes:- Delegated Administration Allows regular use
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.This bring huge amount of changes, I'll enumerate only user-visible changes:- Delegated Administration Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc.- L2ARC Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content.- slog Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2).- vfs.zfs.super_owner Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one.- chflags(2) Not all the flags are supported. This still needs work.- ZFSBoot Support to boot off of ZFS pool. Not finished, AFAIK. Submitted by: dfr- Snapshot properties- New failure modes Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests- Refquota, refreservation properties Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots.- Sparse volumes ZVOLs that don't reserve space in the pool.- External attributes Compatible with extattr(2).- NFSv4-ACLs Not sure about the status, might not be complete yet. Submitted by: trasz- Creation-time properties- Regression tests for zpool(8) command.Obtained from: OpenSolaris
Please welcome ZFS - The last word in file systems.ZFS file system was ported from OpenSolaris operating system. The code in underCDDL license.I'd like to thank all SUN developers that created t
Please welcome ZFS - The last word in file systems.ZFS file system was ported from OpenSolaris operating system. The code in underCDDL license.I'd like to thank all SUN developers that created this great piece of software.Supported by: Wheel LTD (http://www.wheel.pl/)Supported by: The FreeBSD Foundation (http://www.freebsdfoundation.org/)Supported by: Sentex (http://www.sentex.net/)