summaryrefslogtreecommitdiff
path: root/libbcachefs/io.h
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/io.h')
-rw-r--r--libbcachefs/io.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/libbcachefs/io.h b/libbcachefs/io.h
index 7db3bd0e..80b72dbf 100644
--- a/libbcachefs/io.h
+++ b/libbcachefs/io.h
@@ -95,8 +95,17 @@ struct bch_devs_mask;
struct cache_promote_op;
struct extent_ptr_decoded;
-int bch2_read_indirect_extent(struct btree_trans *, struct btree_iter *,
- unsigned *, struct bkey_i *);
+int __bch2_read_indirect_extent(struct btree_trans *, unsigned *,
+ struct bkey_i *);
+
+static inline int bch2_read_indirect_extent(struct btree_trans *trans,
+ unsigned *offset_into_extent,
+ struct bkey_i *k)
+{
+ return k->k.type == KEY_TYPE_reflink_p
+ ? __bch2_read_indirect_extent(trans, offset_into_extent, k)
+ : 0;
+}
enum bch_read_flags {
BCH_READ_RETRY_IF_STALE = 1 << 0,