From: Kent Overstreet Date: Wed, 5 Mar 2014 01:56:24 +0000 (-0800) Subject: bcache: Fix a bug recovering from unclean shutdown X-Git-Tag: firefly_0821_release~176^2~4188^2^2~17 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0bd143fd800055b1db756693289bbebdb93f2a73;p=firefly-linux-kernel-4.4.55.git bcache: Fix a bug recovering from unclean shutdown The code to fixup incorrect bucket prios incorrectly did not skip btree node freeing keys Signed-off-by: Kent Overstreet --- diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c index 5f9c2a665ca5..2d4a864865eb 100644 --- a/drivers/md/bcache/btree.c +++ b/drivers/md/bcache/btree.c @@ -1726,9 +1726,9 @@ static int bch_btree_check_recurse(struct btree *b, struct btree_op *op, !ptr_stale(b->c, k, i)) { g->gen = PTR_GEN(k, i); - if (b->level) + if (b->level && bkey_cmp(k, &ZERO_KEY)) g->prio = BTREE_PRIO; - else if (g->prio == BTREE_PRIO) + else if (!b->level && g->prio == BTREE_PRIO) g->prio = INITIAL_PRIO; } }