提交 9f45fabd 编写于 作者: D Daniel Berrange 提交者: Jiri Denemark

remote: Fix incorrect use of private data field

NodeDeviceCreateXML and NodeDeviceDestroy methods added for NPIV were
using the wrong privateData field for the remote driver. This doesn't
impact KVM, since the remote driver handles everything, thus
privateData == devMonPrivateData. It does impact Xen though, because
the remote driver only handles a subset of methods and thus
privateData != devMonPrivateData.
上级 f688face
...@@ -6164,6 +6164,8 @@ remoteNodeDeviceDettach (virNodeDevicePtr dev) ...@@ -6164,6 +6164,8 @@ remoteNodeDeviceDettach (virNodeDevicePtr dev)
{ {
int rv = -1; int rv = -1;
remote_node_device_dettach_args args; remote_node_device_dettach_args args;
/* This method is unusual in that it uses the HV driver, not the devMon driver
* hence its use of privateData, instead of devMonPrivateData */
struct private_data *priv = dev->conn->privateData; struct private_data *priv = dev->conn->privateData;
remoteDriverLock(priv); remoteDriverLock(priv);
...@@ -6187,6 +6189,8 @@ remoteNodeDeviceReAttach (virNodeDevicePtr dev) ...@@ -6187,6 +6189,8 @@ remoteNodeDeviceReAttach (virNodeDevicePtr dev)
{ {
int rv = -1; int rv = -1;
remote_node_device_re_attach_args args; remote_node_device_re_attach_args args;
/* This method is unusual in that it uses the HV driver, not the devMon driver
* hence its use of privateData, instead of devMonPrivateData */
struct private_data *priv = dev->conn->privateData; struct private_data *priv = dev->conn->privateData;
remoteDriverLock(priv); remoteDriverLock(priv);
...@@ -6210,6 +6214,8 @@ remoteNodeDeviceReset (virNodeDevicePtr dev) ...@@ -6210,6 +6214,8 @@ remoteNodeDeviceReset (virNodeDevicePtr dev)
{ {
int rv = -1; int rv = -1;
remote_node_device_reset_args args; remote_node_device_reset_args args;
/* This method is unusual in that it uses the HV driver, not the devMon driver
* hence its use of privateData, instead of devMonPrivateData */
struct private_data *priv = dev->conn->privateData; struct private_data *priv = dev->conn->privateData;
remoteDriverLock(priv); remoteDriverLock(priv);
...@@ -6237,7 +6243,7 @@ remoteNodeDeviceCreateXML(virConnectPtr conn, ...@@ -6237,7 +6243,7 @@ remoteNodeDeviceCreateXML(virConnectPtr conn,
remote_node_device_create_xml_args args; remote_node_device_create_xml_args args;
remote_node_device_create_xml_ret ret; remote_node_device_create_xml_ret ret;
virNodeDevicePtr dev = NULL; virNodeDevicePtr dev = NULL;
struct private_data *priv = conn->privateData; struct private_data *priv = conn->devMonPrivateData;
remoteDriverLock(priv); remoteDriverLock(priv);
...@@ -6263,7 +6269,7 @@ remoteNodeDeviceDestroy(virNodeDevicePtr dev) ...@@ -6263,7 +6269,7 @@ remoteNodeDeviceDestroy(virNodeDevicePtr dev)
{ {
int rv = -1; int rv = -1;
remote_node_device_destroy_args args; remote_node_device_destroy_args args;
struct private_data *priv = dev->conn->privateData; struct private_data *priv = dev->conn->devMonPrivateData;
remoteDriverLock(priv); remoteDriverLock(priv);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册