tcmu: fix module removal due to stuck thread
authorMike Christie <mchristi@redhat.com>
Wed, 3 May 2017 04:57:05 +0000 (23:57 -0500)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 5 May 2017 03:01:41 +0000 (20:01 -0700)
We need to do a kthread_should_stop to check when kthread_stop has been
called.

This was a regression added in

b6df4b79a5514a9c6c53533436704129ef45bf76
tcmu: Add global data block pool support

so not sure if you wanted to merge it in with that patch or what.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_user.c

index 89b75ce563d8dddbb0b5256b71d4ffc6f771d8ce..9045837f748bd3b602256cfa9e83058ae92b8b33 100644 (file)
@@ -1560,6 +1560,9 @@ static int unmap_thread_fn(void *data)
                schedule();
                finish_wait(&unmap_wait, &__wait);
 
+               if (kthread_should_stop())
+                       break;
+
                mutex_lock(&root_udev_mutex);
                list_for_each_entry(udev, &root_udev, node) {
                        mutex_lock(&udev->cmdr_lock);