diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-20 18:19:30 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-04-09 20:12:57 +0200 |
commit | 17338fccb28ec38097041074dcdc2016df538290 (patch) | |
tree | 40bee44b0c591bead2140df49a0c1736037a8585 /fs/splice.c | |
parent | lift sb_start_write() out of ->write() (diff) | |
download | linux-17338fccb28ec38097041074dcdc2016df538290.tar.xz linux-17338fccb28ec38097041074dcdc2016df538290.zip |
lift sb_start_write into default_file_splice_write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/splice.c')
-rw-r--r-- | fs/splice.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/splice.c b/fs/splice.c index e78a749064db..17d7323bc2c5 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1052,9 +1052,7 @@ static int write_pipe_buf(struct pipe_inode_info *pipe, struct pipe_buffer *buf, loff_t tmp = sd->pos; data = buf->ops->map(pipe, buf, 0); - file_start_write(sd->u.file); ret = __kernel_write(sd->u.file, data + buf->offset, sd->len, &tmp); - file_end_write(sd->u.file); buf->ops->unmap(pipe, buf, data); return ret; @@ -1066,7 +1064,9 @@ static ssize_t default_file_splice_write(struct pipe_inode_info *pipe, { ssize_t ret; + file_start_write(out); ret = splice_from_pipe(pipe, out, ppos, len, flags, write_pipe_buf); + file_end_write(out); if (ret > 0) *ppos += ret; |