]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix vPort management: FC vHBA creation
authorDennis Chen <xschen@tnsoft.com.cn>
Fri, 28 Jun 2013 09:59:51 +0000 (11:59 +0200)
committerJán Tomko <jtomko@redhat.com>
Mon, 1 Jul 2013 09:54:22 +0000 (11:54 +0200)
When creating a virtual FC HBA with virsh/libvirt API, an error message
will be returned: "error: Node device not found",
also the 'nodedev-dumpxml' shows wrong information of wwpn & wwnn
for the new created device.

Signed-off-by: xschen@tnsoft.com.cn
This reverts f90af69 which switched wwpn & wwwn in the wrong place.

https://www.kernel.org/doc/Documentation/scsi/scsi_fc_transport.txt
(cherry picked from commit 3c0d5e224c71cd85b123cd938eeb360502503cb0)

src/storage/storage_backend_scsi.c
src/util/virutil.c

index 987d218509b6d2839d5e50e06d6b35fb2ec4ad94..33539af44e86cca6cdd40115d8330419315b2d67 100644 (file)
@@ -671,8 +671,8 @@ createVport(virStoragePoolSourceAdapter adapter)
     if (getHostNumber(adapter.data.fchost.parent, &parent_host) < 0)
         return -1;
 
-    if (virManageVport(parent_host, adapter.data.fchost.wwnn,
-                       adapter.data.fchost.wwpn, VPORT_CREATE) < 0)
+    if (virManageVport(parent_host, adapter.data.fchost.wwpn,
+                       adapter.data.fchost.wwnn, VPORT_CREATE) < 0)
         return -1;
 
     virFileWaitForDevices();
@@ -694,8 +694,8 @@ deleteVport(virStoragePoolSourceAdapter adapter)
     if (getHostNumber(adapter.data.fchost.parent, &parent_host) < 0)
         return -1;
 
-    if (virManageVport(parent_host, adapter.data.fchost.wwnn,
-                       adapter.data.fchost.wwpn, VPORT_DELETE) < 0)
+    if (virManageVport(parent_host, adapter.data.fchost.wwpn,
+                       adapter.data.fchost.wwnn, VPORT_DELETE) < 0)
         return -1;
 
     return 0;
index 173c74d00f05a8d06a4db0c807cd10f8927f3f19..49ae7fbd6dea06ba7c81d107ca935519bc70b028 100644 (file)
@@ -3559,8 +3559,8 @@ virManageVport(const int parent_host,
 
     if (virAsprintf(&vport_name,
                     "%s:%s",
-                    wwnn,
-                    wwpn) < 0) {
+                    wwpn,
+                    wwnn) < 0) {
         virReportOOMError();
         goto cleanup;
     }