HomeFreeBSD

Improve dbuf_read() error reporting

Description

Improve dbuf_read() error reporting

Previous code reported non-ZIO errors only via return value, but
not via parent ZIO. It could cause NULL-dereference panics due
to dmu_buf_hold_array_by_dnode() ignoring the return value,
relying solely on parent ZIO status.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>
Reported by: Ameer Hamza <ahamza@ixsystems.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16042

Details

Provenance
mavAuthored on Apr 3 2024, 10:04 PM
GitHub <noreply@github.com>Committed on Apr 3 2024, 10:04 PM
Parents
rG39be46f43f96: Linux 5.18+ compat: Detect filemap_range_has_page
Branches
Unknown
Tags
Unknown