Re: [PATCH v3 2/3] util: Get rid of virFileFlock()

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

 



On Wed, Jul 29, 2020 at 02:35:01PM +0200, Ján Tomko wrote:
On a Wednesday in 2020, Andrea Bolognani wrote:
On Wed, 2020-07-29 at 13:43 +0200, Martin Kletzander wrote:
+++ b/src/util/virresctrl.c
@@ -456,6 +456,8 @@ VIR_ONCE_GLOBAL_INIT(virResctrl);
 static int
 virResctrlLockWrite(void)
 {
+#ifndef WIN32
+
     int fd = open(SYSFS_RESCTRL_PATH, O_RDONLY | O_CLOEXEC);

     if (fd < 0) {
@@ -463,13 +465,20 @@ virResctrlLockWrite(void)
         return -1;
     }

-    if (virFileFlock(fd, true, false) < 0) {
+    if (flock(fd, LOCK_EX) < 0) {
         virReportSystemError(errno, "%s", _("Cannot lock resctrl"));
         VIR_FORCE_CLOSE(fd);
         return -1;
     }

     return fd;
+
+#else /* WIN32 */
+
+    virReportSystemError(ENOSYS, "%s", _("Cannot lock resctrl"));
+    return -1;
+
+#endif
 }


@@ -484,10 +493,14 @@ virResctrlUnlock(int fd)
     if (VIR_CLOSE(fd) < 0) {
         virReportSystemError(errno, "%s", _("Cannot close resctrl"));

+#ifndef WIN32
+
         /* Trying to save the already broken */
-        if (virFileFlock(fd, false, false) < 0)
+        if (flock(fd, LOCK_UN) < 0)
             virReportSystemError(errno, "%s", _("Cannot unlock resctrl"));

+#endif
+
         return -1;
     }

So in the end you decided to go for the nuclear option :D

I'm okay with the approach, but I would prefer if you stubbed out the
functions completely, eg.


Yes, please.


I guess with two functions it's fine to do it like that.  I thought it was one,
then it became two, you know the drill.

With that, the whole series:

Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx>


Kiitos

Jano


Attachment: signature.asc
Description: PGP signature


[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