Date: Tue, 13 Oct 1998 11:25:50 -0600 (MDT) From: "Kenneth D. Merry" <ken@plutotech.com> To: regnauld@deepo.prosa.dk (Philippe Regnauld) Cc: freebsd-current@FreeBSD.ORG, gibbs@pluto.plutotech.com Subject: Re: 3.0-19981009-BETA + 2840 AHA + camcontrol stop/start = panic Message-ID: <199810131725.LAA03687@panzer.plutotech.com> In-Reply-To: <19981013193051.46229@deepo.prosa.dk> from Philippe Regnauld at "Oct 13, 98 07:30:51 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
--ELM908299550-3628-0_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Philippe Regnauld wrote... > Kenneth D. Merry writes: > > > > BTW, in your first message you exposed a bug in camcontrol. It's fixed > > now. The reason your drive started was because the error recovery code > > kicked in and started it when you typed 'camcontrol'. (the kernel tried to > > access the disk, which wasn't spun up, so it sent a start unit command to > > it.) > > That's what I thought. So in fact the subsequent invocation > of camcontrol start did nothing, right ? (it just responded > that start should take an argument) Right. camcontrol itself did nothing, but by calling it, you caused a disk access which caused us to try to spin the disk up. I've attached a preliminary patch that fixes one of the panics you saw. (the one in xpt_done()) It may cause other problems, though, so I need to check it out a little more. In my initial tests it works fine, though. The "biodone: buffer not busy" panic seems to only happen on a mounted filesystem. This patch doesn't fix that problem. Ken -- Kenneth Merry ken@plutotech.com --ELM908299550-3628-0_ Content-Type: text/plain; charset=ISO-8859-1 Content-Disposition: attachment; filename=cam_xpt.inq_changed.diffs.101398 Content-Description: cam_xpt.inq_changed.diffs.101398 Content-Transfer-Encoding: 7bit ==== //depot/cam/sys/cam/cam_xpt.c#167 - /usr/home/ken/perforce/cam/sys/cam/cam_xpt.c ==== *** /tmp/tmp.26937.0 Tue Oct 13 11:16:20 1998 --- /usr/home/ken/perforce/cam/sys/cam/cam_xpt.c Tue Oct 13 11:11:41 1998 *************** *** 3941,3947 **** if ((async_code == AC_SENT_BDR) || (async_code == AC_BUS_RESET) || (async_code == AC_INQ_CHANGED)) ! status = xpt_compile_path(&newpath, NULL, bus->path_id, target->target_id, device->lun_id); --- 3941,3948 ---- if ((async_code == AC_SENT_BDR) || (async_code == AC_BUS_RESET) || (async_code == AC_INQ_CHANGED)) ! status = xpt_compile_path(&newpath, ! path->periph, bus->path_id, target->target_id, device->lun_id); --ELM908299550-3628-0_-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810131725.LAA03687>