aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pipe.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2010-05-25 15:06:07 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2010-05-25 15:06:07 +0200
commitc3021629a0d820247ee12b6c5192a1d5380e21c6 (patch)
treeeceb75197a9871e99b0b696af8047357686e4223 /fs/pipe.c
parentfuse: allow splice to move pages (diff)
downloadlinux-dev-c3021629a0d820247ee12b6c5192a1d5380e21c6.tar.xz
linux-dev-c3021629a0d820247ee12b6c5192a1d5380e21c6.zip
fuse: support splice() reading from fuse device
Allow userspace filesystem implementation to use splice() to read from the fuse device. The userspace filesystem can now transfer data coming from a WRITE request to an arbitrary file descriptor (regular file, block device or socket) without having to go through a userspace buffer. The semantics of using splice() to read messages are: 1) with a single splice() call move the whole message from the fuse device to a temporary pipe 2) read the header from the pipe and determine the message type 3a) if message is a WRITE then splice data from pipe to destination 3b) else read rest of message to userspace buffer Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/pipe.c')
0 files changed, 0 insertions, 0 deletions