OpenZFS on Linux and FreeBSD
Go to file
Alexander Motin 523e1295fe
Introduce limit on size of L2ARC headers
Since L2ARC buffers are not evicted on memory pressure, too large
amount of headers on system with irrationally large L2ARC can render
it slow or even unusable.  This change limits L2ARC writes and
rebuild if unevictable L2ARC-only headers reach dangerous level.

While there, call arc_adapt() on L2ARC rebuild, so that it could
properly grow arc_c, reflecting potentially significant ARC size
increase and avoiding slow growth with hopeless eviction attempts
later when "overflow" is detected.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reported-by: Richard Elling <Richard.Elling@RichardElling.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #10765
2020-08-25 14:33:36 -07:00
.github Add Stale-bot 2020-08-24 12:04:38 -07:00
cmd Import vdev ashift optimization from FreeBSD 2020-08-21 12:53:17 -07:00
config Import ZStandard v1.4.5 2020-08-20 10:30:06 -07:00
contrib Remove vestigial settings related to initramfs 2020-08-22 11:04:49 -07:00
etc Remove vestigial settings related to initramfs 2020-08-22 11:04:49 -07:00
include Don't assert on nvlists larger than SPA_MAXBLOCKSIZE 2020-08-25 11:04:20 -07:00
lib Don't assert on nvlists larger than SPA_MAXBLOCKSIZE 2020-08-25 11:04:20 -07:00
man Introduce limit on size of L2ARC headers 2020-08-25 14:33:36 -07:00
module Introduce limit on size of L2ARC headers 2020-08-25 14:33:36 -07:00
rpm Use correct prefix for share/pam-configs 2020-07-30 09:09:46 -07:00
scripts ZTS: Remove leftover variable names 2020-08-22 11:05:59 -07:00
tests ZTS: Improve block_device_wait on FreeBSD 2020-08-24 08:50:15 -07:00
udev Centralize variable substitution 2020-07-14 17:33:44 -07:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Add FreeBSD support to OpenZFS 2020-04-14 11:36:28 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add zstd support to zfs 2020-08-20 10:30:06 -07:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2019-04-30 10:58:45 -07:00
COPYRIGHT Fix typos 2020-06-09 21:24:09 -07:00
LICENSE Update build system and packaging 2018-05-29 16:00:33 -07:00
META Tag 2.0.0-rc1 2020-08-25 13:11:25 -07:00
Makefile.am Silence 'make checkbashisms' 2020-08-20 13:45:47 -07:00
NEWS Add NEWS file 2018-09-18 12:03:47 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Update wiki links with new address 2020-06-03 19:46:31 -07:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
autogen.sh Cause autogen.sh to fail if autoreconf fails 2018-07-06 09:27:37 -07:00
configure.ac Add zstd support to zfs 2020-08-20 10:30:06 -07:00
copy-builtin Move zfs_gitrev.h to build directory 2020-06-24 18:19:28 -07:00
cppcheck-suppressions.txt Import ZStandard v1.4.5 2020-08-20 10:30:06 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.md

img

OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

codecov coverity

Official Resources

Installation

Full documentation for installing OpenZFS on your favorite Linux distribution can be found at the ZoL Site.

Contribute & Develop

We have a separate document with contribution guidelines.

We have a Code of Conduct.

Release

OpenZFS is released under a CDDL license. For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported Linux kernel versions.
  • Supported FreeBSD versions are 12-STABLE and 13-CURRENT.