diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-03-02 22:45:28 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:55 -0400 |
commit | 18fc6ae50312a88c8a109ab0f0e68c21a2a8ab1e (patch) | |
tree | b6b224fce971ebb46eb422239ef27dacefaac0d5 | |
parent | b8f0507915319ee8032b3c5b72f65f22812b9f91 (diff) | |
download | lwn-18fc6ae50312a88c8a109ab0f0e68c21a2a8ab1e.tar.gz lwn-18fc6ae50312a88c8a109ab0f0e68c21a2a8ab1e.zip |
bcachefs: btree_iter_prev_slot()
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/btree_iter.c | 8 | ||||
-rw-r--r-- | fs/bcachefs/btree_iter.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 9d3333cd76f9..c05bc8ff8b8d 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1904,6 +1904,14 @@ struct bkey_s_c bch2_btree_iter_next_slot(struct btree_iter *iter) return bch2_btree_iter_peek_slot(iter); } +struct bkey_s_c bch2_btree_iter_prev_slot(struct btree_iter *iter) +{ + if (!bch2_btree_iter_rewind_pos(iter)) + return bkey_s_c_null; + + return bch2_btree_iter_peek_slot(iter); +} + struct bkey_s_c bch2_btree_iter_peek_cached(struct btree_iter *iter) { struct bkey_cached *ck; diff --git a/fs/bcachefs/btree_iter.h b/fs/bcachefs/btree_iter.h index e2469436f53b..3ae6c29c6dad 100644 --- a/fs/bcachefs/btree_iter.h +++ b/fs/bcachefs/btree_iter.h @@ -171,6 +171,7 @@ struct bkey_s_c bch2_btree_iter_prev(struct btree_iter *); struct bkey_s_c bch2_btree_iter_peek_slot(struct btree_iter *); struct bkey_s_c bch2_btree_iter_next_slot(struct btree_iter *); +struct bkey_s_c bch2_btree_iter_prev_slot(struct btree_iter *); struct bkey_s_c bch2_btree_iter_peek_cached(struct btree_iter *); |