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: Xiubo Li <[email protected]>
Reviewed-by: Mike Christie <[email protected]>
Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
Xiubo Li 2017-06-15 15:05:31 +08:00 • committed by Nicholas Bellinger
commit 07932a023a

View file

@ -1707,7 +1707,7 @@ static int unmap_thread_fn(void *data)
struct page *page;
int i;
while (1) {
while (!kthread_should_stop()) {
DEFINE_WAIT(__wait);
prepare_to_wait(&unmap_wait, &__wait, TASK_INTERRUPTIBLE);