https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219315

--- Comment #1 from Konstantin Belousov <[email protected]> ---
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.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to