From: Osier Yang Date: Wed, 20 Nov 2013 12:38:17 +0000 (+0800) Subject: storage: Returns earlier if source adapter of the scsi pool is a HBA X-Git-Tag: v1.2.0-rc1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b96651dec09850dcc9fdace5a149c06a793f611e;p=thirdparty%2Flibvirt.git storage: Returns earlier if source adapter of the scsi pool is a HBA It makes no sense to go forward to get the parent host number of a HBA, and treat the HBA as a vHBA with trying to delete it. Signed-off-by: Osier Yang --- diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c index 14261217af..6f86ffce59 100644 --- a/src/storage/storage_backend_scsi.c +++ b/src/storage/storage_backend_scsi.c @@ -667,6 +667,14 @@ deleteVport(virStoragePoolSourceAdapter adapter) if (adapter.type != VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST) return 0; + /* It must be a HBA instead of a vHBA as long as "parent" + * is NULL. "createVport" guaranteed "parent" for a vHBA + * cannot be NULL, it's either specified in XML, or detected + * automatically. + */ + if (!adapter.data.fchost.parent) + return 0; + if (!(virGetFCHostNameByWWN(NULL, adapter.data.fchost.wwnn, adapter.data.fchost.wwpn))) return -1;