util: make env checking more generic

Change the "env_check_mdmon" function to be more generic, accepting
and environment variable name, as soon we will have a new use for it.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2008-11-04 10:35:43 +11:00
parent c30e53693e
commit 40ebbb9cfe
4 changed files with 6 additions and 17 deletions

View File

@ -809,7 +809,7 @@ extern int open_container(int fd);
extern int mdmon_running(int devnum); extern int mdmon_running(int devnum);
extern int signal_mdmon(int devnum); extern int signal_mdmon(int devnum);
extern int env_no_mdmon(void); extern int check_env(char *name);
extern int start_mdmon(int devnum); extern int start_mdmon(int devnum);
extern char *devnum2devname(int num); extern char *devnum2devname(int num);

View File

@ -241,7 +241,7 @@ static void wake_me(int sig)
static int do_fork(void) static int do_fork(void)
{ {
#ifdef DEBUG #ifdef DEBUG
if (env_no_mdmon()) if (check_env("MDADM_NO_MDMON"))
return 0; return 0;
#endif #endif

View File

@ -213,17 +213,6 @@ struct imsm_update_add_disk {
enum imsm_update_type type; enum imsm_update_type type;
}; };
static int imsm_env_devname_as_serial(void)
{
char *val = getenv("IMSM_DEVNAME_AS_SERIAL");
if (val && atoi(val) == 1)
return 1;
return 0;
}
static struct supertype *match_metadata_desc_imsm(char *arg) static struct supertype *match_metadata_desc_imsm(char *arg)
{ {
struct supertype *st; struct supertype *st;
@ -1017,7 +1006,7 @@ static int imsm_read_serial(int fd, char *devname,
rv = scsi_get_serial(fd, scsi_serial, sizeof(scsi_serial)); rv = scsi_get_serial(fd, scsi_serial, sizeof(scsi_serial));
if (rv && imsm_env_devname_as_serial()) { if (rv && check_env("IMSM_DEVNAME_AS_SERIAL")) {
memset(serial, 0, MAX_RAID_SERIAL_LEN); memset(serial, 0, MAX_RAID_SERIAL_LEN);
fd2devname(fd, (char *) serial); fd2devname(fd, (char *) serial);
return 0; return 0;

6
util.c
View File

@ -1209,7 +1209,7 @@ int start_mdmon(int devnum)
NULL NULL
}; };
if (env_no_mdmon()) if (check_env("MDADM_NO_MDMON"))
return 0; return 0;
len = readlink("/proc/self/exe", pathbuf, sizeof(pathbuf)); len = readlink("/proc/self/exe", pathbuf, sizeof(pathbuf));
@ -1248,9 +1248,9 @@ int start_mdmon(int devnum)
return 0; return 0;
} }
int env_no_mdmon(void) int check_env(char *name)
{ {
char *val = getenv("MDADM_NO_MDMON"); char *val = getenv(name);
if (val && atoi(val) == 1) if (val && atoi(val) == 1)
return 1; return 1;