mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-19 23:02:31 +00:00
radix-tree: rename ptr_to_indirect() to node_to_entry()
ptr_to_indirect() was a bad name. What it really means is "Convert this pointer to a node into an entry suitable for storing in the radix tree". So node_to_entry() seemed like a better name. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Cc: Konstantin Khlebnikov <koct9i@gmail.com> Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com> Cc: Jan Kara <jack@suse.com> Cc: Neil Brown <neilb@suse.de> Cc: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
30ff46ccb3
commit
a4db4dcea1
@ -66,12 +66,12 @@ struct radix_tree_preload {
|
|||||||
};
|
};
|
||||||
static DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { 0, };
|
static DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { 0, };
|
||||||
|
|
||||||
static inline void *ptr_to_indirect(void *ptr)
|
static inline void *node_to_entry(void *ptr)
|
||||||
{
|
{
|
||||||
return (void *)((unsigned long)ptr | RADIX_TREE_INTERNAL_NODE);
|
return (void *)((unsigned long)ptr | RADIX_TREE_INTERNAL_NODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define RADIX_TREE_RETRY ptr_to_indirect(NULL)
|
#define RADIX_TREE_RETRY node_to_entry(NULL)
|
||||||
|
|
||||||
#ifdef CONFIG_RADIX_TREE_MULTIORDER
|
#ifdef CONFIG_RADIX_TREE_MULTIORDER
|
||||||
/* Sibling slots point directly to another slot in the same node */
|
/* Sibling slots point directly to another slot in the same node */
|
||||||
@ -470,13 +470,12 @@ static int radix_tree_extend(struct radix_tree_root *root,
|
|||||||
if (radix_tree_is_indirect_ptr(slot)) {
|
if (radix_tree_is_indirect_ptr(slot)) {
|
||||||
slot = indirect_to_ptr(slot);
|
slot = indirect_to_ptr(slot);
|
||||||
slot->parent = node;
|
slot->parent = node;
|
||||||
slot = ptr_to_indirect(slot);
|
slot = node_to_entry(slot);
|
||||||
}
|
}
|
||||||
node->slots[0] = slot;
|
node->slots[0] = slot;
|
||||||
node = ptr_to_indirect(node);
|
slot = node_to_entry(node);
|
||||||
rcu_assign_pointer(root->rnode, node);
|
rcu_assign_pointer(root->rnode, slot);
|
||||||
shift += RADIX_TREE_MAP_SHIFT;
|
shift += RADIX_TREE_MAP_SHIFT;
|
||||||
slot = node;
|
|
||||||
} while (shift <= maxshift);
|
} while (shift <= maxshift);
|
||||||
out:
|
out:
|
||||||
return maxshift + RADIX_TREE_MAP_SHIFT;
|
return maxshift + RADIX_TREE_MAP_SHIFT;
|
||||||
@ -534,11 +533,11 @@ int __radix_tree_create(struct radix_tree_root *root, unsigned long index,
|
|||||||
slot->parent = node;
|
slot->parent = node;
|
||||||
if (node) {
|
if (node) {
|
||||||
rcu_assign_pointer(node->slots[offset],
|
rcu_assign_pointer(node->slots[offset],
|
||||||
ptr_to_indirect(slot));
|
node_to_entry(slot));
|
||||||
node->count++;
|
node->count++;
|
||||||
} else
|
} else
|
||||||
rcu_assign_pointer(root->rnode,
|
rcu_assign_pointer(root->rnode,
|
||||||
ptr_to_indirect(slot));
|
node_to_entry(slot));
|
||||||
} else if (!radix_tree_is_indirect_ptr(slot))
|
} else if (!radix_tree_is_indirect_ptr(slot))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -553,7 +552,7 @@ int __radix_tree_create(struct radix_tree_root *root, unsigned long index,
|
|||||||
if (order > shift) {
|
if (order > shift) {
|
||||||
int i, n = 1 << (order - shift);
|
int i, n = 1 << (order - shift);
|
||||||
offset = offset & ~(n - 1);
|
offset = offset & ~(n - 1);
|
||||||
slot = ptr_to_indirect(&node->slots[offset]);
|
slot = node_to_entry(&node->slots[offset]);
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
if (node->slots[offset + i])
|
if (node->slots[offset + i])
|
||||||
return -EEXIST;
|
return -EEXIST;
|
||||||
@ -1422,7 +1421,7 @@ static inline bool radix_tree_shrink(struct radix_tree_root *root)
|
|||||||
if (radix_tree_is_indirect_ptr(slot)) {
|
if (radix_tree_is_indirect_ptr(slot)) {
|
||||||
slot = indirect_to_ptr(slot);
|
slot = indirect_to_ptr(slot);
|
||||||
slot->parent = NULL;
|
slot->parent = NULL;
|
||||||
slot = ptr_to_indirect(slot);
|
slot = node_to_entry(slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1563,7 +1562,7 @@ void *radix_tree_delete_item(struct radix_tree_root *root,
|
|||||||
radix_tree_tag_clear(root, index, tag);
|
radix_tree_tag_clear(root, index, tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_sibling_entries(node, ptr_to_indirect(slot), offset);
|
delete_sibling_entries(node, node_to_entry(slot), offset);
|
||||||
node->slots[offset] = NULL;
|
node->slots[offset] = NULL;
|
||||||
node->count--;
|
node->count--;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user