DragonFly bugs List (threaded) for 2007-07
DragonFly BSD
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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 18 Jul 2007 15:24:52 -0700 (PDT)

    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]