Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 May 1995 05:42:59 -0700
From:      David Greenman <davidg@Root.COM>
To:        Peter Dufault <dufault@hda.com>
Cc:        current@FreeBSD.org
Subject:   Re: big files written to scsi harddisk got corrupted 
Message-ID:  <199505161243.FAA01807@corbin.Root.COM>
In-Reply-To: Your message of "Tue, 16 May 95 08:18:07 EDT." <199505161218.IAA24599@hda.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>    The Adaptec 1542A is known to corrupt data for DMA's that are larger than
>> 16Kbytes. FreeBSD uses I/O clustering both in the file I/O system and in the
>> VM system and DMA's are frequently larger than 16Kbytes. There are apparantly
>> some versions of the 1542A that don't have this problem, but every one that
>> I've tested does. If you upgrade the controller to a 1542B, the problems
>> should go away.
>> 
>
>Can we just put in a minphys for 16K for the 1542A?

   I'm not sure I grok your question. Do you mean add something to limit the
maximum DMA transfer size to 16K? If so, yes, this would be a good idea - we
need some sort of mechanism to limit the maximum transfer size. It would be
nice if the SCSI code could break up requests that exceed it and do then do
the I/O in smaller chunks. This doesn't sound very easy to implement, however.
   I was able to work around the problem back in 1.1.5 by modifying the kernel
in various places to limit the I/O clustering to 16K or less, but with the 4.4
VFS layer clustering, this becomes more difficult.

-DG



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