Commit 07932a02 authored by Xiubo Li's avatar Xiubo Li Committed by Nicholas Bellinger

tcmu: Fix module removal due to stuck unmap_thread thread again

Because the unmap code just after the schdule() returned may take
a long time and if the kthread_stop() is fired just when in this
routine, the module removal maybe stuck too.
Signed-off-by: default avatarXiubo Li <lixiubo@cmss.chinamobile.com>
Reviewed-by: default avatarMike Christie <mchristi@redhat.com>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 1d6ef276
...@@ -1707,7 +1707,7 @@ static int unmap_thread_fn(void *data) ...@@ -1707,7 +1707,7 @@ static int unmap_thread_fn(void *data)
struct page *page; struct page *page;
int i; int i;
while (1) { while (!kthread_should_stop()) {
DEFINE_WAIT(__wait); DEFINE_WAIT(__wait);
prepare_to_wait(&unmap_wait, &__wait, TASK_INTERRUPTIBLE); prepare_to_wait(&unmap_wait, &__wait, TASK_INTERRUPTIBLE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment