[libvirt] [PATCH 3/5] util: introduce readonly attribute to virPCIDeviceConfigOpenInternal

Ján Tomko jtomko at redhat.com
Tue Aug 13 13:45:17 UTC 2019


Allow wrappers to open PCI config as read-only.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 src/util/virpci.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/util/virpci.c b/src/util/virpci.c
index c1dad1e69f..e45dfbc631 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -291,11 +291,11 @@ virPCIDeviceGetDriverPathAndName(virPCIDevicePtr dev, char **path, char **name)
 
 
 static int
-virPCIDeviceConfigOpenInternal(virPCIDevicePtr dev, bool fatal)
+virPCIDeviceConfigOpenInternal(virPCIDevicePtr dev, bool readonly, bool fatal)
 {
     int fd;
 
-    fd = open(dev->path, O_RDWR);
+    fd = open(dev->path, readonly ? O_RDONLY : O_RDWR);
 
     if (fd < 0) {
         if (fatal) {
@@ -317,13 +317,13 @@ virPCIDeviceConfigOpenInternal(virPCIDevicePtr dev, bool fatal)
 static int
 virPCIDeviceConfigOpen(virPCIDevicePtr dev, bool fatal)
 {
-    return virPCIDeviceConfigOpenInternal(dev, fatal);
+    return virPCIDeviceConfigOpenInternal(dev, false, fatal);
 }
 
 static int
 virPCIDeviceConfigOpenWrite(virPCIDevicePtr dev)
 {
-    return virPCIDeviceConfigOpenInternal(dev, true);
+    return virPCIDeviceConfigOpenInternal(dev, false, true);
 }
 
 static void
-- 
2.20.1




More information about the libvir-list mailing list