f2fs: do not stop threads in irq context

Message ID 20221027180416.3786792-1-jaegeuk@kernel.org
State New
Headers
Series f2fs: do not stop threads in irq context |

Commit Message

Jaegeuk Kim Oct. 27, 2022, 6:04 p.m. UTC
  Let's stop threads first to avoid irq context.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/super.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index a241e4073f1d..14b4bb0f8ce6 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3905,6 +3905,9 @@  static void f2fs_record_stop_reason(struct f2fs_sb_info *sbi)
 	struct f2fs_super_block *raw_super = F2FS_RAW_SUPER(sbi);
 	int err;
 
+	f2fs_stop_gc_thread(sbi);
+	f2fs_stop_discard_thread(sbi);
+
 	f2fs_down_write(&sbi->sb_lock);
 
 	spin_lock(&sbi->error_lock);
@@ -4014,9 +4017,6 @@  void f2fs_handle_critical_error(struct f2fs_sb_info *sbi, unsigned char reason,
 	 */
 	smp_wmb();
 	sb->s_flags |= SB_RDONLY;
-
-	f2fs_stop_gc_thread(sbi);
-	f2fs_stop_discard_thread(sbi);
 }
 
 static void flush_error_work(struct work_struct *work)