Deadlock between GEOM and devfs device destroy and process exit.
ed at 80386.nl
Sat Jan 30 20:07:42 UTC 2010
* Kostik Belousov <kostikbel at gmail.com> wrote:
> My exemplary case has been snp(4) before tty got rewritten, see r. 1.107
> of sys/dev/snp/snp.c. No calls to destroy_dev_sched() that I placed in
> the src/ a kept around, that is good because corresponding subsystems
> got serious rewrite.
The current TTY code still uses destroy_dev_sched_cb(). In a very old
version of the new TTY code, close() on a pseudo-terminal master device
would also end up calling destroy_dev(), which meant it blocked until
the TTY was closed as well, which is obviously not what it should do.
I changed the TTY code to destroy_dev_sched_cb(), which means tty_gone()
doesn't block. The TTY layer later calls a callback function, so the pts
driver can deallocate the softc and reclaim the unit number (pts/%d).
Ed Schouten <ed at 80386.nl>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20100130/4cc5010b/attachment.pgp
More information about the freebsd-geom