[dm-devel] [PATCH v2 13/21] multipathd (coverity): simplify set_oom_adj()
mwilck at suse.com
mwilck at suse.com
Wed Dec 1 12:36:42 UTC 2021
From: Martin Wilck <mwilck at suse.com>
Coverity discourages stat-before-open. So simplify this function.
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
Signed-off-by: Martin Wilck <mwilck at suse.com>
---
multipathd/main.c | 53 ++++++++++++++---------------------------------
1 file changed, 15 insertions(+), 38 deletions(-)
diff --git a/multipathd/main.c b/multipathd/main.c
index 1be42c5..36cc76f 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -2952,51 +2952,28 @@ setscheduler (void)
return;
}
-static void
-set_oom_adj (void)
+static void set_oom_adj(void)
{
-#ifdef OOM_SCORE_ADJ_MIN
- int retry = 1;
- char *file = "/proc/self/oom_score_adj";
- int score = OOM_SCORE_ADJ_MIN;
-#else
- int retry = 0;
- char *file = "/proc/self/oom_adj";
- int score = OOM_ADJUST_MIN;
-#endif
FILE *fp;
- struct stat st;
- char *envp;
- envp = getenv("OOMScoreAdjust");
- if (envp) {
+ if (getenv("OOMScoreAdjust")) {
condlog(3, "Using systemd provided OOMScoreAdjust");
return;
}
- do {
- if (stat(file, &st) == 0){
- fp = fopen(file, "w");
- if (!fp) {
- condlog(0, "couldn't fopen %s : %s", file,
- strerror(errno));
- return;
- }
- fprintf(fp, "%i", score);
- fclose(fp);
- return;
- }
- if (errno != ENOENT) {
- condlog(0, "couldn't stat %s : %s", file,
- strerror(errno));
- return;
- }
-#ifdef OOM_ADJUST_MIN
- file = "/proc/self/oom_adj";
- score = OOM_ADJUST_MIN;
-#else
- retry = 0;
+#ifdef OOM_SCORE_ADJ_MIN
+ fp = fopen("/proc/self/oom_score_adj", "w");
+ if (fp) {
+ fprintf(fp, "%i", OOM_SCORE_ADJ_MIN);
+ fclose(fp);
+ return;
+ }
#endif
- } while (retry--);
+ fp = fopen("/proc/self/oom_adj", "w");
+ if (fp) {
+ fprintf(fp, "%i", OOM_ADJUST_MIN);
+ fclose(fp);
+ return;
+ }
condlog(0, "couldn't adjust oom score");
}
--
2.33.1
More information about the dm-devel
mailing list