Commit 2dd8c9ad authored by Al Viro's avatar Al Viro

lift sb_start_write out of ->splice_write()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 17338fcc
...@@ -1000,8 +1000,6 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, ...@@ -1000,8 +1000,6 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out,
}; };
ssize_t ret; ssize_t ret;
sb_start_write(inode->i_sb);
pipe_lock(pipe); pipe_lock(pipe);
splice_from_pipe_begin(&sd); splice_from_pipe_begin(&sd);
...@@ -1037,7 +1035,6 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, ...@@ -1037,7 +1035,6 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out,
*ppos += ret; *ppos += ret;
balance_dirty_pages_ratelimited(mapping); balance_dirty_pages_ratelimited(mapping);
} }
sb_end_write(inode->i_sb);
return ret; return ret;
} }
...@@ -1064,9 +1061,7 @@ static ssize_t default_file_splice_write(struct pipe_inode_info *pipe, ...@@ -1064,9 +1061,7 @@ 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;
...@@ -1119,7 +1114,10 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ...@@ -1119,7 +1114,10 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
else else
splice_write = default_file_splice_write; splice_write = default_file_splice_write;
return splice_write(pipe, out, ppos, len, flags); file_start_write(out);
ret = splice_write(pipe, out, ppos, len, flags);
file_end_write(out);
return ret;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment