[libvirt PATCH 09/17] util: Don't special-case setting a limit to zero

Andrea Bolognani abologna at redhat.com
Fri Mar 5 19:13:56 UTC 2021


This behavior reflects the needs of the QEMU driver and has no
place in a generic module such as virProcess.

Thanks to the changes made with the previous commit, it is now
safe to remove these checks and make all virProcessSetMax*()
functions finally behave the same way.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 src/util/virprocess.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 38b248217e..abce522bf3 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -798,7 +798,7 @@ virProcessSetLimit(pid_t pid,
 /**
  * virProcessSetMaxMemLock:
  * @pid: process to be changed
- * @bytes: new limit (0 for no change)
+ * @bytes: new limit
  *
  * Sets a new limit on the amount of locked memory for a process.
  *
@@ -809,9 +809,6 @@ virProcessSetMaxMemLock(pid_t pid, unsigned long long bytes)
 {
     struct rlimit rlim;
 
-    if (bytes == 0)
-        return 0;
-
     /* We use VIR_DOMAIN_MEMORY_PARAM_UNLIMITED internally to represent
      * unlimited memory amounts, but setrlimit() and prlimit() use
      * RLIM_INFINITY for the same purpose, so we need to translate between
@@ -898,7 +895,7 @@ virProcessGetMaxMemLock(pid_t pid G_GNUC_UNUSED,
 /**
  * virProcessSetMaxProcesses:
  * @pid: process to be changed
- * @procs: new limit (0 for no change)
+ * @procs: new limit
  *
  * Sets a new limit on the amount of processes for the user the
  * process is running as.
@@ -910,9 +907,6 @@ virProcessSetMaxProcesses(pid_t pid, unsigned int procs)
 {
     struct rlimit rlim;
 
-    if (procs == 0)
-        return 0;
-
     rlim.rlim_cur = rlim.rlim_max = procs;
 
     if (virProcessSetLimit(pid, RLIMIT_NPROC, &rlim) < 0) {
@@ -938,7 +932,7 @@ virProcessSetMaxProcesses(pid_t pid G_GNUC_UNUSED,
 /**
  * virProcessSetMaxFiles:
  * @pid: process to be changed
- * @files: new limit (0 for no change)
+ * @files: new limit
  *
  * Sets a new limit on the number of opened files for a process.
  *
@@ -949,9 +943,6 @@ virProcessSetMaxFiles(pid_t pid, unsigned int files)
 {
     struct rlimit rlim;
 
-    if (files == 0)
-        return 0;
-
    /* Max number of opened files is one greater than actual limit. See
     * man setrlimit.
     *
-- 
2.26.2




More information about the libvir-list mailing list