[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3418.1595152311@warthog.procyon.org.uk>
Date: Sun, 19 Jul 2020 10:51:51 +0100
From: David Howells <dhowells@...hat.com>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: dhowells@...hat.com, Trond Myklebust <trondmy@...merspace.com>,
Anna Schumaker <anna.schumaker@...app.com>,
Steve French <sfrench@...ba.org>,
Matthew Wilcox <willy@...radead.org>,
Jeff Layton <jlayton@...hat.com>,
Dave Wysochanski <dwysocha@...hat.com>,
linux-cachefs@...hat.com, linux-afs@...ts.infradead.org,
linux-nfs@...r.kernel.org, linux-cifs@...r.kernel.org,
ceph-devel@...r.kernel.org, v9fs-developer@...ts.sourceforge.net,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 01/32] iov_iter: Add ITER_MAPPING
Al Viro <viro@...iv.linux.org.uk> wrote:
> My main problem here is that your iterate_mapping() assumes that STEP is
> safe under rcu_read_lock(), with no visible mentioning of that fact.
Yeah, that's probably the biggest objection to this.
> Note, BTW, that iov_iter_for_each_range() quietly calls user-supplied
> callback in such context.
And calls kmap(), but should probably use kmap_atomic(). git grep doesn't
show any users of this, so can it be removed?
> Incidentally, do you ever have different steps for bvec and mapping?
Yes:
csum_and_copy_from_iter_full()
iov_iter_npages()
iov_iter_get_pages()
iov_iter_get_pages_alloc()
But I've tried to use the internal representation struct for bvec where I can
rather than inventing a new one.
David
Powered by blists - more mailing lists