aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Kusiak <mateusz.kusiak@intel.com>2024-02-28 16:37:20 +0100
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>2024-02-29 14:06:28 +0100
commit3c3ddeeccc1eb4accb62ce9920de430a564be806 (patch)
treebe62391b75b6a5ec998e80eace399a502e56091f
parent4c12714d1ca06533fe7a887966df2558fd2f96b2 (diff)
downloadmdadm-3c3ddeeccc1eb4accb62ce9920de430a564be806.tar.gz
Monitor: Allow no PID in check_one_sharer()
Commit 5fb5479ad100 ("Monitor: open file before check in check_one_sharer()") introduced a regression that prohibits monitor from starting if PID file does not exist. Add check for no PID file. Add missing fclose(). Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-rw-r--r--Monitor.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Monitor.c b/Monitor.c
index 7cee95d4..9be2b528 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -453,12 +453,17 @@ static int check_one_sharer(int scan)
fp = fopen(AUTOREBUILD_PID_PATH, "r");
if (!fp) {
+ /* PID file does not exist */
+ if (errno == ENOENT)
+ return 0;
+
pr_err("Cannot open %s file.\n", AUTOREBUILD_PID_PATH);
return 2;
}
if (!is_file(AUTOREBUILD_PID_PATH)) {
pr_err("%s is not a regular file.\n", AUTOREBUILD_PID_PATH);
+ fclose(fp);
return 2;
}