Panic in g_disk_done() with atacontrol detach

Lukas Ertl l.ertl at univie.ac.at
Sun Feb 1 10:13:13 PST 2004


Hi,

I can provoke a panic when doing "atacontrol detach 1" if there's an
active filesystem on the disk being detached.  The panic happens in
g_disk_done() at:

     devstat_end_transaction_bio(dp->d_devstat, bp2);

The problem obviously is that ad_detach() calls disk_destroy() which nulls
out the softc, and in g_disk_done() this softc is referenced again.

The question is: is this an unsupported operation in the sense of "don't
do that"?  If yes, then "atacontrol detach" should probably refuse to do
the actual detach when there are I/O requests running, this would prevent
a lot of foot shooting.

regards,
le

-- 
Lukas Ertl                             eMail: l.ertl at univie.ac.at
UNIX Systemadministrator               Tel.:  (+43 1) 4277-14073
Vienna University Computer Center      Fax.:  (+43 1) 4277-9140
University of Vienna                   http://mailbox.univie.ac.at/~le/


More information about the freebsd-geom mailing list