Unverified Commit 94503211 authored by Darrick J. Wong's avatar Darrick J. Wong Committed by Christian Brauner
Browse files

xfs: translate fsdax media errors into file "data lost" errors when convenient



Translate fsdax persistent failure notifications into file data loss
events when it's convenient, aka when the inode is already incore.

Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Link: https://patch.msgid.link/176826402673.3490369.1672039530408369208.stgit@frogsfrogsfrogs


Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent efd87a10
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/mm.h>
#include <linux/dax.h>
#include <linux/fs.h>
#include <linux/fserror.h>

struct xfs_failure_info {
	xfs_agblock_t		startblock;
@@ -116,6 +117,9 @@ xfs_dax_failure_fn(
		invalidate_inode_pages2_range(mapping, pgoff,
					      pgoff + pgcnt - 1);

	fserror_report_data_lost(VFS_I(ip), (u64)pgoff << PAGE_SHIFT,
			(u64)pgcnt << PAGE_SHIFT, GFP_NOFS);

	xfs_irele(ip);
	return error;
}