diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-05-23 20:10:34 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 12:57:08 +0400 |
commit | 50cd2c577668a170750b15f9a88f022f681ce3c7 (patch) | |
tree | 62afbdc61a8f8670a19d5d39882e4907b92dc09c | |
parent | 500368f7fbdd888038d3dda579823e9515f63a3b (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.c | 2 | ||||
-rw-r--r-- | fs/splice.c | 2 |
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, if (in.file->f_flags & O_NONBLOCK) fl = SPLICE_F_NONBLOCK; #endif + file_start_write(out.file); retval = do_splice_direct(in.file, &pos, out.file, &out_pos, count, fl); + file_end_write(out.file); if (retval > 0) { 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, }; long ret; - file_start_write(out); ret = splice_direct_to_actor(in, &sd, direct_splice_actor); if (ret > 0) *ppos = sd.pos; - file_end_write(out); return ret; } |