[Bug 219315] gjournal file system suspension deadlocks with UFS snapshot suspension
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon May 15 20:44:53 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219315
--- Comment #1 from Konstantin Belousov <kib at 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.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list