diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index bdc1563300..b726b0c071 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2076,7 +2076,6 @@ virFileFindHugeTLBFS; virFileFindMountPoint; virFileFindResource; virFileFindResourceFull; -virFileFlock; virFileFreeACLs; virFileGetACLs; virFileGetDefaultHugepage; diff --git a/src/util/virfile.c b/src/util/virfile.c index c6f4a18a7a..32361075fb 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -463,30 +463,9 @@ int virFileUnlock(int fd, off_t start, off_t len) } -/** - * virFileFlock: - * @fd: file descriptor to call flock on - * @lock: true for lock, false for unlock - * @shared: true if shared, false for exclusive, ignored if `@lock == false` - * - * This is just a simple wrapper around flock(2) that errors out on unsupported - * platforms. - * - * The lock will be released when @fd is closed or this function is called with - * `@lock == false`. - * - * Returns 0 on success, -1 otherwise (with errno set) - */ -int virFileFlock(int fd, bool lock, bool shared) -{ - if (lock) - return flock(fd, shared ? LOCK_SH : LOCK_EX); - - return flock(fd, LOCK_UN); -} - #else /* WIN32 */ + int virFileLock(int fd G_GNUC_UNUSED, bool shared G_GNUC_UNUSED, off_t start G_GNUC_UNUSED, @@ -505,14 +484,6 @@ int virFileUnlock(int fd G_GNUC_UNUSED, } -int virFileFlock(int fd G_GNUC_UNUSED, - bool lock G_GNUC_UNUSED, - bool shared G_GNUC_UNUSED) -{ - errno = ENOSYS; - return -1; -} - #endif /* WIN32 */ diff --git a/src/util/virfile.h b/src/util/virfile.h index cb0e586a7d..2eec89598f 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -118,8 +118,6 @@ int virFileLock(int fd, bool shared, off_t start, off_t len, bool waitForLock) int virFileUnlock(int fd, off_t start, off_t len) G_GNUC_NO_INLINE; -int virFileFlock(int fd, bool lock, bool shared); - typedef int (*virFileRewriteFunc)(int fd, const void *opaque); int virFileRewrite(const char *path, mode_t mode, diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c index 9b78a6cb15..54db6f040c 100644 --- a/src/util/virresctrl.c +++ b/src/util/virresctrl.c @@ -453,6 +453,8 @@ VIR_ONCE_GLOBAL_INIT(virResctrl); /* Common functions */ +#ifndef WIN32 + static int virResctrlLockWrite(void) { @@ -463,7 +465,7 @@ 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; @@ -485,7 +487,7 @@ virResctrlUnlock(int fd) virReportSystemError(errno, "%s", _("Cannot close resctrl")); /* Trying to save the already broken */ - if (virFileFlock(fd, false, false) < 0) + if (flock(fd, LOCK_UN) < 0) virReportSystemError(errno, "%s", _("Cannot unlock resctrl")); return -1; @@ -494,6 +496,29 @@ virResctrlUnlock(int fd) return 0; } +#else /* WIN32 */ + +static int +virResctrlLockWrite(void) +{ + virReportSystemError(ENOSYS, "%s", + _("resctrl locking is not supported " + "on this platform")); + return -1; +} + + +static int +virResctrlUnlock(int fd G_GNUC_UNUSED) +{ + virReportSystemError(ENOSYS, "%s", + _("resctrl locking is not supported " + "on this platform")); + return -1; +} + +#endif /* WIN32 */ + /* virResctrlInfo-related definitions */ static int