]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared: split out ioprio related stuff into ioprio-util.[ch]
authorLennart Poettering <lennart@poettering.net>
Wed, 24 Nov 2021 14:24:55 +0000 (15:24 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 24 Nov 2021 15:12:15 +0000 (16:12 +0100)
No actual code changes, just some splitting out.

src/basic/ioprio-util.c [new file with mode: 0644]
src/basic/ioprio-util.h [new file with mode: 0644]
src/basic/meson.build
src/basic/process-util.c
src/basic/process-util.h
src/core/dbus-execute.c
src/core/execute.c
src/core/load-fragment.c
src/shared/bus-unit-util.c
src/test/test-process-util.c

diff --git a/src/basic/ioprio-util.c b/src/basic/ioprio-util.c
new file mode 100644 (file)
index 0000000..b63650b
--- /dev/null
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "ioprio-util.h"
+#include "parse-util.h"
+#include "string-table.h"
+
+int ioprio_parse_priority(const char *s, int *ret) {
+        int i, r;
+
+        assert(s);
+        assert(ret);
+
+        r = safe_atoi(s, &i);
+        if (r < 0)
+                return r;
+
+        if (!ioprio_priority_is_valid(i))
+                return -EINVAL;
+
+        *ret = i;
+        return 0;
+}
+
+static const char *const ioprio_class_table[] = {
+        [IOPRIO_CLASS_NONE] = "none",
+        [IOPRIO_CLASS_RT] = "realtime",
+        [IOPRIO_CLASS_BE] = "best-effort",
+        [IOPRIO_CLASS_IDLE] = "idle",
+};
+
+DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(ioprio_class, int, IOPRIO_N_CLASSES);
diff --git a/src/basic/ioprio-util.h b/src/basic/ioprio-util.h
new file mode 100644 (file)
index 0000000..ffb3e9c
--- /dev/null
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "macro.h"
+#include "missing_ioprio.h"
+
+int ioprio_class_to_string_alloc(int i, char **s);
+int ioprio_class_from_string(const char *s);
+
+static inline bool ioprio_class_is_valid(int i) {
+        return IN_SET(i, IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE);
+}
+
+static inline bool ioprio_priority_is_valid(int i) {
+        return i >= 0 && i < IOPRIO_BE_NR;
+}
+
+int ioprio_parse_priority(const char *s, int *ret);
index f0d5a1d2eab72ccb8abe31960b09a94f0fe39175..bc90100c345af76fcef37195275b45c9eda82461 100644 (file)
@@ -82,6 +82,8 @@ basic_sources = files('''
         inotify-util.h
         io-util.c
         io-util.h
+        ioprio-util.c
+        ioprio-util.h
         limits-util.c
         limits-util.h
         linux/btrfs.h
index bea53ccb7d554505e8ca17f671a9c7709c426383..1dd2414bb212ba87e5ccce3b5490331ca7683685 100644 (file)
@@ -1132,23 +1132,6 @@ int pid_compare_func(const pid_t *a, const pid_t *b) {
         return CMP(*a, *b);
 }
 
-int ioprio_parse_priority(const char *s, int *ret) {
-        int i, r;
-
-        assert(s);
-        assert(ret);
-
-        r = safe_atoi(s, &i);
-        if (r < 0)
-                return r;
-
-        if (!ioprio_priority_is_valid(i))
-                return -EINVAL;
-
-        *ret = i;
-        return 0;
-}
-
 /* The cached PID, possible values:
  *
  *     == UNSET [0]  → cache not initialized yet
@@ -1627,14 +1610,6 @@ _noreturn_ void freeze(void) {
                 pause();
 }
 
-static const char *const ioprio_class_table[] = {
-        [IOPRIO_CLASS_NONE] = "none",
-        [IOPRIO_CLASS_RT] = "realtime",
-        [IOPRIO_CLASS_BE] = "best-effort",
-        [IOPRIO_CLASS_IDLE] = "idle",
-};
-
-DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(ioprio_class, int, IOPRIO_N_CLASSES);
 
 static const char *const sigchld_code_table[] = {
         [CLD_EXITED] = "exited",
index 25dea35ce6cd0293ea35f056922cd7453f6804be..c312e05d9cf77316b481f19737f6a8a03ca612b9 100644 (file)
@@ -14,7 +14,6 @@
 #include "alloc-util.h"
 #include "format-util.h"
 #include "macro.h"
-#include "missing_ioprio.h"
 #include "time-util.h"
 
 #define procfs_file_alloca(pid, field)                                  \
@@ -97,9 +96,6 @@ const char *personality_to_string(unsigned long);
 int safe_personality(unsigned long p);
 int opinionated_personality(unsigned long *ret);
 
-int ioprio_class_to_string_alloc(int i, char **s);
-int ioprio_class_from_string(const char *s);
-
 const char *sigchld_code_to_string(int i) _const_;
 int sigchld_code_from_string(const char *s) _pure_;
 
@@ -130,20 +126,10 @@ static inline bool sched_priority_is_valid(int i) {
         return i >= 0 && i <= sched_get_priority_max(SCHED_RR);
 }
 
-static inline bool ioprio_class_is_valid(int i) {
-        return IN_SET(i, IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE);
-}
-
-static inline bool ioprio_priority_is_valid(int i) {
-        return i >= 0 && i < IOPRIO_BE_NR;
-}
-
 static inline bool pid_is_valid(pid_t p) {
         return p > 0;
 }
 
-int ioprio_parse_priority(const char *s, int *ret);
-
 pid_t getpid_cached(void);
 void reset_cached_pid(void);
 
index afb2d8f10f2db62ad0f48d65f140ca0495fc41bb..c8323d84baae118d534ff2b195930b4c7ed4366d 100644 (file)
@@ -24,6 +24,7 @@
 #include "fileio.h"
 #include "hexdecoct.h"
 #include "io-util.h"
+#include "ioprio-util.h"
 #include "journal-file.h"
 #include "missing_ioprio.h"
 #include "mountpoint-util.h"
index ba66b9e6ece2f40ed25d118557da72f323df05cf..e578bace6ff4d01328b674f55f8f41cc60746bf7 100644 (file)
@@ -63,6 +63,7 @@
 #include "glob-util.h"
 #include "hexdecoct.h"
 #include "io-util.h"
+#include "ioprio-util.h"
 #include "label.h"
 #include "log.h"
 #include "macro.h"
index 6efcba3265af3ff4c2ab772eec9e244b9f248e5d..0e93ddfbc0491516b36cbe56a04b4009b9625131 100644 (file)
@@ -40,6 +40,7 @@
 #include "fs-util.h"
 #include "hexdecoct.h"
 #include "io-util.h"
+#include "ioprio-util.h"
 #include "ip-protocol-list.h"
 #include "journal-file.h"
 #include "limits-util.h"
index b8fd85a1914fddc1d27879f496ca0c3e2c255f64..c58394e63eb39cec28a93a7c08df12797f7dfb34 100644 (file)
@@ -19,6 +19,7 @@
 #include "hexdecoct.h"
 #include "hostname-util.h"
 #include "in-addr-util.h"
+#include "ioprio-util.h"
 #include "ip-protocol-list.h"
 #include "libmount-util.h"
 #include "locale-util.h"
index b87a24b3420634facc23a52ec7cfc3ad032a3c42..dc45712937ad13b84d066d2cd663af3bc588b678 100644 (file)
@@ -19,6 +19,7 @@
 #include "errno-list.h"
 #include "errno-util.h"
 #include "fd-util.h"
+#include "ioprio-util.h"
 #include "log.h"
 #include "macro.h"
 #include "missing_sched.h"