lift sb_start_write into default_file_splice_write()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-03-20 13:19:30 -04:00
parent 03d95eb2f2
commit 17338fccb2
1 changed files with 2 additions and 2 deletions

View File

@ -1052,9 +1052,7 @@ static int write_pipe_buf(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
loff_t tmp = sd->pos; loff_t tmp = sd->pos;
data = buf->ops->map(pipe, buf, 0); 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); ret = __kernel_write(sd->u.file, data + buf->offset, sd->len, &tmp);
file_end_write(sd->u.file);
buf->ops->unmap(pipe, buf, data); buf->ops->unmap(pipe, buf, data);
return ret; return ret;
@ -1066,7 +1064,9 @@ static ssize_t default_file_splice_write(struct pipe_inode_info *pipe,
{ {
ssize_t ret; ssize_t ret;
file_start_write(out);
ret = splice_from_pipe(pipe, out, ppos, len, flags, write_pipe_buf); ret = splice_from_pipe(pipe, out, ppos, len, flags, write_pipe_buf);
file_end_write(out);
if (ret > 0) if (ret > 0)
*ppos += ret; *ppos += ret;