[libvirt] [PATCH 11/11] storage_scsi: Allow the omitted 'unique_id'

Osier Yang jyang at redhat.com
Thu Jun 20 05:31:42 UTC 2013


On 20/06/13 03:00, John Ferlan wrote:
> On 06/07/2013 01:03 PM, Osier Yang wrote:
>> ---
>>   src/storage/storage_backend_scsi.c | 12 ++++--------
>>   1 file changed, 4 insertions(+), 8 deletions(-)
>>
>> diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c
>> index 5635f73..da6a5dd 100644
>> --- a/src/storage/storage_backend_scsi.c
>> +++ b/src/storage/storage_backend_scsi.c
>> @@ -760,18 +760,14 @@ getAdapterName(virStoragePoolSourceAdapter adapter)
>>   
>>       if (adapter.type != VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST) {
>>           if (adapter.data.scsi_host.parent) {
>> -            if (!adapter.data.scsi_host.has_unique_id) {
>> -                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> -                               _("'unique_id' is not specified for "
>> -                                 "scsi_host adapter"));
>> +            if (!(addr = getScsiHostParentAddress(adapter.data.scsi_host.parent)))
> I don't understand the code churn that takes place for getAdapterName -
> is it really required to make the change in 7/11 especially since you're
> just undoing it here?  That is between patches 7-10 if getAdapterName()
> didn't support the parent fields, would it matter?

7/10's purpose is to find the scsi host by specified "parent" and 
"unique_id",
but omitted "unique_id" was not supported. That says it matters.

>
>>                   return NULL;
>> -            } else {
>> -                if (!(addr = getScsiHostParentAddress(adapter.data.scsi_host.parent)))
>> -                    return NULL;
>>   
>> +            if (!adapter.data.scsi_host.has_unique_id)
>> +                name = virGuessStableScsiHostName(NULL, addr);
>> +            else
>>                   name = virParseStableScsiHostAddress(NULL, addr,
>>                                                        adapter.data.scsi_host.unique_id);
> Still need to VIR_FREE(addr);
>
> John
>> -            }
>>           } else if (adapter.data.scsi_host.name) {
>>               if (VIR_STRDUP(name, adapter.data.scsi_host.name) < 0)
>>                   return NULL;
>>




More information about the libvir-list mailing list