diff options
author | lidongyang <[email protected]> | 2019-02-23 04:48:37 +1100 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-02-22 09:48:37 -0800 |
commit | 8d9e51c084805237a36420e6cdcd8e2e9801a7cf (patch) | |
tree | 250c85d7ccbcf69cbb09b0ce1cddc2c188be4a68 /lib/libspl | |
parent | f8bb2a7e0c889d6c5cf7655d698869b3a32c2bb0 (diff) |
Fix dnode_hold_impl() soft lockup
Soft lockups could happen when multiple threads trying
to get zrl on the same dnode handle in order to allocate
and initialize the dnode marked as DN_SLOT_ALLOCATED.
Don't loop from beginning when we can't get zrl, otherwise
we would increase the zrl refcount and nobody can actually
lock it.
Reviewed by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Li Dongyang <[email protected]>
Closes #8433
Diffstat (limited to 'lib/libspl')
0 files changed, 0 insertions, 0 deletions