diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2007-06-11 06:00:45 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-07-10 02:04:14 -0400 |
commit | 497f9625c2bbd6a8525fb2eedb22a382a6a8253c (patch) | |
tree | 8637f882dbe2eea6a731a6df0317a276bf2cfec3 | |
parent | d6b29d7cee064f28ca097e906de7453541351095 (diff) |
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>
-rw-r--r-- | fs/splice.c | 1 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 1 | ||||
-rw-r--r-- | include/linux/splice.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/fs/splice.c b/fs/splice.c index bea9f1581ca0..00850e56280d 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -185,6 +185,7 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | |||
185 | buf->page = spd->pages[page_nr]; | 185 | buf->page = spd->pages[page_nr]; |
186 | buf->offset = spd->partial[page_nr].offset; | 186 | buf->offset = spd->partial[page_nr].offset; |
187 | buf->len = spd->partial[page_nr].len; | 187 | buf->len = spd->partial[page_nr].len; |
188 | buf->private = spd->partial[page_nr].private; | ||
188 | buf->ops = spd->ops; | 189 | buf->ops = spd->ops; |
189 | if (spd->flags & SPLICE_F_GIFT) | 190 | if (spd->flags & SPLICE_F_GIFT) |
190 | buf->flags |= PIPE_BUF_FLAG_GIFT; | 191 | buf->flags |= PIPE_BUF_FLAG_GIFT; |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 7ba228d52f58..4409167b9eb2 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -14,6 +14,7 @@ struct pipe_buffer { | |||
14 | unsigned int offset, len; | 14 | unsigned int offset, len; |
15 | const struct pipe_buf_operations *ops; | 15 | const struct pipe_buf_operations *ops; |
16 | unsigned int flags; | 16 | unsigned int flags; |
17 | unsigned long private; | ||
17 | }; | 18 | }; |
18 | 19 | ||
19 | struct pipe_inode_info { | 20 | struct pipe_inode_info { |
diff --git a/include/linux/splice.h b/include/linux/splice.h index f8cc97f71cd0..33e447f98a54 100644 --- a/include/linux/splice.h +++ b/include/linux/splice.h | |||
@@ -41,6 +41,7 @@ struct splice_desc { | |||
41 | struct partial_page { | 41 | struct partial_page { |
42 | unsigned int offset; | 42 | unsigned int offset; |
43 | unsigned int len; | 43 | unsigned int len; |
44 | unsigned long private; | ||
44 | }; | 45 | }; |
45 | 46 | ||
46 | /* | 47 | /* |