X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=lib%2Fbtree.c;h=f9a484676cb6a8e4782333ce164bf0662b583b78;hb=HEAD;hp=e5ec1e9c1aa52cc08c710a4dcc4c1815cad9c67b;hpb=72c79bdbda396b7f67e97b2a89410ac91d814c1b;p=~andy%2Flinux diff --git a/lib/btree.c b/lib/btree.c index e5ec1e9c1aa..f9a484676cb 100644 --- a/lib/btree.c +++ b/lib/btree.c @@ -319,8 +319,8 @@ void *btree_get_prev(struct btree_head *head, struct btree_geo *geo, if (head->height == 0) return NULL; -retry: longcpy(key, __key, geo->keylen); +retry: dec_key(geo, key); node = head->node; @@ -351,7 +351,7 @@ retry: } miss: if (retry_key) { - __key = retry_key; + longcpy(key, retry_key, geo->keylen); retry_key = NULL; goto retry; } @@ -509,6 +509,7 @@ retry: int btree_insert(struct btree_head *head, struct btree_geo *geo, unsigned long *key, void *val, gfp_t gfp) { + BUG_ON(!val); return btree_insert_level(head, geo, key, val, 1, gfp); } EXPORT_SYMBOL_GPL(btree_insert);