提交 fabb7430 编写于 作者: J Ján Tomko

util: Introduce virPCIDeviceConfigOpenWrite

Only a handful of function need write access to the PCI config
space. Create a wrapper function for those so that we can
open it read only by default.
Signed-off-by: NJán Tomko <jtomko@redhat.com>
Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
上级 fc16c699
...@@ -320,6 +320,12 @@ virPCIDeviceConfigOpen(virPCIDevicePtr dev, bool fatal) ...@@ -320,6 +320,12 @@ virPCIDeviceConfigOpen(virPCIDevicePtr dev, bool fatal)
return virPCIDeviceConfigOpenInternal(dev, fatal); return virPCIDeviceConfigOpenInternal(dev, fatal);
} }
static int
virPCIDeviceConfigOpenWrite(virPCIDevicePtr dev)
{
return virPCIDeviceConfigOpenInternal(dev, true);
}
static void static void
virPCIDeviceConfigClose(virPCIDevicePtr dev, int cfgfd) virPCIDeviceConfigClose(virPCIDevicePtr dev, int cfgfd)
{ {
...@@ -808,7 +814,7 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevicePtr dev, ...@@ -808,7 +814,7 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevicePtr dev,
dev->name); dev->name);
return -1; return -1;
} }
if ((parentfd = virPCIDeviceConfigOpen(parent, true)) < 0) if ((parentfd = virPCIDeviceConfigOpenWrite(parent)) < 0)
goto out; goto out;
VIR_DEBUG("%s %s: doing a secondary bus reset", dev->id, dev->name); VIR_DEBUG("%s %s: doing a secondary bus reset", dev->id, dev->name);
...@@ -957,7 +963,7 @@ virPCIDeviceReset(virPCIDevicePtr dev, ...@@ -957,7 +963,7 @@ virPCIDeviceReset(virPCIDevicePtr dev,
} }
VIR_DEBUG("Resetting device %s", dev->name); VIR_DEBUG("Resetting device %s", dev->name);
if ((fd = virPCIDeviceConfigOpen(dev, true)) < 0) if ((fd = virPCIDeviceConfigOpenWrite(dev)) < 0)
goto cleanup; goto cleanup;
if (virPCIDeviceInit(dev, fd) < 0) if (virPCIDeviceInit(dev, fd) < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册