On Sat, Nov 11, 2023 at 08:45:28PM +0000, Colin Ian King wrote: > Variable level is being initialized a value that is never read, the > variable is being re-assigned another value several statements later > on. The initialization is redundant and can be removed. Cleans up > clang scan build warning: > > fs/bcachefs/btree_iter.c:1217:11: warning: Value stored to 'level' > during its initialization is never read [deadcode.DeadStores] > > Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> since we're no longer gnu89, we can simply declare the variable when it's first used, like so: diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 96bdf0c6051c..104172f6822b 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1214,8 +1214,6 @@ __bch2_btree_path_set_pos(struct btree_trans *trans, struct btree_path *path, struct bpos new_pos, bool intent, unsigned long ip, int cmp) { - unsigned level = path->level; - bch2_trans_verify_not_in_restart(trans); EBUG_ON(!path->ref); @@ -1231,7 +1229,7 @@ __bch2_btree_path_set_pos(struct btree_trans *trans, goto out; } - level = btree_path_up_until_good_node(trans, path, cmp); + unsigned level = btree_path_up_until_good_node(trans, path, cmp); if (btree_path_node(path, level)) { struct btree_path_level *l = &path->l[level];