• Abhi Das's avatar
    fix iov_iter_advance() for ITER_PIPE · 680bb946
    Abhi Das authored
    iov_iter_advance() needs to decrement iter->count by the number of
    bytes we'd moved beyond.  Normal flavours do that, but ITER_PIPE
    doesn't and ITER_PIPE generic_file_read_iter() for O_DIRECT files
    ends up with a bogus fallback to page cache read, resulting in incorrect
    values for file offset and bytes read.
    Signed-off-by: default avatarAbhi Das <adas@redhat.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    680bb946
iov_iter.c 28.5 KB