diff options
author | Omar Sandoval <osandov@osandov.com> | 2015-03-17 14:04:02 -0700 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-11 22:29:44 -0400 |
commit | bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216 (patch) | |
tree | b5b35ab8f9c73cc5d71967d5b3ef22047ac92ed6 | |
parent | 8436318205b9f29e45db88850ec60e326327e241 (diff) | |
download | linux-bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216.tar.gz linux-bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216.tar.bz2 linux-bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216.zip |
new helper: iov_iter_rw()
Get either READ or WRITE out of iter->type.
Signed-off-by: Omar Sandoval <osandov@osandov.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | include/linux/uio.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/uio.h b/include/linux/uio.h index 15f11fb9fff6..8b01e1c3c614 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h @@ -112,6 +112,14 @@ static inline bool iter_is_iovec(struct iov_iter *i) } /* + * Get one of READ or WRITE out of iter->type without any other flags OR'd in + * with it. + * + * The ?: is just for type safety. + */ +#define iov_iter_rw(i) ((0 ? (struct iov_iter *)0 : (i))->type & RW_MASK) + +/* * Cap the iov_iter by given limit; note that the second argument is * *not* the new size - it's upper limit for such. Passing it a value * greater than the amount of data in iov_iter is fine - it'll just do |