<p>Pau Espin Pedrol has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9767">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">filter: Allocate each ctr group with a different idx<br><br>Fixes following runtime warning:<br>libosmocore/src/rate_ctr.c:219 counter group 'nat:filter' already exists for index 0, instead using index 1. This is a software bug that needs fixing.<br><br>Forward-port from openbsc.git c08d58802e03a45f95b8f7d28b29dc7026f664ba.<br><br>Change-Id: I7c5054c374281bb1d4bd1ecd76ddcca7a010d50a<br>---<br>M src/libfilter/bsc_msg_acc.c<br>1 file changed, 18 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/9767/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libfilter/bsc_msg_acc.c b/src/libfilter/bsc_msg_acc.c</span><br><span>index f0232ee..46077b3 100644</span><br><span>--- a/src/libfilter/bsc_msg_acc.c</span><br><span>+++ b/src/libfilter/bsc_msg_acc.c</span><br><span>@@ -41,6 +41,21 @@</span><br><span>         .class_id = OSMO_STATS_CLASS_GLOBAL,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/*! Find an unused index for this rate counter group.</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \param[in] head List of allocated ctr groups of the same type</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \returns the largest used index number + 1, or 0 if none exist yet. */</span><br><span style="color: hsl(120, 100%, 40%);">+static unsigned int rate_ctr_get_unused_idx(struct llist_head *head)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ unsigned int idx = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct bsc_msg_acc_lst *lst;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        llist_for_each_entry(lst, head, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+               if (idx <= lst->stats->idx)</span><br><span style="color: hsl(120, 100%, 40%);">+                  idx = lst->stats->idx + 1;</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+     return idx;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> </span><br><span> int bsc_msg_acc_lst_check_allow(struct bsc_msg_acc_lst *lst, const char *mi_string)</span><br><span> {</span><br><span>@@ -73,6 +88,7 @@</span><br><span> struct bsc_msg_acc_lst *bsc_msg_acc_lst_get(void *ctx, struct llist_head *head, const char *name)</span><br><span> {</span><br><span>       struct bsc_msg_acc_lst *lst;</span><br><span style="color: hsl(120, 100%, 40%);">+  unsigned int new_idx;</span><br><span> </span><br><span>    lst = bsc_msg_acc_lst_find(head, name);</span><br><span>      if (lst)</span><br><span>@@ -84,8 +100,8 @@</span><br><span>                return NULL;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* TODO: get the index right */</span><br><span style="color: hsl(0, 100%, 40%);">- lst->stats = rate_ctr_group_alloc(lst, &bsc_cfg_acc_list_desc, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     new_idx = rate_ctr_get_unused_idx(head);</span><br><span style="color: hsl(120, 100%, 40%);">+      lst->stats = rate_ctr_group_alloc(lst, &bsc_cfg_acc_list_desc, new_idx);</span><br><span>      if (!lst->stats) {</span><br><span>                talloc_free(lst);</span><br><span>            return NULL;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9767">change 9767</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9767"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7c5054c374281bb1d4bd1ecd76ddcca7a010d50a </div>
<div style="display:none"> Gerrit-Change-Number: 9767 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>