Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 1998 02:44:28 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, mike@smith.net.au
Cc:        cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-sys@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/i386/isa wfd.c
Message-ID:  <199801291544.CAA01875@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> >> Only for raw i/o.  bread() and bwrite() don't even look at b_resid.
>> >
>> >Then it strikes me that you're suggesting a non-solution.  Any other 
>> >ideas?
>> 
>> It's good enough for SCSI drivers.
>
>You just previously said that it wasn't adequate.  Please make up your 
>mind. 8)

I already did.  It's buggy and inadequate, but good enough for SCSI
drivers.  There's no point in making it work right in only one floppy
driver.  You lose only support for filesystem block sizes > 32K and
<= 64K.

>So far you have suggested that I should do the second, because that's 
>what SCSI adapters do, even though they never do because they can all 
>handle MAXPHYS-sized transfers, and not all the calling code will 
>honour the returned value in b_resid.

Some of them can only can only handle 16 scatter-gather segments, so
they can only handle transfer sizes <= 64K, which is currently MAXPHYS/2.
They are never asked to handle > 64K because filesystem block sizes are
limited to MAXBSIZE = 64K and raw i/o sizes are limited to DFLTPHYS = 64K.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801291544.CAA01875>