for ( ; i < RADIX_TREE_MAP_SIZE; i++) {
if (slot->slots[i] != NULL)
break;
- index &= ~((1 << shift) - 1);
- index += 1 << shift;
+ index &= ~((1UL << shift) - 1);
+ index += 1UL << shift;
if (index == 0)
goto out; /* 32-bit wraparound */
}
BUG_ON(slot->slots[i] == NULL);
break;
}
- index &= ~((1 << shift) - 1);
- index += 1 << shift;
+ index &= ~((1UL << shift) - 1);
+ index += 1UL << shift;
if (index == 0)
goto out; /* 32-bit wraparound */
}
for (tag = 0; tag < RADIX_TREE_TAGS; tag++) {
int idx;
- if (!tags[tag])
- tag_clear(pathp[0].node, tag, pathp[0].offset);
+ if (tags[tag])
+ continue;
+
+ tag_clear(pathp[0].node, tag, pathp[0].offset);
for (idx = 0; idx < RADIX_TREE_TAG_LONGS; idx++) {
if (pathp[0].node->tags[tag][idx]) {
{
radix_tree_node_cachep = kmem_cache_create("radix_tree_node",
sizeof(struct radix_tree_node), 0,
- 0, radix_tree_node_ctor, NULL);
- if (!radix_tree_node_cachep)
- panic ("Failed to create radix_tree_node cache\n");
+ SLAB_PANIC, radix_tree_node_ctor, NULL);
radix_tree_init_maxindex();
hotcpu_notifier(radix_tree_callback, 0);
}