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: Darrick J. Wong <djwong@kernel.org>
Link: https://patch.msgid.link/176826402673.3490369.1672039530408369208.stgit@frogsfrogsfrogs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Darrick J. Wong 2026-01-12 16:32:12 -08:00 committed by Christian Brauner
parent efd87a1007
commit 94503211d2
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -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;
}