From: Lalith Rajendran lalithkraj@google.com
stable inclusion from stable-v5.10.150 commit ac66db1a436504159463f811b9e9864c1d2b03f1 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I6D0XA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=...
--------------------------------
commit 3b575495ab8dbb4dbe85b4ac7f991693c3668ff5 upstream.
ext4_lazyinit_thread is not set freezable. Hence when the thread calls try_to_freeze it doesn't freeze during suspend and continues to send requests to the storage during suspend, resulting in suspend failures.
Cc: stable@kernel.org Signed-off-by: Lalith Rajendran lalithkraj@google.com Link: https://lore.kernel.org/r/20220818214049.1519544-1-lalithkraj@google.com Signed-off-by: Theodore Ts'o tytso@mit.edu Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Jialin Zhang zhangjialin11@huawei.com --- fs/ext4/super.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index d87a435adc46..c096cebcea6b 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3594,6 +3594,7 @@ static int ext4_lazyinit_thread(void *arg) unsigned long next_wakeup, cur;
BUG_ON(NULL == eli); + set_freezable();
cont_thread: while (true) {