*ppos = kiocb.ki_pos;
file_accessed(in);
} else if (ret < 0) {
- if (WARN_ON(to.idx != idx || to.iov_offset)) {
- /*
- * a bogus ->read_iter() has copied something and still
- * returned an error instead of a short read.
- */
- to.idx = idx;
- to.iov_offset = 0;
- iov_iter_advance(&to, 0); /* to free what was emitted */
- }
+ to.idx = idx;
+ to.iov_offset = 0;
+ iov_iter_advance(&to, 0); /* to free what was emitted */
/*
* callers of ->splice_read() expect -EAGAIN on
* "can't put anything in there", rather than -EFAULT.
if (sd->len > sd->total_len)
sd->len = sd->total_len;
- ret = buf->ops->confirm(pipe, buf);
+ ret = pipe_buf_confirm(pipe, buf);
if (unlikely(ret)) {
if (ret == -ENODATA)
ret = 0;
if (idx == pipe->buffers - 1)
idx = -1;
- ret = buf->ops->confirm(pipe, buf);
+ ret = pipe_buf_confirm(pipe, buf);
if (unlikely(ret)) {
if (ret == -ENODATA)
ret = 0;