[ofa-general] Re: [PATCH 7/7 V3] osm: QoS - reading policy file
Sasha Khapyorsky
sashak at voltaire.com
Tue Aug 28 06:59:58 PDT 2007
On 02:11 Tue 28 Aug , Yevgeny Kliteynik wrote:
> Reading QoS policy file
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
Applied. Thanks.
Some comments are below.
> ---
> opensm/include/opensm/osm_subnet.h | 16 ++++++++--------
> opensm/opensm/osm_state_mgr.c | 2 +-
> opensm/opensm/osm_subnet.c | 17 +++++++++++------
> 3 files changed, 20 insertions(+), 15 deletions(-)
>
> diff --git a/opensm/include/opensm/osm_subnet.h b/opensm/include/opensm/osm_subnet.h
> index 5e8b522..7e1a3e7 100644
> --- a/opensm/include/opensm/osm_subnet.h
> +++ b/opensm/include/opensm/osm_subnet.h
> @@ -1118,28 +1118,28 @@ ib_api_status_t osm_subn_parse_conf_file(IN osm_subn_opt_t * const p_opt);
> * Subnet object, osm_subn_construct, osm_subn_destroy
> *********/
>
> -/****f* OpenSM: Subnet/osm_subn_parse_conf_file
> +/****f* OpenSM: Subnet/osm_subn_parse_conf_files
> * NAME
> -* osm_subn_rescan_conf_file
> +* osm_subn_rescan_conf_files
> *
> * DESCRIPTION
> -* The osm_subn_rescan_conf_file function parses the configuration
> -* file and update selected subnet options
> +* The osm_subn_rescan_conf_files function parses the configuration
> +* files and update selected subnet options
> *
> * SYNOPSIS
> */
> -ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts);
> +ib_api_status_t osm_subn_rescan_conf_files(IN osm_subn_t * const p_subn);
> /*
> * PARAMETERS
> *
> -* p_opt
> -* [in] Pointer to the subnet options structure.
> +* p_subn
> +* [in] Pointer to the subnet structure.
> *
> * RETURN VALUES
> * IB_SUCCESS, IB_ERROR
> *
> * NOTES
> -* This uses the same file as osm_subn_parse_conf_file()
> +* This uses the same file as osm_subn_parse_conf_files()
> *
> *********/
>
> diff --git a/opensm/opensm/osm_state_mgr.c b/opensm/opensm/osm_state_mgr.c
> index 030d344..2a94518 100644
> --- a/opensm/opensm/osm_state_mgr.c
> +++ b/opensm/opensm/osm_state_mgr.c
> @@ -1878,7 +1878,7 @@ void osm_state_mgr_process(IN osm_state_mgr_t * const p_mgr,
> p_mgr->p_subn->subnet_initialization_error = FALSE;
>
> /* rescan configuration updates */
> - status = osm_subn_rescan_conf_file(&p_mgr->p_subn->opt);
> + status = osm_subn_rescan_conf_files(p_mgr->p_subn);
> if (status != IB_SUCCESS) {
> osm_log(p_mgr->p_log,
> OSM_LOG_ERROR,
> diff --git a/opensm/opensm/osm_subnet.c b/opensm/opensm/osm_subnet.c
> index 4162522..c847daf 100644
> --- a/opensm/opensm/osm_subnet.c
> +++ b/opensm/opensm/osm_subnet.c
> @@ -69,6 +69,7 @@
> #include <opensm/osm_console.h>
> #include <opensm/osm_perfmgr.h>
> #include <opensm/osm_event_plugin.h>
> +#include <opensm/osm_qos_policy.h>
>
> #if defined(PATH_MAX)
> #define OSM_PATH_MAX (PATH_MAX + 1)
> @@ -677,7 +678,7 @@ subn_dump_qos_options(FILE * file,
>
> /**********************************************************************
> **********************************************************************/
> -ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts)
> +ib_api_status_t osm_subn_rescan_conf_files(IN osm_subn_t * const p_subn)
> {
> char *p_cache_dir = getenv("OSM_CACHE_DIR");
> char file_name[OSM_PATH_MAX];
> @@ -704,28 +705,32 @@ ib_api_status_t osm_subn_rescan_conf_file(IN osm_subn_opt_t * const p_opts)
>
> subn_parse_qos_options("qos",
> p_key, p_val,
> - &p_opts->qos_options);
> + &p_subn->opt.qos_options);
>
> subn_parse_qos_options("qos_ca",
> p_key, p_val,
> - &p_opts->qos_ca_options);
> + &p_subn->opt.qos_ca_options);
>
> subn_parse_qos_options("qos_sw0",
> p_key, p_val,
> - &p_opts->qos_sw0_options);
> + &p_subn->opt.qos_sw0_options);
>
> subn_parse_qos_options("qos_swe",
> p_key, p_val,
> - &p_opts->qos_swe_options);
> + &p_subn->opt.qos_swe_options);
>
> subn_parse_qos_options("qos_rtr",
> p_key, p_val,
> - &p_opts->qos_rtr_options);
> + &p_subn->opt.qos_rtr_options);
>
> }
> }
> fclose(opts_file);
>
> + /* read QoS policy config file */
> + if (!p_subn->opt.no_qos)
> + osm_qos_parse_policy_file(p_subn);
> +
Should the qos parser return value be checked and an error logged in
case of failure?
Sasha
> return IB_SUCCESS;
> }
>
> --
> 1.5.1.4
>
More information about the general
mailing list