diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2016-05-30 14:48:17 -0800 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2016-10-07 12:36:32 -0800 |
commit | bb5c7eb94ef9632d8fe230e68057317c537014d5 (patch) | |
tree | 8afa51eed3d0dfcf1749d08ac09c95f500253e47 | |
parent | 8f58240bfe1c4d29449504bbbd06efa31a7cc259 (diff) |
bcache: kill bch_btree_node_iter_next()
-rw-r--r-- | drivers/md/bcache/bset.c | 6 | ||||
-rw-r--r-- | drivers/md/bcache/bset.h | 20 | ||||
-rw-r--r-- | drivers/md/bcache/btree_update.c | 14 |
3 files changed, 17 insertions, 23 deletions
diff --git a/drivers/md/bcache/bset.c b/drivers/md/bcache/bset.c index 608644b9593f..d09155a4ccd2 100644 --- a/drivers/md/bcache/bset.c +++ b/drivers/md/bcache/bset.c @@ -1506,15 +1506,15 @@ found: return bch_btree_node_iter_peek_all(iter, b); } -struct bkey_s_c bch_btree_node_iter_next_unpack(struct btree_node_iter *iter, +struct bkey_s_c bch_btree_node_iter_peek_unpack(struct btree_node_iter *iter, struct btree_keys *b, struct bkey *u) { - struct bkey_packed *k = bch_btree_node_iter_next(iter, b); + struct bkey_packed *k = bch_btree_node_iter_peek(iter, b); return k ? bkey_disassemble(&b->format, k, u) : bkey_s_c_null; } -EXPORT_SYMBOL(bch_btree_node_iter_next_unpack); +EXPORT_SYMBOL(bch_btree_node_iter_peek_unpack); /* Mergesort */ diff --git a/drivers/md/bcache/bset.h b/drivers/md/bcache/bset.h index ac1ba48e46df..5785270f4674 100644 --- a/drivers/md/bcache/bset.h +++ b/drivers/md/bcache/bset.h @@ -510,18 +510,6 @@ bch_btree_node_iter_next_all(struct btree_node_iter *iter, struct btree_keys *b) } static inline struct bkey_packed * -bch_btree_node_iter_next(struct btree_node_iter *iter, struct btree_keys *b) -{ - struct bkey_packed *ret; - - do { - ret = bch_btree_node_iter_next_all(iter, b); - } while (ret && bkey_deleted(ret)); - - return ret; -} - -static inline struct bkey_packed * bch_btree_node_iter_peek_overlapping(struct btree_node_iter *iter, struct btree_keys *b, struct bkey *end) @@ -551,15 +539,17 @@ struct bkey_packed *bch_btree_node_iter_prev_all(struct btree_node_iter *, */ #define for_each_btree_node_key(b, k, iter) \ for (bch_btree_node_iter_init_from_start((iter), (b)); \ - ((k) = bch_btree_node_iter_next(iter, b));) + ((k) = bch_btree_node_iter_peek(iter, b)); \ + bch_btree_node_iter_advance(iter, b)) -struct bkey_s_c bch_btree_node_iter_next_unpack(struct btree_node_iter *, +struct bkey_s_c bch_btree_node_iter_peek_unpack(struct btree_node_iter *, struct btree_keys *, struct bkey *); #define for_each_btree_node_key_unpack(b, k, iter, unpacked) \ for (bch_btree_node_iter_init_from_start((iter), (b)); \ - (k = bch_btree_node_iter_next_unpack((iter), (b), (unpacked))).k;) + (k = bch_btree_node_iter_peek_unpack((iter), (b), (unpacked))).k;\ + bch_btree_node_iter_advance(iter, b)) /* Sorting */ diff --git a/drivers/md/bcache/btree_update.c b/drivers/md/bcache/btree_update.c index 3d12a642f1be..1d3dcf194d70 100644 --- a/drivers/md/bcache/btree_update.c +++ b/drivers/md/bcache/btree_update.c @@ -1068,14 +1068,16 @@ static void btree_node_interior_verify(struct btree *b) bch_btree_node_iter_init(&iter, &b->keys, b->key.k.p, false); #if 1 - BUG_ON(!(k = bch_btree_node_iter_next(&iter, &b->keys)) || - bkey_cmp_left_packed(f, k, b->key.k.p) || - bch_btree_node_iter_peek(&iter, &b->keys)); + BUG_ON(!(k = bch_btree_node_iter_peek(&iter, &b->keys)) || + bkey_cmp_left_packed(f, k, b->key.k.p)); + + BUG_ON((bch_btree_node_iter_advance(&iter, &b->keys), + !bch_btree_node_iter_end(&iter))); #else const char *msg; msg = "not found"; - k = bch_btree_node_iter_next(&iter, &b->keys); + k = bch_btree_node_iter_peek(&iter, &b->keys); if (!k) goto err; @@ -1083,8 +1085,10 @@ static void btree_node_interior_verify(struct btree *b) if (bkey_cmp_left_packed(f, k, b->key.k.p)) goto err; + bch_btree_node_iter_advance(&iter, &b->keys); + msg = "isn't last key"; - if (bch_btree_node_iter_peek(&iter, &b->keys)) + if (!bch_btree_node_iter_end(&iter)) goto err; return; err: |