Date: Thu, 29 Jan 1998 11:01:55 -0500 (EST) From: "John S. Dyson" <toor@dyson.iquest.net> To: bde@zeta.org.au (Bruce Evans) Cc: bde@zeta.org.au, mike@smith.net.au, cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: Re: cvs commit: src/sys/i386/isa wfd.c Message-ID: <199801291601.LAA03425@dyson.iquest.net> In-Reply-To: <199801291544.CAA01875@godzilla.zeta.org.au> from Bruce Evans at "Jan 30, 98 02:44:28 am"
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans said: > >> >> 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. > I know that this isn't the immediate subject of discussion, but wanted to clarify my position on d_maxio. We desperately need the mechanism, but it isn't complete as implemented. I don't know if the discussions between Justin and I were public or private, but I have admitted that the addition of d_maxio as a single scalar was inadequate. If the driver writers start using it, I'll be glad to do the port to change things to a function interface when time has come. The thing that is stopping me from doing it correctly right now is a severe time constraint. If someone wants to do the d_maxio correctly right now, I say go for it!!! :-). The changes aren't complex or substantial, but will require more thought than I have put into it. -- John | Never try to teach a pig to sing, dyson@freebsd.org | it just makes you look stupid, jdyson@nc.com | and it irritates the pig.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801291601.LAA03425>