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 d6b402203b2046a0b198639826d2b8680dc499a4..31cfe8345ef38a084d166a3ebf18bf21ef9ee807 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);