Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 1998 00:48:50 +1030
From:      Mike Smith <mike@smith.net.au>
To:        Bruce Evans <bde@zeta.org.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:  <199801291418.AAA00577@word.smith.net.au>
In-Reply-To: Your message of "Thu, 29 Jan 1998 21:09:39 %2B1100." <199801291009.VAA22501@godzilla.zeta.org.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
> >> >It was not clear that this was legitimate; I infer from this that the 
> >> >correct approach is to return a nonzero value in b_resid, which will 
> >> >cause another call to the strategy routine.  Is that correct?  Will 
> >> >this work on 2.2?  It's certainly a *much* tidier approach than what I 
> >> >am currently doing.
> >> 
> >> 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)

Either I should:

 - Leave things as they are (possibly suboptimal, but apparently 
   functional).
 - Change to only handling as much of the request as we can in a single
   pass and leaving the overs in b_resid.

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.

This doesn't sound like much of a recommendation to me.

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\ 





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