};
        ssize_t ret;
 
-       sb_start_write(inode->i_sb);
-
        pipe_lock(pipe);
 
        splice_from_pipe_begin(&sd);
                        *ppos += ret;
                balance_dirty_pages_ratelimited(mapping);
        }
-       sb_end_write(inode->i_sb);
 
        return ret;
 }
 {
        ssize_t ret;
 
-       file_start_write(out);
        ret = splice_from_pipe(pipe, out, ppos, len, flags, write_pipe_buf);
-       file_end_write(out);
        if (ret > 0)
                *ppos += ret;
 
        else
                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;
 }
 
 /*