Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 May 2017 20:44:52 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 219315] gjournal file system suspension deadlocks with UFS snapshot suspension
Message-ID:  <bug-219315-8-Nm52RTmxi9@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-219315-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-219315-8@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=3D219315

--- Comment #1 from Konstantin Belousov <kib@FreeBSD.org> ---
I wrote somewhere else:

It is a bug in the g_journal code. Journal thread initiates
suspension and waits for it to occur. If meantime other thread
creates snapshot, that snapshot thread initiated a suspension
itself and needs to read and write some blocks to lift its
suspension.

Two suspensions cannot be established simultaneously, they
synchronize against each, so the journal thread is blocked.  But
it must run and proceed bio's for the system to execute
snapshotting thread' io requests.  So the situation is plain
architectural deadlock.  See the thread pid 26459 tid
100586 (journal) and pid 30498 tid 100208 (snapshot).

One possible fix is for journal geom thread to delegate
suspension to some other context, without blocking.  I do
not intend to code this.

--=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-219315-8-Nm52RTmxi9>