Make sure "mdmon" doesn't get called "@dmon".

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>
This commit is contained in:
NeilBrown 2013-09-02 11:02:09 +10:00
parent 2cdd5ce0e7
commit 2f1bcf43d9
1 changed files with 2 additions and 2 deletions

4
util.c
View File

@ -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);