George Amanakis 2a49ebbb4d Avoid panic in case of pool errors and missing L2ARC
In case an ARC buffer is allocated only on L2ARC, and there are
underlying errors in a pool with the cache device in faulty state, a
panic can occur in arc_read_done()->arc_hdr_destroy()->
arc_hdr_l2arc_destroy()->arc_hdr_clear_flags() when trying to free
the ARC buffer.

Fix this by discarding the buffer's identity in arc_hdr_destroy(), in
case the buffer is not empty, before calling arc_hdr_l2hdr_destroy().

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #12392
2021-09-16 09:40:15 -07:00
2021-09-02 10:02:27 -07:00
2021-09-14 10:17:54 -06:00
2021-09-14 10:17:54 -06:00
2021-09-14 10:17:54 -06:00
2021-09-14 10:17:54 -06:00
2021-06-11 09:38:23 -06:00
2021-09-14 10:17:54 -06:00
2020-04-14 11:36:28 -07:00
2020-08-20 10:30:06 -07:00
2021-08-17 10:25:58 -07:00
2021-05-08 08:58:26 -07:00
2020-06-09 21:24:09 -07:00
2018-05-29 16:00:33 -07:00
2021-09-02 10:01:45 -07:00
2021-09-15 14:09:31 -07:00
2020-08-26 21:44:41 -07:00
2018-05-29 16:00:33 -07:00
2021-03-16 15:03:28 -07:00
2021-04-02 16:33:40 -07:00
2020-03-16 10:46:03 -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 12.2-RELEASE.
S
Description
No description provided
Readme 122 MiB
Languages
C 70.2%
Shell 19.9%
Assembly 5.1%
M4 1.9%
Python 1.6%
Other 1.3%