Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Feb 2004 19:12:57 +0100 (CET)
From:      Lukas Ertl <l.ertl@univie.ac.at>
To:        freebsd-geom@freebsd.org
Cc:        sos@freebsd.org
Subject:   Panic in g_disk_done() with atacontrol detach
Message-ID:  <20040201190653.M613@korben.in.tern>

next in thread | raw e-mail | index | archive | help
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@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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040201190653.M613>