Skip site navigation (1)Skip section navigation (2)
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>