Lines Matching defs:key

135 static void dec_key(struct btree_geo *geo, unsigned long *key)
141 val = key[i];
142 key[i] = val - 1;
159 unsigned long *key)
161 longcpy(bkey(geo, node, n), key, geo->keylen);
208 unsigned long *key)
219 longcpy(key, bkey(geo, node, 0), geo->keylen);
225 unsigned long *key)
227 return longcmp(bkey(geo, node, pos), key, geo->keylen);
230 static int keyzero(struct btree_geo *geo, unsigned long *key)
235 if (key[i])
242 unsigned long *key)
252 if (keycmp(geo, node, i, key) <= 0)
264 unsigned long *key)
269 node = btree_lookup_node(head, geo, key);
274 if (keycmp(geo, node, i, key) == 0)
281 unsigned long *key, void *val)
286 node = btree_lookup_node(head, geo, key);
291 if (keycmp(geo, node, i, key) == 0) {
300 * Usually this function is quite similar to normal lookup. But the key of
301 * a parent node may be smaller than the smallest key of all its siblings.
303 * key smaller than __key, but larger than this parent key exists.
304 * So we set __key to the parent key and retry. We have to use the smallest
305 * such parent key, which is the last parent key we encountered.
312 unsigned long *retry_key = NULL, key[MAX_KEYLEN];
319 longcpy(key, __key, geo->keylen);
321 dec_key(geo, key);
326 if (keycmp(geo, node, i, key) <= 0)
341 if (keycmp(geo, node, i, key) <= 0) {
351 longcpy(key, retry_key, geo->keylen);
360 unsigned long *key)
365 if (keycmp(geo, node, i, key) <= 0)
385 unsigned long *key, int level)
392 if (keycmp(geo, node, i, key) <= 0)
396 /* right-most key is too large, update it */
397 /* FIXME: If the right-most key on higher levels is
400 setkey(geo, node, i, key);
445 unsigned long *key, void *val, int level,
459 node = find_level(head, geo, key, level);
460 pos = getpos(geo, node, key);
463 BUG_ON(pos < fill && keycmp(geo, node, pos, key) == 0);
500 setkey(geo, node, pos, key);
507 unsigned long *key, void *val, gfp_t gfp)
510 return btree_insert_level(head, geo, key, val, 1, gfp);
515 unsigned long *key, int level);
537 unsigned long *key, int level, unsigned long *child, int fill)
547 btree_remove_level(head, geo, key, level + 1);
552 parent = find_level(head, geo, key, level + 1);
553 i = getpos(geo, parent, key);
588 unsigned long *key, int level)
601 node = find_level(head, geo, key, level);
602 pos = getpos(geo, node, key);
604 if ((level == 1) && (keycmp(geo, node, pos, key) != 0))
617 rebalance(head, geo, key, level, node, fill - 1);
626 unsigned long *key)
631 return btree_remove_level(head, geo, key, 1);
638 unsigned long key[MAX_KEYLEN];
657 if (!btree_last(victim, geo, key))
659 val = btree_lookup(victim, geo, key);
660 err = btree_insert(target, geo, key, val, gfp);
663 /* We must make a copy of the key, as the original will get
665 longcpy(dup, key, geo->keylen);
675 unsigned long *key, size_t index,
698 static void empty(void *elem, unsigned long opaque, unsigned long *key,
703 void visitorl(void *elem, unsigned long opaque, unsigned long *key,
708 func(elem, opaque, *key, index);
716 u32 *key = (void *)__key;
718 func(elem, opaque, *key, index);
726 u64 *key = (void *)__key;
728 func(elem, opaque, *key, index);
736 u64 *key = (void *)__key;
738 func(elem, opaque, key[0], key[1], index);
745 unsigned long *key,
763 unsigned long *key,