Message ID | 20200731092323.763-3-anton.ivanov@cambridgegreys.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [ovs-dev,1/3] Optimise shash disposal | expand |
Bleep bloop. Greetings Anton Ivanov, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 80 characters long (recommended limit is 79) #34 FILE: lib/shash.c:347: if (!shash_find__(b, node->name, strlen(node->name), node->node.hash)) { Lines checked: 40, Warnings: 1, Errors: 0 Please check this out. If you feel there has been an error, please email aconole@redhat.com Thanks, 0-day Robot
On 7/31/20 11:23 AM, anton.ivanov@cambridgegreys.com wrote: > From: Anton Ivanov <anton.ivanov@cambridgegreys.com> > > Add missing hash uses into shash to avoid hash recomputations. > > Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com> > --- > lib/shash.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/lib/shash.c b/lib/shash.c > index 09505b73d..f378d1656 100644 > --- a/lib/shash.c > +++ b/lib/shash.c > @@ -158,8 +158,9 @@ shash_add(struct shash *sh, const char *name, const void *data) > bool > shash_add_once(struct shash *sh, const char *name, const void *data) > { > - if (!shash_find(sh, name)) { > - shash_add(sh, name, data); > + size_t hash = hash_name(name); > + if (!shash_find__(sh, name, strlen(name), hash)) { > + shash_add_nocopy__(sh, xstrdup(name), data, hash); > return true; > } else { > return false; > @@ -343,7 +344,7 @@ shash_equal_keys(const struct shash *a, const struct shash *b) > return false; > } > SHASH_FOR_EACH (node, a) { > - if (!shash_find(b, node->name)) { > + if (!shash_find__(b, node->name, strlen(node->name), node->node.hash)) { > return false; > } > } > With the warning from 0-day robot above the line length addressed, this patch looks good to me, thanks! Acked-by: Dumitru Ceara <dceara@redhat.com>
diff --git a/lib/shash.c b/lib/shash.c index 09505b73d..f378d1656 100644 --- a/lib/shash.c +++ b/lib/shash.c @@ -158,8 +158,9 @@ shash_add(struct shash *sh, const char *name, const void *data) bool shash_add_once(struct shash *sh, const char *name, const void *data) { - if (!shash_find(sh, name)) { - shash_add(sh, name, data); + size_t hash = hash_name(name); + if (!shash_find__(sh, name, strlen(name), hash)) { + shash_add_nocopy__(sh, xstrdup(name), data, hash); return true; } else { return false; @@ -343,7 +344,7 @@ shash_equal_keys(const struct shash *a, const struct shash *b) return false; } SHASH_FOR_EACH (node, a) { - if (!shash_find(b, node->name)) { + if (!shash_find__(b, node->name, strlen(node->name), node->node.hash)) { return false; } }