bcachefs: Simplify for_each_btree_key()
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 5 Mar 2021 03:11:28 +0000 (22:11 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:55 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.h

index 3ae6c29c6dad6b529b79a37106653d8530ff693b..0ac8337eba98697b8531faaa4f7102277484a09c 100644 (file)
@@ -243,11 +243,9 @@ static inline int bkey_err(struct bkey_s_c k)
                           _start, _flags, _k, _ret)                    \
        for ((_iter) = bch2_trans_get_iter((_trans), (_btree_id),       \
                                           (_start), (_flags)),         \
-            (_ret) = PTR_ERR_OR_ZERO(((_k) =                           \
-                       __bch2_btree_iter_peek(_iter, _flags)).k);      \
-            !_ret && (_k).k;                                           \
-            (_ret) = PTR_ERR_OR_ZERO(((_k) =                           \
-                       __bch2_btree_iter_next(_iter, _flags)).k))
+            (_k) = __bch2_btree_iter_peek(_iter, _flags);              \
+            !((_ret) = bkey_err(_k)) && (_k).k;                        \
+            (_k) = __bch2_btree_iter_next(_iter, _flags))
 
 #define for_each_btree_key_continue(_iter, _flags, _k, _ret)           \
        for ((_k) = __bch2_btree_iter_peek(_iter, _flags);              \