Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait

Jens Axboe
2001-02-07T01:03:25Z

On Tue, Feb 06 2001, Jeff V. Merkey wrote:
> I remember Linus asking to try this variable buffer head chaining
> thing 512-1024-512 kind of stuff several months back, and mixing them to
> see what would happen -- result. About half the drivers break with it.
> The interface allows you to do it, I've tried it, (works on Andre's
> drivers, but a lot of SCSI drivers break) but a lot of drivers seem to
> have assumptions about these things all being the same size in a
> buffer head chain.

I don't see anything that would break doing this, in fact you can
do this as long as the buffers are all at least a multiple of the
block size. All the drivers I've inspected handle this fine, noone
assumes that rq->bh->b_size is the same in all the buffers attached
to the request. This includes SCSI (scsi_lib.c builds sg tables),
IDE, and the Compaq array + Mylex driver. This mostly leaves the
"old-style" drivers using CURRENT etc, the kernel helpers for these
handle it as well.

So I would appreciate pointers to these devices that break so we
can inspect them.

--
Jens Axboe