Date: Thu, 23 Sep 2004 18:50:12 GMT From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/72041: Deadlock when disk is destroyed while user process closes Message-ID: <200409231850.i8NIoC0G040574@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/72041; it has been noted by GNATS. From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Brian Eng <brian@midstream.com> Cc: freebsd-gnats-submit@freebsd.org Subject: Re: kern/72041: Deadlock when disk is destroyed while user process closes Date: Thu, 23 Sep 2004 20:48:58 +0200 In message <200409231827.i8NIR3TK071354@www.freebsd.org>, Brian Eng writes: >One perspective on this is that cambio inverted the layers; normally, >geom code calls cam code, but in the 'camcontrol rescan' case, cam >code calls geom code, resulting in locks being taken in opposite >order. Perhaps disk_destroy could just queue to g_event and not >wait for completion. A lot of the trouble in this area comes from the fact that the disk_*() api has to isolate giant free code from giant infected code. There are no easy fixes to currently remaining problems, they will take serious work to fix. I know there is some work on CAM going on behind the scenes and hopefully they will take this sort of thing into account. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409231850.i8NIoC0G040574>