• Al Viro's avatar
    new iov_iter flavour - ITER_UBUF · fcb14cb1
    Al Viro authored
    Equivalent of single-segment iovec.  Initialized by iov_iter_ubuf(),
    checked for by iter_is_ubuf(), otherwise behaves like ITER_IOVEC
    ones.
    
    We are going to expose the things like ->write_iter() et.al. to those
    in subsequent commits.
    
    New predicate (user_backed_iter()) that is true for ITER_IOVEC and
    ITER_UBUF; places like direct-IO handling should use that for
    checking that pages we modify after getting them from iov_iter_get_pages()
    would need to be dirtied.
    
    DO NOT assume that replacing iter_is_iovec() with user_backed_iter()
    will solve all problems - there's code that uses iter_is_iovec() to
    decide how to poke around in iov_iter guts and for that the predicate
    replacement obviously won't suffice.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    fcb14cb1
iov_iter.c 49.2 KB