DragonFly bugs List (threaded) for 2007-07
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: ccd on NATA problem - ata0: FAILURE - oversized DMA transfer attempt 73728 > 65536
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@backplane.com>
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]