aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-05-23 20:10:34 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-06-29 04:57:08 -0400
commit50cd2c577668a170750b15f9a88f022f681ce3c7 (patch)
tree62afbdc61a8f8670a19d5d39882e4907b92dc09c
parent500368f7fbdd888038d3dda579823e9515f63a3b (diff)
lift file_*_write out of do_splice_direct()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/read_write.c2
-rw-r--r--fs/splice.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/read_write.c b/fs/read_write.c
index 2cefa417be34..abca7437d192 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -1129,7 +1129,9 @@ static ssize_t do_sendfile(int out_fd, int in_fd, loff_t *ppos,
1129 if (in.file->f_flags & O_NONBLOCK) 1129 if (in.file->f_flags & O_NONBLOCK)
1130 fl = SPLICE_F_NONBLOCK; 1130 fl = SPLICE_F_NONBLOCK;
1131#endif 1131#endif
1132 file_start_write(out.file);
1132 retval = do_splice_direct(in.file, &pos, out.file, &out_pos, count, fl); 1133 retval = do_splice_direct(in.file, &pos, out.file, &out_pos, count, fl);
1134 file_end_write(out.file);
1133 1135
1134 if (retval > 0) { 1136 if (retval > 0) {
1135 add_rchar(current, retval); 1137 add_rchar(current, retval);
diff --git a/fs/splice.c b/fs/splice.c
index fed5134f761c..78b3d12046e7 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1303,11 +1303,9 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
1303 }; 1303 };
1304 long ret; 1304 long ret;
1305 1305
1306 file_start_write(out);
1307 ret = splice_direct_to_actor(in, &sd, direct_splice_actor); 1306 ret = splice_direct_to_actor(in, &sd, direct_splice_actor);
1308 if (ret > 0) 1307 if (ret > 0)
1309 *ppos = sd.pos; 1308 *ppos = sd.pos;
1310 file_end_write(out);
1311 1309
1312 return ret; 1310 return ret;
1313} 1311}