Re: [PATCH 04/33] vfs: Export rw_verify_area() for use by cachefiles

From: David Howells
Date: Tue Feb 16 2021 - 06:58:58 EST


Christoph Hellwig <hch@xxxxxx> wrote:

> > Export rw_verify_area() for so that cachefiles can use it before issuing
> > call_read_iter() and call_write_iter() to effect async DIO operations
> > against the cache. This is analogous to aio_read() and aio_write().
>
> I don't think this is the right thing to do. Instead of calling
> into ->read_iter / ->write_iter directly this should be using helpers.
>
> What prevents you from using vfs_iocb_iter_read and
> vfs_iocb_iter_write which seem the right level of abstraction for this?

I don't think they existed when I wrote this code. Should aio use that too,
btw? I modelled my code on aio_read() and aio_write().

But I can certainly switch to using vfs_iocb_iter_read/write, though the
trivial checks are redundant. The fsnotify call, I guess I'm missing though
(and is that missing in aio_read/write() also?).

David