pipe: allow passing around of ops private pointer
relay needs this for proper consumption handling, and the network receive support needs it as well to lookup the sk_buff on pipe release. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
d6b29d7cee
commit
497f9625c2
3 changed files with 3 additions and 0 deletions
|
@ -185,6 +185,7 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
|
|||
buf->page = spd->pages[page_nr];
|
||||
buf->offset = spd->partial[page_nr].offset;
|
||||
buf->len = spd->partial[page_nr].len;
|
||||
buf->private = spd->partial[page_nr].private;
|
||||
buf->ops = spd->ops;
|
||||
if (spd->flags & SPLICE_F_GIFT)
|
||||
buf->flags |= PIPE_BUF_FLAG_GIFT;
|
||||
|
|
|
@ -14,6 +14,7 @@ struct pipe_buffer {
|
|||
unsigned int offset, len;
|
||||
const struct pipe_buf_operations *ops;
|
||||
unsigned int flags;
|
||||
unsigned long private;
|
||||
};
|
||||
|
||||
struct pipe_inode_info {
|
||||
|
|
|
@ -41,6 +41,7 @@ struct splice_desc {
|
|||
struct partial_page {
|
||||
unsigned int offset;
|
||||
unsigned int len;
|
||||
unsigned long private;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue