summaryrefslogtreecommitdiffstats
path: root/drivers/md/bcache/btree.h
diff options
context:
space:
mode:
authorKent Overstreet <kmo@daterainc.com>2013-09-11 03:39:16 +0200
committerKent Overstreet <kmo@daterainc.com>2013-11-11 06:55:59 +0100
commite7c590eb63509c5d5f48a390d23aa25f4417ac96 (patch)
tree22accb493ac9f36b5bf005d5a19080ab67a96cf2 /drivers/md/bcache/btree.h
parentbcache: Insert multiple keys at a time (diff)
downloadlinux-e7c590eb63509c5d5f48a390d23aa25f4417ac96.tar.xz
linux-e7c590eb63509c5d5f48a390d23aa25f4417ac96.zip
bcache: Convert btree_insert_check_key() to btree_insert_node()
This was the main point of all this refactoring - now, btree_insert_check_key() won't fail just because the leaf node happened to be full. Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/btree.h')
-rw-r--r--drivers/md/bcache/btree.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/md/bcache/btree.h b/drivers/md/bcache/btree.h
index 6d2fb7550706..73bd62105e39 100644
--- a/drivers/md/bcache/btree.h
+++ b/drivers/md/bcache/btree.h
@@ -216,6 +216,8 @@ static inline struct bkey *bch_btree_iter_init(struct btree *b,
return __bch_btree_iter_init(b, iter, search, b->sets);
}
+void __bkey_put(struct cache_set *c, struct bkey *k);
+
/* Looping macros */
#define for_each_cached_btree(b, c, iter) \
@@ -380,8 +382,8 @@ struct btree *bch_btree_node_alloc(struct cache_set *, int, struct closure *);
struct btree *bch_btree_node_get(struct cache_set *, struct bkey *,
int, struct btree_op *);
-bool bch_btree_insert_check_key(struct btree *, struct btree_op *,
- struct bio *);
+int bch_btree_insert_check_key(struct btree *, struct btree_op *,
+ struct bkey *);
int bch_btree_insert(struct btree_op *, struct cache_set *);
int bch_btree_search_recurse(struct btree *, struct btree_op *);