OpenZFS on Linux and FreeBSD
Go to file
Matthew Macy 36f36610c3 Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate
There are a number of places where cv_?_sig is used simply for
accounting purposes but the surrounding code has no ability to
cope with actually receiving a signal. On FreeBSD it is possible
to send signals to individual kernel threads so this could
enable undesirable behavior.

This patch adds routines on Linux that will do the same idle
accounting as _sig without making the task interruptible. On
FreeBSD cv_*_idle  are all aliases for cv_*

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #10843
2020-09-09 10:21:01 -07:00
.github Add Stale-bot 2020-08-24 12:04:38 -07:00
cmd Add 'zfs rename -u' to rename without remounting 2020-09-03 16:16:15 -07:00
config Linux 5.9 compat: NR_SLAB_RECLAIMABLE 2020-08-30 14:18:50 -07:00
contrib Remove vestigial settings related to initramfs 2020-08-22 11:04:49 -07:00
etc Fix another dependency loop 2020-08-30 14:18:45 -07:00
include Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate 2020-09-09 10:21:01 -07:00
lib Fix -Werror,-Wmacro-redefined in limits.h 2020-09-03 16:16:42 -07:00
man Add 'zfs rename -u' to rename without remounting 2020-09-03 16:16:15 -07:00
module Replace cv_{timed}wait_sig with cv_{timed}wait_idle where appropriate 2020-09-09 10:21:01 -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 Make spa_stats.c tunables visible on FreeBSD 2020-09-03 16:16:34 -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 Fix NEWS file 2020-08-27 16:07:01 -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.