[ofa-general] Re: [PATCH 4/4] opensm: use OSM_DEFAULT_CONFIG_FILE as config file

Al Chu chu11 at llnl.gov
Tue Apr 8 16:41:29 PDT 2008


On Tue, 2008-04-08 at 16:35 -0700, Al Chu wrote:
> Hey Sasha,
> 
> Just saw two typos, inlined below.

And noticed maybe one more below ...

Al

> Al
> 
> On Wed, 2008-04-09 at 01:10 +0000, Sasha Khapyorsky wrote:
> > Use configurable OSM_DEFAULT_CONFIG_FILE as default (when '-F' option is
> > not specified) OpenSM config file. Default value is
> > $sysconfdir/opensm/opensm.conf.
> > 
> > Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> > ---
> >  opensm/configure.in              |   20 ++++++++++++++++++++
> >  opensm/include/opensm/osm_base.h |   21 +++++++++++++++++++++
> >  opensm/opensm/main.c             |   25 +++++++++++--------------
> >  3 files changed, 52 insertions(+), 14 deletions(-)
> > 
> > diff --git a/opensm/configure.in b/opensm/configure.in
> > index a527c91..858eb60 100644
> > --- a/opensm/configure.in
> > +++ b/opensm/configure.in
> > @@ -106,6 +106,26 @@ AC_DEFINE_UNQUOTED(OPENSM_CONFIG_DIR,
> >  	[Define OpenSM config directory])
> >  AC_SUBST(OPENSM_CONFIG_DIR)
> >  
> > +dnl Check for a different default OpenSm config file
> > +OPENSM_CONFIG_FILE=opensm.conf
> > +AC_MSG_CHECKING(for --with-opensm-conf-file )
> > +AC_ARG_WITH(opensm-conf-file,
> > +    AC_HELP_STRING([--with-opensm-conf-file=file],
> > +                   [define a default OpenSM config file (default opensm.conf)]),
> > +    [ case "$withval" in
> > +    no)
> > +        ;;
> > +    *)
> > +        OPENSM_CONFIG_FILE=$withval
> > +        ;;
> > +    esac ]
> > +)
> > +AC_MSG_RESULT(${OPENSM_CONFIG_FILE})
> > +AC_DEFINE_UNQUOTED(HAVE_DEFAULT_OPENSM_CONFIG_FILE,
> > +	["$CONF_DIR/$OPENSM_CONFIG_FILE"],
> > +	[Define a default OpenSM config file])
> > +AC_SUBST(OPENSM_CONFIG_FILE)
> > +
> >  dnl Check for a different default node name map file
> >  NODENAMEMAPFILE=ib-node-name-map
> >  AC_MSG_CHECKING(for --with-node-name-map )
> > diff --git a/opensm/include/opensm/osm_base.h b/opensm/include/opensm/osm_base.h
> > index 62d472e..1bd993e 100644
> > --- a/opensm/include/opensm/osm_base.h
> > +++ b/opensm/include/opensm/osm_base.h
> > @@ -213,6 +213,27 @@ BEGIN_C_DECLS
> >  #define OSM_DEFAULT_LOG_FILE "/var/log/opensm.log"
> >  #endif
> >  /***********/
> > +
> > +/****d* OpenSM: Base/OSM_DEFAULT_CONFIG_FILE
> > +* NAME
> > +*	OSM_DEFAULT_CONFIG_FILE
> > +*
> > +* DESCRIPTION
> > +*	Specifies the default OpenSM config file name
> > +*
> > +* SYNOPSIS
> > +*/
> > +#ifdef __WIN__
> > +#define OSM_DEFAULT_CONFIG_FILE strcat(GetOsmCachePath(), "opensm.conf")
> > +#elif defined(HAVE_DEFAULT_OPENSM_CONFIG_FILE)
> > +#define OSM_DEFAULT_CONFIG_FILE HAVE_DEFAULT_OPENSM_CONFIG_FILE
> > +#elif define (OPENSM_CONFIG_DIR)
>    
> "define" should be "defined"? (w/ 'd').
> 
> > +#define OSM_DEFAULT_OPENSM_CONFIG_FILE OPENSM_COFNIG_DIR "/opensm.conf"
> 
> typo COFNIG -> CONFIG
> 
> > +#else
> > +#define OSM_DEFAULT_OPENSM_CONFIG_FILE "/etc/opensm/opensm.conf"

