On 12:06 Tue 11 May     , Yevgeny Kliteynik wrote:
> 
> osm_log() always logs messages that came with OSM_LOG_SYS level,
> so osm_log_is_active() should concur with this.
> As a by-product of this fix, OSM_LOG_SYS messages can now be
> printed with OSM_LOG macro, instead of using osm_log() directly.
> 
> Signed-off-by: Yevgeny Kliteynik <[email protected]>
> ---
>  opensm/include/opensm/osm_log.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/opensm/include/opensm/osm_log.h b/opensm/include/opensm/osm_log.h
> index b2f105a..a494bc3 100644
> --- a/opensm/include/opensm/osm_log.h
> +++ b/opensm/include/opensm/osm_log.h
> @@ -355,7 +355,7 @@ static inline void osm_log_set_level(IN osm_log_t * p_log,
>  static inline boolean_t osm_log_is_active(IN const osm_log_t * p_log,
>                                         IN osm_log_level_t level)
>  {
> -     return ((p_log->level & level) != 0);
> +     return (((OSM_LOG_SYS | p_log->level) & level) != 0);
>  }

What about to set OSM_LOG_SYS bits in p_log->level at stage of
initialization and to remove all subsequent explicit checks? Like this
(against master):

diff --git a/opensm/opensm/osm_log.c b/opensm/opensm/osm_log.c
index 54c2f36..bd4a200 100644
--- a/opensm/opensm/osm_log.c
+++ b/opensm/opensm/osm_log.c
@@ -119,7 +119,7 @@ void osm_log(IN osm_log_t * p_log, IN osm_log_level_t 
verbosity,
 #endif                         /* __WIN__ */
 
        /* If this is a call to syslog - always print it */
-       if (!(verbosity & (OSM_LOG_SYS | p_log->level)))
+       if (!(verbosity & p_log->level))
                return;
 
        va_start(args, p_str);
@@ -306,7 +306,7 @@ ib_api_status_t osm_log_init_v2(IN osm_log_t * p_log, IN 
boolean_t flush,
                                IN unsigned long max_size,
                                IN boolean_t accum_log_file)
 {
-       p_log->level = log_flags;
+       p_log->level = log_flags | OSM_LOG_SYS;
        p_log->flush = flush;
        p_log->count = 0;
        p_log->max_size = max_size << 20; /* convert size in MB to bytes */


Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to