12.0-RELEASE zfs/vnode deadlock issue
Andriy Gapon
avg at FreeBSD.org
Sat Mar 2 17:57:05 UTC 2019
On 01/03/2019 17:00, Nick Rogers wrote:
> 36704 101146 perl - mi_switch+0xe1
> sleepq_wait+0x2c sleeplk+0x1c5 lockmgr_xlock_hard+0x19c VOP_LOCK1_APV+0x7e
> _vn_lock+0x40 zfs_znode_alloc+0x434 zfs_mknode+0xa9d
> zfs_freebsd_create+0x512 VOP_CREATE_APV+0x78 vn_open_cred+0x2c9
> kern_openat+0x20c amd64_syscall+0x369 fast_syscall_common+0x101
I suspect that this thread is a root cause of the problem.
In this place, the vnode should be freshly created and not visible to anything
but the current thread. So, vn_lock() should always immediately succeed. I
cannot understand how the vnode lock could be held by another thread.
--
Andriy Gapon
More information about the freebsd-stable
mailing list