|
|
@@ -768,9 +768,11 @@ all_leaves_cluster_together:
|
|
|
new_s0->index_key[i] =
|
|
|
ops->get_key_chunk(index_key, i * ASSOC_ARRAY_KEY_CHUNK_SIZE);
|
|
|
|
|
|
- blank = ULONG_MAX << (level & ASSOC_ARRAY_KEY_CHUNK_MASK);
|
|
|
- pr_devel("blank off [%zu] %d: %lx\n", keylen - 1, level, blank);
|
|
|
- new_s0->index_key[keylen - 1] &= ~blank;
|
|
|
+ if (level & ASSOC_ARRAY_KEY_CHUNK_MASK) {
|
|
|
+ blank = ULONG_MAX << (level & ASSOC_ARRAY_KEY_CHUNK_MASK);
|
|
|
+ pr_devel("blank off [%zu] %d: %lx\n", keylen - 1, level, blank);
|
|
|
+ new_s0->index_key[keylen - 1] &= ~blank;
|
|
|
+ }
|
|
|
|
|
|
/* This now reduces to a node splitting exercise for which we'll need
|
|
|
* to regenerate the disparity table.
|