On Fri, 24 Jan 2003 21:04:34 +0100, Jens Axboe said: > Nicks comment refers to the block layer situation, we obviously cannot > merge reads and writes there. You would basically have to rewrite the > entire request submission structure and break all drivers. And for zero > benefit. Face it, it would be stupid to even attempt such a manuever. As I *said* - "hairy beyond benefit", not "cant". > Since you bring it up, you must know if a device which can take a single > command that says "read blocks a to b, and write blocks x to z"? Even > such thing existed, They do exist. IBM mainframe disks (the 3330/50/80 series) are able to do much more than that in one CCW chain So it was *quite* possible to even express things like "Go to this cylinder/track, search for each record that has value XYZ in the 'key' field, and if found, write value ABC in the data field". (In fact, the DASD I/O opcodes for CCW chains are Turing-complete). > it would be much better implemented by the driver > as pulling more requests of the queue and constructing these weirdo The only operating system I'm aware of that actually uses that stuff is MVS. > So I quite agree with the "obviously". My complaint was the confusion of "obviously cant" with "we have decided we don't want to". /Valdis