On Thu, Sep 25, 2014 at 03:24:35PM +0000, Balazs Nemeth wrote: > When an entry is deleted from an extensible rte_table_hash, the bucket > that stored the entry can become empty. If this is the case, the > bucket needs to be removed from the chain of buckets. > > During removal of the bucket, the chain should be updated first. If > the bucket that will be removed is cleared first, the chain is broken > and the information to update the chain is lost. > > Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com> > Signed-off-by: Balazs Nemeth <balazs.nemeth at intel.com> > --- > lib/librte_table/rte_table_hash_ext.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/lib/librte_table/rte_table_hash_ext.c > b/lib/librte_table/rte_table_hash_ext.c > index 6e26d98..17c16cd 100644 > --- a/lib/librte_table/rte_table_hash_ext.c > +++ b/lib/librte_table/rte_table_hash_ext.c > @@ -408,12 +408,12 @@ void *entry) > if ((bkt_prev != NULL) && > (bkt->sig[0] == 0) && (bkt->sig[1] == 0) && > (bkt->sig[2] == 0) && (bkt->sig[3] == 0)) { > - /* Clear bucket */ > - memset(bkt, 0, sizeof(struct bucket)); > - > /* Unchain bucket */ > BUCKET_NEXT_COPY(bkt_prev, bkt); > > + /* Clear bucket */ > + memset(bkt, 0, sizeof(struct bucket)); > + > /* Free bucket back to buckets ext */ > bkt_index = bkt - t->buckets_ext; > t->bkt_ext_stack[t->bkt_ext_stack_tos++] Acked-by: Neil Horman <nhorman at tuxdriver.com>
> -- > 2.1.0 > Intel Corporation NV/SA > Kings Square, Veldkant 31 > 2550 Kontich > RPM (Bruxelles) 0415.497.718. > Citibank, Brussels, account 570/1031255/09 > > This e-mail and any attachments may contain confidential material for the > sole use of the intended recipient(s). Any review or distribution by others > is strictly prohibited. If you are not the intended recipient, please contact > the sender and delete all copies. > >