Date: Wed, 19 Jun 1996 22:48:51 +1000 From: Bruce Evans <bde@zeta.org.au> To: gwk@cray.com, j@uriah.heep.sax.de Cc: bde@zeta.org.au, freebsd-bugs@freefall.freebsd.org, gpalmer@FreeBSD.org Subject: Re: bin/1320: dump limits blocksize to 32K Message-ID: <199606191248.WAA16277@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> a) If physio() is broken for sizes > 64 kB, why doesn't the kernel >> return an error to the user if physio gets an I/O request > 64 kB? >It splits the request into 64 KB chunks, so it can handle them. This >works mostly except for tapes, which are IMHO the only devices that >might require a physical blocksize larger than 64 KB physio() needs to have a no-split flag that would be set by the tape drivers. >(raw SCSI >commands like WRITE BUFFER suffer from it as well). scsistrategy() has defense against splitting. It refuses to continue if the i/o size isn't the same as the original. st_strategy() might be able to use the same hack. It's not so easy since the original i/o size is in the uio struct and there may be multiple uio elements. Vectors of length 1 could probably be handled easily. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606191248.WAA16277>