[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <438D8115-68AE-47C6-B942-485814B77416@hammerspace.com>
Date: Wed, 22 Mar 2023 18:47:09 +0000
From: Trond Myklebust <trondmy@...merspace.com>
To: David Howells <dhowells@...hat.com>
CC: Matthew Wilcox <willy@...radead.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Christoph Hellwig <hch@...radead.org>,
Jens Axboe <axboe@...nel.dk>,
Jeffrey Layton <jlayton@...nel.org>,
Christian Brauner <brauner@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
Anna Schumaker <anna@...nel.org>,
Charles Edward Lever <chuck.lever@...cle.com>,
"linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>
Subject: Re: [RFC PATCH] iov_iter: Add an iterator-of-iterators
> On Mar 22, 2023, at 14:15, David Howells <dhowells@...hat.com> wrote:
>
> Trond Myklebust <trondmy@...merspace.com> wrote:
>
>> Add an enum iter_type for ITER_ITER ? :-)
>
> Well, you asked for it... It's actually fairly straightforward once
> ITER_PIPE is removed.
>
> ---
> iov_iter: Add an iterator-of-iterators
>
> Provide an I/O iterator that takes an array of iterators and iterates over
> them in turn. Then make the sunrpc service code (and thus nfsd) use it.
>
> In this particular instance, the svc_tcp_sendmsg() sets up an array of
> three iterators: once for the marker+header, one for the body and one
> optional one for the tail, then sets msg_iter to be an
> iterator-of-iterators across them.
Cool! This is something that can be used on the receive side as well, so very useful. I can imagine it might also open up a few more use cases for ITER_XARRAY.
Thanks!
Trond
_________________________________
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@...merspace.com
Powered by blists - more mailing lists