diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-30 00:14:09 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-12-21 01:36:14 -0500 |
| commit | b836f220146967a0931d0dff58d5c90797c8b88e (patch) | |
| tree | adb6ed37e5e6722ed5be67e71adba7ddf658ad9a /fs/bcachefs/snapshot.c | |
| parent | bcachefs: remove_backpointer() now uses dirent_get_by_pos() (diff) | |
| download | linux-b836f220146967a0931d0dff58d5c90797c8b88e.tar.gz linux-b836f220146967a0931d0dff58d5c90797c8b88e.zip | |
bcachefs: __bch2_key_has_snapshot_overwrites uses for_each_btree_key_reverse_norestart()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/snapshot.c')
| -rw-r--r-- | fs/bcachefs/snapshot.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/fs/bcachefs/snapshot.c b/fs/bcachefs/snapshot.c index ae57638506c3..feaf2aa0d900 100644 --- a/fs/bcachefs/snapshot.c +++ b/fs/bcachefs/snapshot.c @@ -1735,18 +1735,10 @@ int __bch2_key_has_snapshot_overwrites(struct btree_trans *trans, struct bkey_s_c k; int ret; - bch2_trans_iter_init(trans, &iter, id, pos, - BTREE_ITER_not_extents| - BTREE_ITER_all_snapshots); - while (1) { - k = bch2_btree_iter_prev(&iter); - ret = bkey_err(k); - if (ret) - break; - - if (!k.k) - break; - + for_each_btree_key_reverse_norestart(trans, iter, id, bpos_predecessor(pos), + BTREE_ITER_not_extents| + BTREE_ITER_all_snapshots, + k, ret) { if (!bkey_eq(pos, k.k->p)) break; |
