OpenZFS on Linux and FreeBSD https://openzfs.github.io/openzfs-docs
Find a file
Alexander Motin 3d76ba2737
Improve async destroy processing timing
Previous code effectively enforced that all async free ZIOs were
_issued_ within the TXG timeout.  But they could take forever to
complete, especially if the required metadata were not in ARC.

This patch introduces periodic waits every 2000 ZIOs, which should
give at least somewhat reasonable TXG timings even for single HDD
pools with empty ARC.  And makes them complete within half of the
TXG timeout, since we might still need time to sync DDT and BRT.

While there, change zfs_max_async_dedup_frees semantics to include
also clone and gang blocks, which are similar.  Bump the default
value from set long ago to be more forgiving to block cloning
(still not having logs and benefiting from large TXGs), now that
we have better working time limits.  The limit now is a possible
amount of dirty data produced by BRT updates.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>
Closes #18043
2025-12-11 18:46:08 -08:00
.github During CI, use nproc instead of sysctl -n hw.ncpu 2025-12-04 16:57:15 -08:00
cmd raidz_test: Restore rand_data protection 2025-12-01 14:34:52 -08:00
config Linux: work around use of GPL-only symbol kasan_flag_enabled 2025-12-10 10:04:57 -08:00
contrib libuutil: remove packaging 2025-11-17 06:23:17 -08:00
etc docs: fix a few small typos (#17804) 2025-10-01 10:15:46 -07:00
include Improve async destroy processing timing 2025-12-11 18:46:08 -08:00
lib Ensure 64-bit off_t is used in user space instead of loff_t 2025-12-10 09:45:39 -08:00
man Improve async destroy processing timing 2025-12-11 18:46:08 -08:00
module Improve async destroy processing timing 2025-12-11 18:46:08 -08:00
rpm libuutil: remove packaging 2025-11-17 06:23:17 -08:00
scripts CI: exclude signed-off-by/reviewed-by from 72 char limit 2025-12-09 09:12:32 -08:00
tests ZTS: Fix zvol_misc_fua SLOG writes check 2025-12-11 18:43:59 -08:00
udev zvol_id: make array length properly known at compile time 2025-12-01 10:19:40 -08:00
.editorconfig Add an .editorconfig; document git whitespace settings 2020-01-27 13:32:52 -08:00
.gitignore Packaging: Auto-generate changelog during configure (#15528) 2023-11-16 08:58:47 -08:00
.gitmodules .gitmodules: link to openzfs github repository 2021-04-12 09:37:23 -07:00
.mailmap mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
AUTHORS mailmap/AUTHORS: update with recent new contributors 2025-10-22 09:27:54 -07:00
autogen.sh autogen.sh: remove workaround for automake <1.14, needed for EL <=7 2025-10-30 16:26:56 -07:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
configure.ac Linux build: handle CONFIG_OBJTOOL_WERROR=y 2025-06-16 08:12:09 -07:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -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
Makefile.am Install zarcstat and zarcsummary symlinks in Makefile 2025-09-05 10:00:48 -07:00
META Linux 6.18 compat: META (#18039) 2025-12-10 09:04:24 -08:00
NEWS Fix NEWS file 2020-08-26 21:44:41 -07:00
NOTICE Update build system and packaging 2018-05-29 16:00:33 -07:00
README.md Fix capitalization typo in README.md 2025-11-03 16:37:58 -08:00
RELEASES.md Update RELEASES.md LTS release to 2.2 2025-01-17 11:04:36 -05:00
TEST Remove CI builder customization from TEST 2020-03-16 10:46:03 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

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 operating system can be found at the Getting Started Page.

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 any supported branches and releases starting from 13.0-RELEASE.