scsi: tcmu: unmap if dev is configured
authorMike Christie <mchristi@redhat.com>
Mon, 23 Jul 2018 19:07:48 +0000 (14:07 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 31 Jul 2018 03:17:53 +0000 (23:17 -0400)
The tcmu dev is added to the list of tcmu devices during configuration.  At
this time the tcmu setup has completed, but lio core has not completed its
setup. The device is not yet usable so do not try to unmap blocks from it

Signed-off-by: Mike Christie <mchristi@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_user.c

index d6b4022..31cfe83 100644 (file)
@@ -2581,6 +2581,11 @@ static void find_free_blocks(void)
        list_for_each_entry(udev, &root_udev, node) {
                mutex_lock(&udev->cmdr_lock);
 
+               if (!target_dev_configured(&udev->se_dev)) {
+                       mutex_unlock(&udev->cmdr_lock);
+                       continue;
+               }
+
                /* Try to complete the finished commands first */
                tcmu_handle_completions(udev);