From 2a099a3d303c600fb72a2a246a54cfdaf765ae8e Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Thu, 1 Apr 2010 14:36:43 -0400 Subject: Additional incremental update to pid changes Signed-off-by: Doug Ledford --- mdadm.h | 11 +---------- mdmon.c | 11 +++++------ msg.c | 2 +- util.c | 4 +--- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/mdadm.h b/mdadm.h index a146d21..d8ab85f 100644 --- a/mdadm.h +++ b/mdadm.h @@ -90,16 +90,8 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); * boot process and stays up as long as possible during shutdown. */ #ifndef MDMON_DIR -#define MDMON_DIR "/var/run/mdadm" +#define MDMON_DIR "/lib/init/rw/mdmon" #endif /* MDMON_DIR */ -/* MDMONITOR_DIR is where mdadm --monitor will stick its pid file - * by default. Since mdadm --monitor is not started until normal - * filesystems are already read/write, the typical /var/run/mdadm - * should work fine. - */ -#ifndef MDMONITOR_DIR -#define MDMONITOR_DIR "/var/run/mdadm" -#endif /* MDMONITOR_DIR */ #include "md_u.h" #include "md_p.h" @@ -920,7 +912,6 @@ extern int create_mddev(char *dev, char *name, int autof, int trustworthy, extern int open_mddev(char *dev, int report_errors); extern int open_container(int fd); -extern char *pid_dir; extern int mdmon_running(int devnum); extern int mdmon_pid(int devnum); extern int check_env(char *name); diff --git a/mdmon.c b/mdmon.c index af150e1..cbb72cc 100644 --- a/mdmon.c +++ b/mdmon.c @@ -120,10 +120,10 @@ static int make_pidfile(char *devname) int fd; int n; - if (mkdir(pid_dir, 0755) < 0 && + if (mkdir(MDMON_DIR, 0755) < 0 && errno != EEXIST) return -errno; - sprintf(path, "%s/%s.pid", pid_dir, devname); + sprintf(path, "%s/%s.pid", MDMON_DIR, devname); fd = open(path, O_RDWR|O_CREAT|O_EXCL, 0600); if (fd < 0) @@ -189,9 +189,9 @@ void remove_pidfile(char *devname) { char buf[100]; - sprintf(buf, "%s/%s.pid", pid_dir, devname); + sprintf(buf, "%s/%s.pid", MDMON_DIR, devname); unlink(buf); - sprintf(buf, "%s/%s.sock", pid_dir, devname); + sprintf(buf, "%s/%s.sock", MDMON_DIR, devname); unlink(buf); } @@ -205,7 +205,7 @@ static int make_control_sock(char *devname) if (sigterm) return -1; - sprintf(path, "%s/%s.sock", pid_dir, devname); + sprintf(path, "%s/%s.sock", MDMON_DIR, devname); unlink(path); sfd = socket(PF_LOCAL, SOCK_STREAM, 0); if (sfd < 0) @@ -442,7 +442,6 @@ static int mdmon(char *devname, int devnum, int must_fork, int takeover) act.sa_handler = SIG_IGN; sigaction(SIGPIPE, &act, NULL); - pid_dir = MDMON_DIR; victim = mdmon_pid(container->devnum); if (victim >= 0) victim_sock = connect_monitor(container->devname); diff --git a/msg.c b/msg.c index d2d8445..aabfa8f 100644 --- a/msg.c +++ b/msg.c @@ -147,7 +147,7 @@ int connect_monitor(char *devname) int pos; char *c; - pos = sprintf(path, "%s/", pid_dir); + pos = sprintf(path, "%s/", MDMON_DIR); if (is_subarray(devname)) { devname++; c = strchr(devname, '/'); diff --git a/util.c b/util.c index 5dcc1ef..bdb19f9 100644 --- a/util.c +++ b/util.c @@ -1499,15 +1499,13 @@ int fd2devnum(int fd) return NoMdDev; } -char *pid_dir = MDMONITOR_DIR; - int mdmon_pid(int devnum) { char path[100]; char pid[10]; int fd; int n; - sprintf(path, "%s/%s.pid", pid_dir, devnum2devname(devnum)); + sprintf(path, "%s/%s.pid", MDMON_DIR, devnum2devname(devnum)); fd = open(path, O_RDONLY | O_NOATIME, 0); if (fd < 0) -- cgit