Re: [PATCH v8 13/19] fanotify: add a helper to check for pre content events

Amir Goldstein
2024-11-20T16:44:09Z

On Wed, Nov 20, 2024 at 4:44 PM Jan Kara <jack@suse.cz> wrote:
>
> On Fri 15-11-24 10:30:26, Josef Bacik wrote:
> > From: Amir Goldstein <amir73il@gmail.com>
> >
> > We want to emit events during page fault, and calling into fanotify
> > could be expensive, so add a helper to allow us to skip calling into
> > fanotify from page fault. This will also be used to disable readahead
> > for content watched files which will be handled in a subsequent patch.
> >
> > Signed-off-by: Josef Bacik <josef@toxicpanda.com>
> > Signed-off-by: Amir Goldstein <amir73il@gmail.com>
> > ---
> > include/linux/fsnotify.h | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
> > index 08893429a818..d5a0d8648000 100644
> > --- a/include/linux/fsnotify.h
> > +++ b/include/linux/fsnotify.h
> > @@ -178,6 +178,11 @@ static inline void file_set_fsnotify_mode(struct file *file)
> > }
> > }
> >
> > +static inline bool fsnotify_file_has_pre_content_watches(struct file *file)
> > +{
> > + return file && unlikely(FMODE_FSNOTIFY_HSM(file->f_mode));
> > +}
> > +
>
> I was pondering about this and since we are trying to make these quick
> checks more explicit, I'll probably drop this helper. Also the 'file &&'
> part looks strange (I understand page_cache_[a]sync_ra() need it but I'd
> rather handle it explicitely there).

Makes sense.

Thanks,
Amir.