[PATCH] f2fs: call fsnotify_sb_error() when f2fs have errors

Yangtao Li posted 1 patch 2 years, 7 months ago
fs/f2fs/super.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] f2fs: call fsnotify_sb_error() when f2fs have errors
Posted by Yangtao Li 2 years, 7 months ago
When an EFSCORRUPTED error occurs in f2fs, report the error to
userspace monitoring tools.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
---
 fs/f2fs/super.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 375a178540d6..69c747c4d4f4 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -28,6 +28,7 @@
 #include <linux/part_stat.h>
 #include <linux/zstd.h>
 #include <linux/lz4.h>
+#include <linux/fsnotify.h>
 
 #include "f2fs.h"
 #include "node.h"
@@ -4035,6 +4036,8 @@ static void f2fs_record_stop_reason(struct f2fs_sb_info *sbi)
 	f2fs_up_write(&sbi->sb_lock);
 	if (err)
 		f2fs_err(sbi, "f2fs_commit_super fails to record err:%d", err);
+
+	fsnotify_sb_error(sbi->sb, NULL, EFSCORRUPTED);
 }
 
 void f2fs_save_errors(struct f2fs_sb_info *sbi, unsigned char flag)
@@ -4081,6 +4084,8 @@ static void f2fs_record_errors(struct f2fs_sb_info *sbi, unsigned char error)
 								error, err);
 out_unlock:
 	f2fs_up_write(&sbi->sb_lock);
+
+	fsnotify_sb_error(sbi->sb, NULL, EFSCORRUPTED);
 }
 
 void f2fs_handle_error(struct f2fs_sb_info *sbi, unsigned char error)
-- 
2.39.0