diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-30 12:16:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-30 12:16:14 -0400 |
commit | 003386fff3e02e51cea882e60f7d28290113964c (patch) | |
tree | 253001a9a0fc609b757362708edc2dcaab9e2a14 /fs/pipe.c | |
parent | 092405cdb66f060918160ae730640b449ed7b827 (diff) | |
parent | 51921cb746f56983db5a373ca68deb2b0d3ddf01 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
mm: export generic_pipe_buf_*() to modules
fuse: support splice() reading from fuse device
fuse: allow splice to move pages
mm: export remove_from_page_cache() to modules
mm: export lru_cache_add_*() to modules
fuse: support splice() writing to fuse device
fuse: get page reference for readpages
fuse: use get_user_pages_fast()
fuse: remove unneeded variable
Diffstat (limited to 'fs/pipe.c')
-rw-r--r-- | fs/pipe.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -230,6 +230,7 @@ void *generic_pipe_buf_map(struct pipe_inode_info *pipe, | |||
230 | 230 | ||
231 | return kmap(buf->page); | 231 | return kmap(buf->page); |
232 | } | 232 | } |
233 | EXPORT_SYMBOL(generic_pipe_buf_map); | ||
233 | 234 | ||
234 | /** | 235 | /** |
235 | * generic_pipe_buf_unmap - unmap a previously mapped pipe buffer | 236 | * generic_pipe_buf_unmap - unmap a previously mapped pipe buffer |
@@ -249,6 +250,7 @@ void generic_pipe_buf_unmap(struct pipe_inode_info *pipe, | |||
249 | } else | 250 | } else |
250 | kunmap(buf->page); | 251 | kunmap(buf->page); |
251 | } | 252 | } |
253 | EXPORT_SYMBOL(generic_pipe_buf_unmap); | ||
252 | 254 | ||
253 | /** | 255 | /** |
254 | * generic_pipe_buf_steal - attempt to take ownership of a &pipe_buffer | 256 | * generic_pipe_buf_steal - attempt to take ownership of a &pipe_buffer |
@@ -279,6 +281,7 @@ int generic_pipe_buf_steal(struct pipe_inode_info *pipe, | |||
279 | 281 | ||
280 | return 1; | 282 | return 1; |
281 | } | 283 | } |
284 | EXPORT_SYMBOL(generic_pipe_buf_steal); | ||
282 | 285 | ||
283 | /** | 286 | /** |
284 | * generic_pipe_buf_get - get a reference to a &struct pipe_buffer | 287 | * generic_pipe_buf_get - get a reference to a &struct pipe_buffer |
@@ -294,6 +297,7 @@ void generic_pipe_buf_get(struct pipe_inode_info *pipe, struct pipe_buffer *buf) | |||
294 | { | 297 | { |
295 | page_cache_get(buf->page); | 298 | page_cache_get(buf->page); |
296 | } | 299 | } |
300 | EXPORT_SYMBOL(generic_pipe_buf_get); | ||
297 | 301 | ||
298 | /** | 302 | /** |
299 | * generic_pipe_buf_confirm - verify contents of the pipe buffer | 303 | * generic_pipe_buf_confirm - verify contents of the pipe buffer |
@@ -309,6 +313,7 @@ int generic_pipe_buf_confirm(struct pipe_inode_info *info, | |||
309 | { | 313 | { |
310 | return 0; | 314 | return 0; |
311 | } | 315 | } |
316 | EXPORT_SYMBOL(generic_pipe_buf_confirm); | ||
312 | 317 | ||
313 | /** | 318 | /** |
314 | * generic_pipe_buf_release - put a reference to a &struct pipe_buffer | 319 | * generic_pipe_buf_release - put a reference to a &struct pipe_buffer |
@@ -323,6 +328,7 @@ void generic_pipe_buf_release(struct pipe_inode_info *pipe, | |||
323 | { | 328 | { |
324 | page_cache_release(buf->page); | 329 | page_cache_release(buf->page); |
325 | } | 330 | } |
331 | EXPORT_SYMBOL(generic_pipe_buf_release); | ||
326 | 332 | ||
327 | static const struct pipe_buf_operations anon_pipe_buf_ops = { | 333 | static const struct pipe_buf_operations anon_pipe_buf_ops = { |
328 | .can_merge = 1, | 334 | .can_merge = 1, |