]> git.proxmox.com Git - mirror_zfs.git/commit
DMU: Fix lock leak on dbuf_hold() error
authorAlexander Motin <mav@FreeBSD.org>
Sat, 9 Dec 2023 00:43:39 +0000 (19:43 -0500)
committerGitHub <noreply@github.com>
Sat, 9 Dec 2023 00:43:39 +0000 (16:43 -0800)
commite53e60c0bda6ee5ae9524361d8210ccaf5d5d45e
treebf55d03197b25b2331ada9b74fa84125ddfec479
parent2ebb9a4811ce14dc624cd085d959d74bf2da8e4e
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
module/zfs/dmu.c