Commit 7f4796a4 authored by Josef Bacik's avatar Josef Bacik Committed by Jan Kara
Browse files

xfs: add pre-content fsnotify hook for DAX faults



xfs has it's own handling for DAX faults, so we need to add the
pre-content fsnotify hook for this case. Other faults go through
filemap_fault so they're handled properly there.

Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Link: https://patch.msgid.link/9eccdf59a65b72f0a1a5e2f2b9bff8eda2d4f2d9.1731684329.git.josef@toxicpanda.com
parent 8392bc2f
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1443,6 +1443,9 @@ xfs_dax_read_fault(

	trace_xfs_read_fault(ip, order);

	ret = filemap_fsnotify_fault(vmf);
	if (unlikely(ret))
		return ret;
	xfs_ilock(ip, XFS_MMAPLOCK_SHARED);
	ret = xfs_dax_fault_locked(vmf, order, false);
	xfs_iunlock(ip, XFS_MMAPLOCK_SHARED);
@@ -1471,6 +1474,16 @@ xfs_write_fault(
	vm_fault_t		ret;

	trace_xfs_write_fault(ip, order);
	/*
	 * Usually we get here from ->page_mkwrite callback but in case of DAX
	 * we will get here also for ordinary write fault. Handle HSM
	 * notifications for that case.
	 */
	if (IS_DAX(inode)) {
		ret = filemap_fsnotify_fault(vmf);
		if (unlikely(ret))
			return ret;
	}

	sb_start_pagefault(inode->i_sb);
	file_update_time(vmf->vma->vm_file);