Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e519e777 authored by Al Viro's avatar Al Viro
Browse files

splice: remove detritus from generic_file_splice_read()



i_size check is a leftover from the horrors that used to play with
the page cache in that function.  With the switch to ->read_iter(),
it's neither needed nor correct - for gfs2 it ends up being buggy,
since i_size is not guaranteed to be correct until later (inside
->read_iter()).

Spotted-by: default avatarAbhi Das <adas@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 6d6d36bc
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -299,13 +299,8 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
{
	struct iov_iter to;
	struct kiocb kiocb;
	loff_t isize;
	int idx, ret;

	isize = i_size_read(in->f_mapping->host);
	if (unlikely(*ppos >= isize))
		return 0;

	iov_iter_pipe(&to, ITER_PIPE | READ, pipe, len);
	idx = to.idx;
	init_sync_kiocb(&kiocb, in);