Thread (2 messages) 2 messages, 2 authors, 2004-09-17

Re: WARN_ON(buflen > PAGE_SIZE) libata-core.c

From: Jeff Garzik <hidden>
Date: 2004-09-17 02:39:47

Possibly related (same subject, not in this thread)

Andy Warner wrote:
Jeff Garzik wrote:
quoted
[...]
quoted
In libata-core.c:ata_sg_init_one() there is:

WARN_ON(buflen > PAGE_SIZE);
[...]
A non-scatter-gather transfer is assumed to be one page in length, using 
only a single 'struct scatterlist' element.  You could probably "cheat" 
and indicate the scatterlist element is longer than PAGE_SIZE, but make 
sure to review all code paths...

Bear with me, if I'm being dense, but why is that a valid
assumption ? Is it because in most instances, such requests
are made by filesystem code, as opposed to arbitrary user
initiated I/O ?
A struct scatterlist is a list of page/offset/length triplets, so it 
breaks the model if a triplet extends past a page boundary.

	Jeff

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help