fs: simplify do_splice_to
authorChristoph Hellwig <hch@lst.de>
Wed, 20 May 2020 15:58:10 +0000 (17:58 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 20 May 2020 16:11:25 +0000 (12:11 -0400)
No need for a local function pointer when we can trivial branch on the
->splice_read presence.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/splice.c

index 4735defc46ee6a9912d4632f5d041f4d76371a30..77b10f45a3dac9e90f14407d1b38b45328f05be7 100644 (file)
@@ -870,8 +870,6 @@ static long do_splice_to(struct file *in, loff_t *ppos,
                         struct pipe_inode_info *pipe, size_t len,
                         unsigned int flags)
 {
-       ssize_t (*splice_read)(struct file *, loff_t *,
-                              struct pipe_inode_info *, size_t, unsigned int);
        int ret;
 
        if (unlikely(!(in->f_mode & FMODE_READ)))
@@ -885,11 +883,8 @@ static long do_splice_to(struct file *in, loff_t *ppos,
                len = MAX_RW_COUNT;
 
        if (in->f_op->splice_read)
-               splice_read = in->f_op->splice_read;
-       else
-               splice_read = default_file_splice_read;
-
-       return splice_read(in, ppos, pipe, len, flags);
+               return in->f_op->splice_read(in, ppos, pipe, len, flags);
+       return default_file_splice_read(in, ppos, pipe, len, flags);
 }
 
 /**