Files
mirror_zfs/module/zfs
Alexander Motin 87a4dfa561 Improve arc_read() error reporting
Debugging reported NULL de-reference panic in dnode_hold_impl() I found
that for certain types of errors arc_read() may only return error code,
but not properly report it via done and pio arguments.  Lack of done
calls may result in reference and/or memory leaks in higher level code.
Lack of error reporting via pio may result in unnoticed errors there.
For example, dbuf_read(), where dbuf_read_impl() ignores arc_read()
return, relies completely on the pio mechanism and missed the errors.

This patch makes arc_read() to always call done callback and always
propagate errors to parent zio, if either is provided.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #14454
2023-02-13 13:21:53 -08:00
..
2022-03-15 15:13:42 -07:00
2023-02-13 13:21:53 -08:00
2022-03-15 15:13:42 -07:00
2023-01-25 11:30:24 -08:00
2023-01-10 13:39:22 -08:00
2022-10-20 11:57:15 -07:00
2022-10-29 13:05:11 -07:00
2023-01-04 17:29:54 -07:00
2023-01-12 16:00:23 -08:00
2023-01-04 17:29:54 -07:00
2023-01-25 11:30:24 -08:00
2023-01-20 11:01:41 -08:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2019-06-19 09:48:12 -07:00
2022-10-12 11:25:18 -07:00
2022-09-30 15:34:39 -07:00
2022-03-15 15:13:42 -07:00
2023-01-25 11:28:54 -08:00
2022-10-27 09:54:54 -07:00
2022-10-20 11:57:15 -07:00
2022-09-02 13:31:19 -07:00
2023-01-12 16:00:30 -08:00
2022-10-28 09:49:20 -07:00
2023-01-24 09:20:32 -08:00
2022-11-29 09:26:03 -08:00