diff options
| author | Darrick J. Wong <djwong@kernel.org> | 2026-01-12 16:32:12 -0800 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-01-13 09:58:01 +0100 |
| commit | 94503211d2fdcc5183d01c2719258a7795cdecb0 (patch) | |
| tree | a98ab5a22d0907dc6d690ea1106543ffe10e4935 | |
| parent | efd87a10072966e1555e1288a570c883c73182c3 (diff) | |
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>
| -rw-r--r-- | fs/xfs/xfs_notify_failure.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/xfs_notify_failure.c b/fs/xfs/xfs_notify_failure.c index b17672889942..6d5002413c2c 100644 --- a/fs/xfs/xfs_notify_failure.c +++ b/fs/xfs/xfs_notify_failure.c @@ -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; } |
