Go to file
Mark Johnston d76d79fd27
zio: Avoid sleeping in the I/O path
zio_delay_interrupt(), apparently used for fault injection, is executed
in the I/O pipeline.  It can cause the calling thread to go to sleep,
which is not allowed on FreeBSD.  This happens only for small delays,
though, and there's no apparent reason to avoid deferring to a taskqueue
in that case, as it already does otherwise.

Simply go to sleep unconditionally.  This fixes an occasional panic I
see when running the ZTS on FreeBSD.  Also remove an unhelpful comment
referencing the non-existent timeout_generic().

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by:  Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Closes #16785
2024-11-20 08:23:08 -08:00
.github CI: Automate some GitHub PR status labels manipulations 2024-11-04 17:16:32 -08:00
cmd Remove hash_elements_max accounting from DBUF and ARC 2024-11-19 07:00:16 -08:00
config Use simple folio migration function 2024-11-06 11:44:10 -08:00
contrib Fix inconsistent mount options for ZFS root 2024-10-17 09:09:39 -04:00
etc etc/init.d: decide which variant to use at build time. 2024-04-08 16:52:24 -07:00
include BRT: More optimizations after per-vdev splitting 2024-11-20 06:20:14 -08:00
lib Fix user properties output for zpool list 2024-11-11 09:46:45 -08:00
man Expand zpool-remove.8 manpage with example results 2024-11-19 06:52:04 -08:00
module zio: Avoid sleeping in the I/O path 2024-11-20 08:23:08 -08:00
rpm Bump SONAME of libzfs and libzpool 2024-10-06 14:49:33 -07:00
scripts config: remove ZFS_GLOBAL_ZONE_PAGE_STATE and ZFS_ENUM_* generation 2024-09-18 11:23:50 -07:00
tests ZTS: Fix zpool_status_008_pos false positive 2024-11-20 06:13:32 -08:00
udev vdev_id: multi-lun disks & slot num zero pad 2024-10-08 17:43:04 -07:00
.cirrus.yml CI: add FreeBSD build with Cirrus CI 2023-10-06 08:50:26 -07:00
.editorconfig
.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 AUTHORS: refresh with recent new contributors 2024-11-15 15:00:06 -08:00
AUTHORS AUTHORS: refresh with recent new contributors 2024-11-15 15:00:06 -08:00
autogen.sh Ubuntu 22.04 integration: ShellCheck 2022-11-18 11:24:48 -08:00
CODE_OF_CONDUCT.md Documentation corrections 2022-12-22 11:34:28 -08:00
configure.ac config/kernel: enforce maximum kernel version, with escape hatch 2024-09-23 10:44:49 -07:00
copy-builtin copy-builtin: add hooks with sed/>> 2022-05-10 10:17:43 -07:00
COPYRIGHT
LICENSE
Makefile.am Process script directory for all configs 2022-10-27 16:45:14 -07:00
META Update META 2024-10-04 14:20:10 -07:00
NEWS
NOTICE
README.md FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-08-05 16:56:45 -07:00
RELEASES.md
TEST
zfs.release.in

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.