diff --git a/src/viced/host.c b/src/viced/host.c index 6eadd5b25c..87f12b32a9 100644 --- a/src/viced/host.c +++ b/src/viced/host.c @@ -61,6 +61,7 @@ extern int LogLevel; extern struct afsconf_dir *confDir; /* config dir object */ extern int lwps; /* the max number of server threads */ extern afsUUID FS_HostUUID; +extern char *FS_configPath; afsUUID nulluuid; int CEs = 0; /* active clients */ @@ -266,9 +267,11 @@ hpr_Initialize(struct ubik_client **uclient) afs_int32 i; char cellstr[64]; - tdir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH); + tdir = afsconf_Open(FS_configPath); if (!tdir) { - ViceLog(0, ("hpr_Initialize: Could not open configuration directory: %s", AFSDIR_SERVER_ETC_DIRPATH)); + ViceLog(0, + ("hpr_Initialize: Could not open configuration directory: %s", + FS_configPath)); return -1; } diff --git a/src/viced/viced.c b/src/viced/viced.c index 9a406e4fcf..982aad2c2f 100644 --- a/src/viced/viced.c +++ b/src/viced/viced.c @@ -180,6 +180,7 @@ pthread_key_t viced_uclient_key; #define ADDRSPERSITE 16 /* Same global is in rx/rx_user.c */ char FS_HostName[128] = "localhost"; +char *FS_configPath = NULL; afs_uint32 FS_HostAddr_NBO; afs_uint32 FS_HostAddr_HBO; afs_uint32 FS_HostAddrs[ADDRSPERSITE], FS_HostAddr_cnt = 0, FS_registered = 0; @@ -1835,10 +1836,12 @@ main(int argc, char *argv[]) exit(1); } #endif - confDir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH); + FS_configPath = strdup(AFSDIR_SERVER_ETC_DIRPATH); + + confDir = afsconf_Open(FS_configPath); if (!confDir) { fprintf(stderr, "Unable to open config directory %s\n", - AFSDIR_SERVER_ETC_DIRPATH); + FS_configPath); exit(-1); }