Re: [PATCH v4 1/3] random: convert to using fops->read_iter()

Al Viro
2022-05-20T15:12:43Z

On Fri, May 20, 2022 at 04:39:41PM +0200, Jason A. Donenfeld wrote:
> Hi Jens,
>
> On Fri, May 20, 2022 at 08:36:17AM -0600, Jens Axboe wrote:
> > On 5/20/22 7:37 AM, Jason A. Donenfeld wrote:
> > > On Fri, May 20, 2022 at 11:44:57AM +0200, Jason A. Donenfeld wrote:
> > >> const struct file_operations urandom_fops = {
> > >> - .read = urandom_read,
> > >> + .read_iter = urandom_read_iter,
> > >
> > > One thing I noticed is that drivers/char/mem.c has both the .read and
> > > the .read_iter functions for /dev/zero and /dev/null and such. I wonder
> > > if the .read ones can be removed?
> >
> > I'm not sure if we have a clear "always use this if available" set of
> > rules for this. Ideally we'd want it to be:
> >
> > 1) Use ->read_iter() if available
> > 2) If not, use ->read()
> >
> > Might require a bit of auditing to ensure that's the case, and if we
> > can say that it is, then we could clean that up too.
>
> The only case I found where it wasn't in that order was:
> https://lore.kernel.org/lkml/20220520135103.166972-1-Jason@zx2c4.com/

See reply to another mail. Again, we might be able to retire infinibarf,
but /dev/snd/pcm* is somewhat more entrenched.