]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
bcachefs: btree_iter_peek_upto() now handles BTREE_ITER_all_snapshots
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 5 Oct 2024 01:40:13 +0000 (21:40 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 6 Oct 2024 07:03:45 +0000 (03:03 -0400)
end_pos now compares against snapshot ID when required

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index bfe9f0c1e1be8e3c97fb22c740ff57748c9cb1f9..0883cf6e1a3ebcfef787aad618df83a9ba81f2f7 100644 (file)
@@ -2381,9 +2381,9 @@ struct bkey_s_c bch2_btree_iter_peek_upto(struct btree_iter *iter, struct bpos e
                else
                        iter_pos = bkey_max(iter->pos, bkey_start_pos(k.k));
 
-               if (unlikely(!(iter->flags & BTREE_ITER_is_extents)
-                            ? bkey_gt(iter_pos, end)
-                            : bkey_ge(iter_pos, end)))
+               if (unlikely(iter->flags & BTREE_ITER_all_snapshots     ? bpos_gt(iter_pos, end) :
+                            iter->flags & BTREE_ITER_is_extents        ? bkey_ge(iter_pos, end) :
+                                                                         bkey_gt(iter_pos, end)))
                        goto end;
 
                break;