]> git.baikalelectronics.ru Git - kernel.git/commit
iov_iter.c: macros for iterating over iov_iter
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Nov 2014 18:51:41 +0000 (13:51 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Nov 2014 23:44:10 +0000 (18:44 -0500)
commit3387488087d6628e81b8b1cab77836c66b96ffad
tree441e212766a0d2ad42a3c796b4beea999dbdd0d6
parentf520a3fb5f3728a3eee89034d362ea863eb1ce0c
iov_iter.c: macros for iterating over iov_iter

iterate_all_kinds(iter, size, ident, step_iovec, step_bvec)
iterates through the ranges covered by iter (up to size bytes total),
repeating step_iovec or step_bvec for each of those.  ident is
declared in expansion of that thing, either as struct iovec or
struct bvec, and it contains the range we are currently looking
at.  step_bvec should be a void expression, step_iovec - a size_t
one, with non-zero meaning "stop here, that many bytes from this
range left".  In the end, the amount actually handled is stored
in size.

iov_iter_copy_from_user_atomic() and iov_iter_alignment() converted
to it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/iov_iter.c