Currently, to access the pages of an iobuf, you have to kmap() each page
individually. For various purposes, it would be useful to be able to kmap the
whole iobuf contiguously, so that you can guarantee that:
page_address(iobuf->maplist[n]) + PAGE_SIZE
== page_address(iobuf->maplist[n+1])
(for n such that n < iobuf->nr_pages, obviously. Don't be so pedantic.)
Rather than taking a kiobuf as an argument, the new function might as well
be more generic:
unsigned long kremap_pages(struct page **maplist, int nr_pages);
void kunmap_pages(struct page **maplist, int nr_pages);
I had a quick look at the code for kmap() and vmalloc() and decided that
even if I attempted to do it myself, I'd probably bugger it up and a MM
hacker would have to fix it anyway. So I'm not going to bother.
T'would be useful if someone else could find the time to do so, though.
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/