HomeFreeBSD

DMU: Fix lock leak on dbuf_hold() error

Description

DMU: Fix lock leak on dbuf_hold() error

dmu_assign_arcbuf_by_dnode() should drop dn_struct_rwlock lock in
case dbuf_hold() failed. I don't have reproduction for this, but
it looks inconsistent with dmu_buf_hold_noread_by_dnode() and co.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15644

Details

Provenance
mavAuthored on Dec 9 2023, 12:43 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jan 9 2024, 12:11 AM
Parents
rGe09356fa05ff: BRT: Limit brt_vdev_dump() to only one vdev
Branches
Unknown
Tags
Unknown