Re: ZFS checksum errors on umass(4) insertion

From: Scott Long <scottl_at_samsco.org>
Date: Thu, 16 Apr 2009 15:53:35 -0600
John Baldwin wrote:
> On Thursday 16 April 2009 5:32:52 pm Scott Long wrote:
>> John Baldwin wrote:
>>> Can you please try http://www.FreeBSD.org/~jhb/patches/dma_pg.patch?  This
>>> lines up with your analysis in that it fixes a problem in the bounce 
> buffer
>>> code that was introduced with the new USB stack (and only triggers when 
> the
>>> USB code has to use a bounce buffer).
>>>
>> As a data point, most normal I/O is not going to trigger this bug, even
>> if it gets bounced.  I/O using O_DIRECT can, and GEOM discovery I/O can
>> as well.  Since memory is allocated from the top of the system, I think
>> that the damage gets done early during boot, and then propagates out
>> over time as the system becomes busier.
> 
> Hmm, are you sure regular I/O won't trigger it as well?  All it takes is for 
> any USB transfer that starts off within a page to get a page into a non-zero 
> offset and later have a request >= PAGE_SIZE bounce.  Since the VM is going 
> to always ask for I/O to pages (e.g. GET/PUTPAGES) normal disk I/O would 
> break if it uses the bad bounce page I think.
> 

Sorry, I knew what I meant but didn't say it that well.  Once it gets 
triggered, it poisons that bounce page from thereon out, and any I/O 
will be affected.  But the only I/O that will typically trigger it is 
GEOM scanning and O_DIRECT.

Scott
Received on Thu Apr 16 2009 - 19:53:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:46 UTC