[Bug 258208] [zfs] locks up when using rollback or destroy on both 13.0-RELEASE & sysutils/openzfs port

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 27 Oct 2021 21:01:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258208

--- Comment #18 from Mark Johnston <markj@FreeBSD.org> ---
Some stress testing revealed a couple of problems with the original approach of
overriding vop_lock:
1. rms read locks don't permit recursion.  This isn't really obvious since
nothing asserts that, rms locks need to use witness.
2. Even if reader recursion is permitted, deadlocks can occur when threads lock
multiple vnodes (as can happen during lookup).  In particular, thread A may be
blocked on reader thread B while trying to acquire the teardown write lock, and
thread B may be blocked on a vnode lock owned by thread C, which is blocked
from acquiring the teardown read lock by thread A.  So we'd need some deadlock
avoidance mechanism there, or a different approach.

-- 
You are receiving this mail because:
You are the assignee for the bug.