Date: Mon, 09 Jul 2018 07:30:45 +0000 From: bugzilla-noreply@freebsd.org To: fs@FreeBSD.org Subject: [Bug 229614] ZFS lockup in zil_commit_impl Message-ID: <bug-229614-3630-Rmr88d7eHd@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-229614-3630@https.bugs.freebsd.org/bugzilla/> References: <bug-229614-3630@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D229614 --- Comment #7 from Andriy Gapon <avg@FreeBSD.org> --- (In reply to Michael Gmelin from comment #5) I am confident that it's the same bug. I think that it is a deadlock between a thread like the one from comment #0= and a thread like this: zfs_zget+0x1b4 zfs_get_data+0x7c zil_commit+0x926 zfs_sync+0xad sys_sync+0x= e6 amd64_syscall+0x2f6 Xfast_syscall+0xfb The first thread is waiting on zil_commit in the second thread to complete. At the same time the second thread is waiting (in zfs_zget) on the first th= read to finish reclaiming the vnode. I think I understand the problem, but I do not see an easy way to fix it. Checking the vnode state in zil_commit -> zfs_get_data -> zfs_zget is problematic as zil_commit can be called from vnode operations while an arbitrary other vnode is locked. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-229614-3630-Rmr88d7eHd>