ZFS checksum errors on umass(4) insertion

John Baldwin jhb at freebsd.org
Thu Apr 16 21:48:17 UTC 2009


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.

-- 
John Baldwin


More information about the freebsd-current mailing list