One step closer to turning the skb_frag_t into a bio_vec.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
typedef struct skb_frag_struct skb_frag_t;
struct skb_frag_struct {
typedef struct skb_frag_struct skb_frag_t;
struct skb_frag_struct {
- struct {
- struct page *p;
- } page;
__u32 size;
__u32 page_offset;
};
__u32 size;
__u32 page_offset;
};
* skb_frag_foreach_page - loop over pages in a fragment
*
* @f: skb frag to operate on
* skb_frag_foreach_page - loop over pages in a fragment
*
* @f: skb frag to operate on
- * @f_off: offset from start of f->page.p
+ * @f_off: offset from start of f->bv_page
* @f_len: length from f_off to loop over
* @p: (temp var) current page
* @p_off: (temp var) offset from start of current page,
* @f_len: length from f_off to loop over
* @p: (temp var) current page
* @p_off: (temp var) offset from start of current page,
* that not all callers have unique ownership of the page but rely
* on page_is_pfmemalloc doing the right thing(tm).
*/
* that not all callers have unique ownership of the page but rely
* on page_is_pfmemalloc doing the right thing(tm).
*/
frag->page_offset = off;
skb_frag_size_set(frag, size);
frag->page_offset = off;
skb_frag_size_set(frag, size);
*/
static inline struct page *skb_frag_page(const skb_frag_t *frag)
{
*/
static inline struct page *skb_frag_page(const skb_frag_t *frag)
{
*/
static inline void __skb_frag_set_page(skb_frag_t *frag, struct page *page)
{
*/
static inline void __skb_frag_set_page(skb_frag_t *frag, struct page *page)
{
} else {
__skb_frag_ref(fragfrom);
} else {
__skb_frag_ref(fragfrom);
- fragto->page = fragfrom->page;
+ fragto->bv_page = fragfrom->bv_page;
fragto->page_offset = fragfrom->page_offset;
skb_frag_size_set(fragto, todo);
fragto->page_offset = fragfrom->page_offset;
skb_frag_size_set(fragto, todo);