ccd on NATA problem - ata0: FAILURE - oversized DMA transfer attempt 73728 > 65536
Matthew Dillon
dillon at apollo.backplane.com
Wed Jul 18 15:26:23 PDT 2007
This is turning out to be a small headache, but it has to be fixed
before we can release so I'm going to slog throug it.
It turns out that the vnode pager getpages code, the swap pager getpages
and putpages code, and the pageout code can all make calls to
vn_strategy() which ignore the device I/O size limit. It is also
possible for filesystems to attempt to do I/O to devices in larger
chunks then IDE can handle though UFS filesystems are not normally
created with a 64K block size so it doesn't actually happen at the
moment.
The only proper place to fix this is in spec_strategy(). That is, to
make specfs break up requests which are too large into smaller pieces.
I am looking into how best to do this right now.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Bugs
mailing list