[PATCH] node_device: Do not lock the driver state needlessly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When processing the PCI devices we can only read the configs for each of
them if running as privileged.  That information is saved in the driver
state as a boolean introduced in commit 643c74abff01.  However since
that version it is only written to once during nodeStateInitialize() and
only read from that point (apart from some commits around v3.9.0 release
when it was not even set, but that was fixed before v3.10.0).  And it is
only read once, just to store that boolean in a temporary variable which
is also used in only one condition.

Rewrite this without locking and save few lines of code.

Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
---
 src/node_device/node_device_udev.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 7b4ff80f8fb4..be5ee0108c85 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -430,7 +430,6 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state,
     g_autofree char *linkpath = NULL;
     int ret = -1;
     char *p;
-    bool privileged = false;
 
     linkpath = g_strdup_printf("%s/config", udev_device_get_syspath(device));
     if (virFileWaitForExists(linkpath, 10, 100) < 0) {
@@ -440,10 +439,6 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state,
         goto cleanup;
     }
 
-    VIR_WITH_MUTEX_LOCK_GUARD(&driver_state->lock) {
-        privileged = driver_state->privileged;
-    }
-
     pci_dev->klass = -1;
     if (udevGetIntProperty(device, "PCI_CLASS", &pci_dev->klass, 16) < 0)
         goto cleanup;
@@ -491,7 +486,7 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state,
         goto cleanup;
 
     /* We need to be root to read PCI device configs */
-    if (privileged) {
+    if (driver_state->privileged) {
         if (virPCIGetHeaderType(pciDev, &pci_dev->hdrType) < 0)
             goto cleanup;
 
-- 
2.48.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux