xfs
[Top] [All Lists]

[RFC PATCH 1/5] new helper: iov_iter_rw()

To: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, ceph-devel@xxxxxxxxxxxxxxx, linux-cifs@xxxxxxxxxxxxxxx, osd-dev@xxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, fuse-devel@xxxxxxxxxxxxxxxxxxxxx, cluster-devel@xxxxxxxxxx, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, HPDD-discuss@xxxxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, linux-nilfs@xxxxxxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx, v9fs-developer@xxxxxxxxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Subject: [RFC PATCH 1/5] new helper: iov_iter_rw()
From: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Mon, 16 Mar 2015 04:33:49 -0700
Cc: linux-kernel@xxxxxxxxxxxxxxx, Chris Mason <clm@xxxxxx>, Josef Bacik <jbacik@xxxxxx>, David Sterba <dsterba@xxxxxxx>, "Yan Zheng" <zyan@xxxxxxxxxx>, Sage Weil <sage@xxxxxxxxxx>, Steve French <sfrench@xxxxxxxxx>, Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>, Benny Halevy <bhalevy@xxxxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>, "Theodore Ts'o" <tytso@xxxxxxx>, Andreas Dilger <adilger.kernel@xxxxxxxxx>, Jaegeuk Kim <jaegeuk@xxxxxxxxxx>, Changman Lee <cm224.lee@xxxxxxxxxxx>, Miklos Szeredi <miklos@xxxxxxxxxx>, Steven Whitehouse <swhiteho@xxxxxxxxxx>, Dave Kleikamp <shaggy@xxxxxxxxxx>, Oleg Drokin <oleg.drokin@xxxxxxxxx>, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>, Anna Schumaker <anna.schumaker@xxxxxxxxxx>, Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, Eric Van Hensbergen <ericvh@xxxxxxxxx>, Ron Minnich <rminnich@xxxxxxxxxx>, Latchesar Ionkov <lucho@xxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Omar Sandoval <osandov@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <cover.1426502566.git.osandov@xxxxxxxxxxx>
In-reply-to: <cover.1426502566.git.osandov@xxxxxxxxxxx>
References: <cover.1426502566.git.osandov@xxxxxxxxxxx>
References: <cover.1426502566.git.osandov@xxxxxxxxxxx>
Get either READ or WRITE out of iter->type.

Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
---
 include/linux/uio.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/linux/uio.h b/include/linux/uio.h
index 7188029..87a47b3 100644
--- a/include/linux/uio.h
+++ b/include/linux/uio.h
@@ -10,6 +10,7 @@
 #define __LINUX_UIO_H
 
 #include <linux/kernel.h>
+#include <linux/fs.h>
 #include <uapi/linux/uio.h>
 
 struct page;
@@ -111,6 +112,15 @@ 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.
+ */
+static inline int iov_iter_rw(const struct iov_iter *i)
+{
+       return 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
-- 
2.3.3

<Prev in Thread] Current Thread [Next in Thread>