All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: David Howells <dhowells@redhat.com>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Christian Brauner <christian@brauner.io>,
	David Laight <David.Laight@ACULAB.COM>,
	Matthew Wilcox <willy@infradead.org>,
	Jeff Layton <jlayton@kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	linux-mm@kvack.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v5 04/11] iov_iter: Derive user-backedness from the iterator type
Date: Wed, 20 Sep 2023 23:22:24 +0100	[thread overview]
Message-ID: <20230920222231.686275-5-dhowells@redhat.com> (raw)
In-Reply-To: <20230920222231.686275-1-dhowells@redhat.com>

Use the iterator type to determine whether an iterator is user-backed or
not rather than using a special flag for it.  Now that ITER_UBUF and
ITER_IOVEC are 0 and 1, they can be checked with a single comparison.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Alexander Viro <viro@zeniv.linux.org.uk>
cc: Jens Axboe <axboe@kernel.dk>
cc: Christoph Hellwig <hch@lst.de>
cc: Christian Brauner <christian@brauner.io>
cc: Matthew Wilcox <willy@infradead.org>
cc: Linus Torvalds <torvalds@linux-foundation.org>
cc: David Laight <David.Laight@ACULAB.COM>
cc: linux-block@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
cc: linux-mm@kvack.org
---
 include/linux/uio.h | 4 +---
 lib/iov_iter.c      | 1 -
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/include/linux/uio.h b/include/linux/uio.h
index d1801c46e89e..e2a248dad80b 100644
--- a/include/linux/uio.h
+++ b/include/linux/uio.h
@@ -43,7 +43,6 @@ struct iov_iter {
 	bool copy_mc;
 	bool nofault;
 	bool data_source;
-	bool user_backed;
 	union {
 		size_t iov_offset;
 		int last_offset;
@@ -143,7 +142,7 @@ static inline unsigned char iov_iter_rw(const struct iov_iter *i)
 
 static inline bool user_backed_iter(const struct iov_iter *i)
 {
-	return i->user_backed;
+	return iter_is_ubuf(i) || iter_is_iovec(i);
 }
 
 /*
@@ -383,7 +382,6 @@ static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction,
 	*i = (struct iov_iter) {
 		.iter_type = ITER_UBUF,
 		.copy_mc = false,
-		.user_backed = true,
 		.data_source = direction,
 		.ubuf = buf,
 		.count = count,
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 27234a820eeb..227c9f536b94 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -290,7 +290,6 @@ void iov_iter_init(struct iov_iter *i, unsigned int direction,
 		.iter_type = ITER_IOVEC,
 		.copy_mc = false,
 		.nofault = false,
-		.user_backed = true,
 		.data_source = direction,
 		.__iov = iov,
 		.nr_segs = nr_segs,


  parent reply	other threads:[~2023-09-20 22:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-20 22:22 [PATCH v5 00/11] iov_iter: Convert the iterator macros into inline funcs David Howells
2023-09-20 22:22 ` [PATCH v5 01/11] sound: Fix snd_pcm_readv()/writev() to use iov access functions David Howells
2023-09-21  6:08   ` Jaroslav Kysela
2023-09-21 13:14   ` Takashi Iwai
2023-09-21 15:03     ` David Howells
2023-09-21 15:10       ` Takashi Iwai
2023-09-20 22:22 ` [PATCH v5 02/11] infiniband: Use user_backed_iter() to see if iterator is UBUF/IOVEC David Howells
2023-09-20 22:22 ` [PATCH v5 03/11] iov_iter: Renumber ITER_* constants David Howells
2023-09-20 22:22 ` David Howells [this message]
2023-09-20 22:22 ` [PATCH v5 05/11] iov_iter: Convert iterate*() to inline funcs David Howells
2023-09-22  9:32   ` Simon Horman
2023-09-22 11:38     ` David Howells
2023-09-20 22:22 ` [PATCH v5 06/11] iov_iter: Don't deal with iter->copy_mc in memcpy_from_iter_mc() David Howells
2023-09-20 22:22 ` [PATCH v5 07/11] iov_iter: Add a kernel-type iterator-only iteration function David Howells
2023-09-22  9:34   ` Simon Horman
2023-09-20 22:22 ` [PATCH v5 08/11] iov_iter, net: Move csum_and_copy_to/from_iter() to net/ David Howells
2023-09-20 22:22 ` [PATCH v5 09/11] iov_iter, net: Fold in csum_and_memcpy() David Howells
2023-09-20 22:22 ` [PATCH v5 10/11] iov_iter, net: Merge csum_and_copy_from_iter{,_full}() together David Howells
2023-09-20 22:22 ` [PATCH v5 11/11] iov_iter, net: Move hash_and_copy_to_iter() to net/ David Howells
2023-09-21 14:04 ` [PATCH v5 00/11] iov_iter: Convert the iterator macros into inline funcs David Laight
2023-09-22 12:01   ` David Howells
2023-09-23  6:59     ` Willem de Bruijn
2023-09-23 10:31       ` David Laight

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230920222231.686275-5-dhowells@redhat.com \
    --to=dhowells@redhat.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=axboe@kernel.dk \
    --cc=christian@brauner.io \
    --cc=hch@lst.de \
    --cc=jlayton@kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.