Date: Fri, 30 Oct 2009 09:53:02 +0200 From: Alexander Motin <mav@FreeBSD.org> To: "James R. Van Artsdalen" <james-freebsd-current@jrv.org> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: CAM/SIIS CAM_CMD_TIMEOUT hangs Message-ID: <4AEA9B5E.3080402@FreeBSD.org> In-Reply-To: <4AEA624D.10602@jrv.org> References: <4AEA624D.10602@jrv.org>
next in thread | previous in thread | raw e-mail | index | archive | help
James R. Van Artsdalen wrote: > I have problems with I/O hanging due to CAM/SIIS not handling the > CAM_CMD_TIMEOUT error. > Hangs happen every few hundred GB to every few TB. > The disks are behind SATA port multipliers. > > This command un-hangs the drive and lets things run again: > > # camcontrol reset all > > I assume this is sending a soft reset to the disk drive but haven't > checked yet. > > Is there a way xpt_done() or such might notice a CAM_CMD_TIMEOUT and > inject a "soft reset" request at the head of the I/O queue (to run > before the timed-out command retries)? Try my latest patch against HEAD: http://people.freebsd.org/~mav/cam-ata.20091028.patch It does hard reset after timeout, and what is important, it reinitializes PMP after reset, to re-enable it's ports back. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AEA9B5E.3080402>
