The kernel thread function log_writes_kthread() invokes the try_to_freeze()
in its loop. But all the kernel threads are non-freezable by default.
So if we want to make a kernel thread to be freezable, we have to invoke
set_freezable() explicitly.

Signed-off-by: Kevin Hao <[email protected]>
---
 drivers/md/dm-log-writes.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index f17a6cf2284e..dabfc856443a 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -432,6 +432,7 @@ static int log_writes_kthread(void *arg)
        struct log_writes_c *lc = arg;
        sector_t sector = 0;
 
+       set_freezable();
        while (!kthread_should_stop()) {
                bool super = false;
                bool logging_enabled;
-- 
2.39.2


Reply via email to