Le Fri, 29 Aug 2008 10:51:10 +0200,
Thomas Petazzoni <[EMAIL PROTECTED]> a écrit :

> So, who is doing the bounce buffering of the bio page when it's stored
> in ZONE_HIGHMEM ? Is it safe for a block driver to blindly use
> rq->buffer without knowing if the bio's page is in HIGHMEM or not ?

After some RTFM, from Documentation/block/biodoc.txt:

==
The buffer field is just a virtual address mapping of the current
segment of the i/o buffer in cases where the buffer resides in
low-memory. For high memory i/o, this field is not valid and must not
be used by drivers.
==

So, why is sbull using this ? There also some in-tree drivers using
rq->buffer:
 drivers/block/z2ram.c
 drivers/block/swim3.c
 drivers/block/xd.c
 ...

Am I missing something ?

BTW, about the "buffer" field, Documentation/block/request.txt says:

char *buffer                    D       Map of first segment, also see
                                        section on bouncing SECTION

But I don't see where is located this « section on bouncing SECTION ».

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to