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

Jan Kara
2024-11-20T15:44:50Z

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).

Honza
--
Jan Kara <jack@suse.com>
SUSE Labs, CR