]> 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)
commit3057e78597cf3730059c4310711cd2d49c0b1957
tree441e212766a0d2ad42a3c796b4beea999dbdd0d6
parenteab860ea7c694551460224be5f21dd016f8a5473
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