On Fri, Aug 09, 2024 at 02:44:24PM -0400, Josef Bacik wrote:
> xfs has it's own handling for write faults, so we need to add the
> pre-content fsnotify hook for this case.  Reads go through filemap_fault
> so they're handled properly there.
> 
> Signed-off-by: Josef Bacik <[email protected]>
> ---
>  fs/xfs/xfs_file.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> index 4cdc54dc9686..a00436dd29d1 100644
> --- a/fs/xfs/xfs_file.c
> +++ b/fs/xfs/xfs_file.c
> @@ -1328,8 +1328,13 @@ __xfs_filemap_fault(
>  
>       trace_xfs_filemap_fault(XFS_I(inode), order, write_fault);
>  
> -     if (write_fault)
> -             return xfs_write_fault(vmf, order);
> +     if (write_fault) {
> +             vm_fault_t ret = filemap_maybe_emit_fsnotify_event(vmf);
> +             if (unlikely(ret))
> +                     return ret;
> +             xfs_write_fault(vmf, order);
> +     }
> +
>       if (IS_DAX(inode))
>               return xfs_dax_read_fault(vmf, order);
>       return filemap_fault(vmf);

Looks good now.

Acked-by: Dave Chinner <[email protected]>

-- 
Dave Chinner
[email protected]

Reply via email to