Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jan 1997 16:03:46 -0800 (PST)
From:      "Justin T. Gibbs" <gibbs>
To:        markd@grizzly.com, gibbs, freebsd-bugs, gibbs
Subject:   Re: kern/2371
Message-ID:  <199701060003.QAA23117@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
Synopsis: SCSI disk corruption

State-Changed-From-To: closed-open
State-Changed-By: gibbs
State-Changed-When: Sun Jan 5 15:55:45 PST 1997
State-Changed-Why: 
There are two problems here:
1) The Adaptec driver in current and in 2.2 has a few bugs in it that
cause the controller to wedge.  Although data is lost, data that successfully
reaches the disk is just fine.
2) The aic7xxx driver uses simple queue tags when tagged queueing is turned on.
This means that I/O transactions queued to the target can be re-ordered at the
targets discretion (except that a read following a write must return the data
from the last queued write transaction).  Unfortunately, this can cause problems
when syncronous write requests are issued.  There is nothing preventing a
syncronous write from returning prior to some of the transactions queued before
it.  I believe that this situation, when combined with a hang (meaning there
are multiple outstanding transactions) is the cause of your "corruption" since
meta-data state can be unstable.

The first problem is being actively worked on by me, and should be addressed
in the next two weeks.

There is already a preliminary framework for fixing problem two in the 'SCSI'
branch.  The basic approach is to take syncronous requests and use ordered
tagged queueing on them so that synchronous requests work as they are intended.


Responsible-Changed-From-To: freebsd-bugs->gibbs
Responsible-Changed-By: gibbs
Responsible-Changed-When: Sun Jan 5 15:55:45 PST 1997
Responsible-Changed-Why: 
I will be addressing these issues.



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