OSM_DEFAULT_OPENSM_CONFIG_FILE should be OSM_DEFAULT_CONFIG_FILE?

> > +#endif /* __WIN__ */
> > +/***********/
> > +
> >  /****d* OpenSM: Base/OSM_DEFAULT_PARTITION_CONFIG_FILE
> >  * NAME
> >  *	OSM_DEFAULT_PARTITION_CONFIG_FILE
> > diff --git a/opensm/opensm/main.c b/opensm/opensm/main.c
> > index e39037d..0576dcc 100644
> > --- a/opensm/opensm/main.c
> > +++ b/opensm/opensm/main.c
> > @@ -133,8 +133,7 @@ static void show_usage(void)
> >  	printf("-F <file-name>, --config <file-name>\n"
> >  	       "          The name of the OpenSM config file. It has a same format\n"
> >  	       "          as opensm.opts option cache file. When not specified\n"
> > -	       "          $OSM_CACHE_DIR/opensm.opts (or /var/cache/opensm/opensm.opts)\n"
> > -	       "          will be used (if exists).\n\n");
> > +	       "          " OSM_DEFAULT_CONFIG_FILE " will be used (if exists).\n\n");
> >  	printf("-c\n"
> >  	       "--cache-options\n"
> >  	       "          Cache the given command line options into the file\n"
> > @@ -594,8 +593,6 @@ int main(int argc, char *argv[])
> >  {
> >  	osm_opensm_t osm;
> >  	osm_subn_opt_t opt;
> > -	char conf_file[256];
> > -	char *cache_dir;
> >  	ib_net64_t sm_key = 0;
> >  	ib_api_status_t status;
> >  	uint32_t temp, dbg_lvl;
> > @@ -684,13 +681,7 @@ int main(int argc, char *argv[])
> >  
> >  	osm_subn_set_default_opt(&opt);
> >  
> > -	/* try to open the options file from the cache dir */
> > -	cache_dir = getenv("OSM_CACHE_DIR");
> > -	if (!cache_dir || !(*cache_dir))
> > -		cache_dir = OSM_DEFAULT_CACHE_DIR;
> > -	snprintf(conf_file, sizeof(conf_file), "%s/opensm.opts", cache_dir);
> > -
> > -	if (osm_subn_parse_conf_file(conf_file, &opt) < 0)
> > +	if (osm_subn_parse_conf_file(OSM_DEFAULT_CONFIG_FILE, &opt) < 0)
> >  		printf("\nosm_subn_parse_conf_file failed!\n");
> >  
> >  	printf("Command Line Arguments:\n");
> > @@ -1040,9 +1031,15 @@ int main(int argc, char *argv[])
> >  	if (opt.guid == 0 || cl_hton64(opt.guid) == CL_HTON64(INVALID_GUID))
> >  		opt.guid = get_port_guid(&osm, opt.guid);
> >  
> > -	if (cache_options == TRUE
> > -	    && osm_subn_write_conf_file(conf_file, &opt))
> > -		printf("\nosm_subn_write_conf_file failed!\n");
> > +	if (cache_options == TRUE) {
> > +		char conf_file[256];
> > +		char *cache_dir = getenv("OSM_CACHE_DIR");
> > +		if (!cache_dir || !(*cache_dir))
> > +			cache_dir = OSM_DEFAULT_CACHE_DIR;
> > +		snprintf(conf_file, sizeof(conf_file), "%s/opensm.opts", cache_dir);
> > +		if (osm_subn_write_conf_file(conf_file, &opt))
> > +			printf("\nosm_subn_write_conf_file failed!\n");
> > +	}
> >  
> >  	status = osm_opensm_bind(&osm, opt.guid);
> >  	if (status != IB_SUCCESS) {
-- 
Albert Chu
chu11 at llnl.gov
925-422-5311
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory




More information about the general mailing list