]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Make sure "mdmon" doesn't get called "@dmon".
authorNeilBrown <neilb@suse.de>
Mon, 2 Sep 2013 01:02:09 +0000 (11:02 +1000)
committerNeilBrown <neilb@suse.de>
Mon, 2 Sep 2013 01:02:09 +0000 (11:02 +1000)
The Anaconda installer (via its "loader" program) will try to kill
many processes at shutdown, but not "mdmon".

However when mdadm runs mdmon in the Anaconda environment, mdmon
sets argv[0][0] to '@' resulting in "@dmon" which confuses
"loader".

So change mdadm to set argv[0] to a path so that mdmon becomes e.g.
  "@usr/sbin/mdmon"
which "loader" will recognise as being "mdmon".

Reported-by: Martin Wilck <mwilck@arcor.de>
Signed-off-by: NeilBrown <neilb@suse.de>
util.c

diff --git a/util.c b/util.c
index 491a1075c72f88db1f727dbc0ec2140602f930b4..c12fb2115742f3a363af741da46cc14d3ebebc8c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1691,7 +1691,7 @@ int start_mdmon(char *devnm)
        char *paths[4] = {
                pathbuf,
                "/sbin/mdmon",
-               "mdmon",
+               "./mdmon",
                NULL
        };
 
@@ -1759,7 +1759,7 @@ int start_mdmon(char *devnm)
 
                for (i = 0; paths[i]; i++)
                        if (paths[i][0]) {
-                               execl(paths[i], "mdmon",
+                               execl(paths[i], paths[i],
                                      devnm, NULL);
                        }
                exit(1);