char *lun_path = NULL;
DIR *lun_dir = NULL;
struct dirent *lun_dirent = NULL;
- int retval = 0;
+ int retval = -1;
int direrr;
if (virAsprintf(&lun_path, "/sys/bus/scsi/devices/%u:%u:%u:%u",
virReportSystemError(errno,
_("Failed to opendir sysfs path '%s'"),
lun_path);
- retval = -1;
goto out;
}
uint32_t lun)
{
char *type_path = NULL;
- int retval = 0;
+ int retval = -1;
int device_type;
char *block_device = NULL;
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to determine if %u:%u:%u:%u is a Direct-Access LUN"),
host, bus, target, lun);
- retval = -1;
goto out;
}
VIR_DEBUG("%u:%u:%u:%u is a Direct-Access LUN",
host, bus, target, lun);
- if (getBlockDevice(host, bus, target, lun, &block_device) < 0)
+ if (getBlockDevice(host, bus, target, lun, &block_device) < 0) {
+ VIR_DEBUG("Failed to find block device for this LUN");
goto out;
+ }
if (virStorageBackendSCSINewLun(pool,
host, bus, target, lun,
block_device) < 0) {
VIR_DEBUG("Failed to create new storage volume for %u:%u:%u:%u",
host, bus, target, lun);
- retval = -1;
goto out;
}
+ retval = 0;
VIR_DEBUG("Created new storage volume for %u:%u:%u:%u successfully",
host, bus, target, lun);
continue;
}
- found = true;
- VIR_DEBUG("Found LU '%s'", lun_dirent->d_name);
+ VIR_DEBUG("Found possible LU '%s'", lun_dirent->d_name);
- processLU(pool, scanhost, bus, target, lun);
+ if (processLU(pool, scanhost, bus, target, lun) == 0)
+ found = true;
}
if (!found)