Re: struct request and rq->buffer question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le Fri, 29 Aug 2008 10:51:10 +0200,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> 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 ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux