X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Farc.c;h=df3aeb7347576c89178d3554e60bc1cba38bdbb0;hb=b4f7f105275d996fbcb6abd65760307d2153a89b;hp=de869666b9d3aa3cd2553630dbbf6c47772dfe15;hpb=8e07b99b2f5e1e281af72e07dee87301c8872f56;p=zfs.git diff --git a/module/zfs/arc.c b/module/zfs/arc.c index de86966..df3aeb7 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -1642,7 +1642,7 @@ int arc_buf_remove_ref(arc_buf_t *buf, void* tag) { arc_buf_hdr_t *hdr = buf->b_hdr; - kmutex_t *hash_lock = HDR_LOCK(hdr); + kmutex_t *hash_lock = NULL; int no_callback = (buf->b_efunc == NULL); if (hdr->b_state == arc_anon) { @@ -1651,6 +1651,7 @@ arc_buf_remove_ref(arc_buf_t *buf, void* tag) return (no_callback); } + hash_lock = HDR_LOCK(hdr); mutex_enter(hash_lock); hdr = buf->b_hdr; ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));