Skip site navigation (1)Skip section navigation (2)
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>