diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2010-05-25 15:06:07 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2010-05-25 15:06:07 +0200 |
commit | c3021629a0d820247ee12b6c5192a1d5380e21c6 (patch) | |
tree | eceb75197a9871e99b0b696af8047357686e4223 /fs/pipe.c | |
parent | ce534fb052928ce556639d7ecf01cbf4e01321e1 (diff) |
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