diff options
author | Justus Winter <justus@gnupg.org> | 2016-04-30 00:21:48 +0200 |
---|---|---|
committer | Justus Winter <justus@gnupg.org> | 2016-04-30 00:21:48 +0200 |
commit | 20d22e1c6a4055a67ea394e7d76e870f5665c34b (patch) | |
tree | 8bb5ebf0ce4cc80bb16b7701908cfaae44216ff1 | |
parent | 8af64c48985432f81682710f8be998f30b22300e (diff) |
add patch series
-rw-r--r-- | debian/patches/ihash0001-libihash-fix-corner-case.patch | 30 | ||||
-rw-r--r-- | debian/patches/ihash0002-libihash-enable-fast-insertions-replacing-tombstones.patch | 44 | ||||
-rw-r--r-- | debian/patches/series | 2 |
3 files changed, 76 insertions, 0 deletions
diff --git a/debian/patches/ihash0001-libihash-fix-corner-case.patch b/debian/patches/ihash0001-libihash-fix-corner-case.patch new file mode 100644 index 00000000..fc78156e --- /dev/null +++ b/debian/patches/ihash0001-libihash-fix-corner-case.patch @@ -0,0 +1,30 @@ +From 5dcebe3443c54e0dfcc6aa1fcd0713308a7fe8e1 Mon Sep 17 00:00:00 2001 +From: Justus Winter <justus@gnupg.org> +Date: Sat, 30 Apr 2016 00:03:40 +0200 +Subject: [PATCH hurd 1/2] libihash: fix corner case + +* libihash/ihash.c (hurd_ihash_locp_find): Set SLOT to NULL if the +hash table has not been allocated. +--- + libihash/ihash.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libihash/ihash.c b/libihash/ihash.c +index ae1cf12..c6143a5 100644 +--- a/libihash/ihash.c ++++ b/libihash/ihash.c +@@ -418,7 +418,10 @@ hurd_ihash_locp_find (hurd_ihash_t ht, + int idx; + + if (ht->size == 0) +- return NULL; ++ { ++ *slot = NULL; ++ return NULL; ++ } + + idx = find_index (ht, key); + *slot = &ht->items[idx].value; +-- +2.1.4 + diff --git a/debian/patches/ihash0002-libihash-enable-fast-insertions-replacing-tombstones.patch b/debian/patches/ihash0002-libihash-enable-fast-insertions-replacing-tombstones.patch new file mode 100644 index 00000000..a6bd8e10 --- /dev/null +++ b/debian/patches/ihash0002-libihash-enable-fast-insertions-replacing-tombstones.patch @@ -0,0 +1,44 @@ +From 96bc63757121361c4d7904b1664936f8f2426882 Mon Sep 17 00:00:00 2001 +From: Justus Winter <justus@gnupg.org> +Date: Sat, 30 Apr 2016 00:19:41 +0200 +Subject: [PATCH hurd 2/2] libihash: enable fast insertions replacing + tombstones + +* libihash/ihash.c (hurd_ihash_locp_add): Also replace tombstones. +--- + libihash/ihash.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/libihash/ihash.c b/libihash/ihash.c +index c6143a5..2fc7093 100644 +--- a/libihash/ihash.c ++++ b/libihash/ihash.c +@@ -287,17 +287,20 @@ hurd_ihash_locp_add (hurd_ihash_t ht, hurd_ihash_locp_t locp, + /* In case of complications, fall back to hurd_ihash_add. */ + if (ht->size == 0 + || item == NULL +- || item->value == _HURD_IHASH_DELETED +- || ! compare (ht, item->key, key) ++ || (hurd_ihash_value_valid (item->value) ++ && ! compare (ht, item->key, key)) + || hurd_ihash_get_effective_load (ht) > ht->max_load) + return hurd_ihash_add (ht, key, value); + +- if (item->value == _HURD_IHASH_EMPTY) ++ if (! hurd_ihash_value_valid (item->value)) + { + item->key = key; + ht->nr_items += 1; +- assert (ht->nr_free > 0); +- ht->nr_free -= 1; ++ if (item->value == _HURD_IHASH_EMPTY) ++ { ++ assert (ht->nr_free > 0); ++ ht->nr_free -= 1; ++ } + } + else + { +-- +2.1.4 + diff --git a/debian/patches/series b/debian/patches/series index 77b7d8c3..1fbff08b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -46,3 +46,5 @@ fixes0001-utils-settrans-implement-active-translator-stacking.patch fixes0002-Avoid-superfluous-locking-of-node.patch fixes0003-fstests-new-micro-benchmark.patch fix-getroot0001-Fix-privileged-operations-on-trivfs-translated-nodes.patch +ihash0001-libihash-fix-corner-case.patch +ihash0002-libihash-enable-fast-insertions-replacing-tombstones.patch |