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);
-- 
2.43.0


Reply via email to