Go to file
Ameer Hamza a8646a8186
ZED: Fix device type detection and pool iteration logic
During hotplug REMOVED events, devid matching fails for partition-based
spares because devid information is not stored in pool config for
partitioned devices. However, when devid is populated by the hotplug
event, the original code skipped the search logic entirely, skipping
vdev_guid matching and resulting in wrong device type detection that
caused spares to be incorrectly identified as l2arc devices.
Additionally, fix zfs_agent_iter_pool() to use the return value from
zfs_agent_iter_vdev() instead of relying on search parameters, which
was previously ignored. Also add pool_guid optimization to enable
targeted pool searching when pool_guid is available.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #17545
2025-07-24 15:47:46 -07:00
.github CI: Add CentOS Stream 9/10 to the FULL_OS runner list 2025-07-15 10:00:35 -07:00
cmd ZED: Fix device type detection and pool iteration logic 2025-07-24 15:47:46 -07:00
config Define sops->free_inode() to prevent use-after-free during lookup 2025-07-18 08:45:13 -07:00
contrib Add templated zfs-mount@.service 2025-07-03 14:24:07 -07:00
etc Add templated zfs-mount@.service 2025-07-03 14:24:07 -07:00
include spa: update blkptr diagram to include vdev padding on encrypted blocks 2025-07-24 09:50:23 -04:00
lib everywhere: misc unnecessary var init/update 2025-07-22 15:23:58 -07:00
man Allow and prefer special vdevs as ZIL 2025-07-18 18:44:14 -07:00
module linux: Fix out-of-src builds 2025-07-24 15:38:58 -07:00
rpm Add templated zfs-mount@.service 2025-07-03 14:24:07 -07:00
scripts mod.h: make consistent across all three platforms 2025-07-15 15:46:14 -07:00
tests everywhere: misc unnecessary var init/update 2025-07-22 15:23:58 -07:00
udev Update 69-vdev.rules.in 2025-05-21 10:05:11 -07: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 AUTHORS/mailmap: update with new contributors 2025-05-13 09:24:03 -07:00
AUTHORS AUTHORS/mailmap: update with new contributors 2025-05-13 09:24:03 -07: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 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 spdxcheck: program to check SPDX license tags 2025-03-13 17:57:51 -07:00
META Linux 6.15 compat: META 2025-05-28 16:28:02 -07: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 FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-08-05 16:56:45 -07: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.