diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-03-30 14:34:20 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-03-30 14:34:20 -0400 |
commit | fad8236b812f795993b88804065d950709a6c13c (patch) | |
tree | 15c1542e9fe87a2a59fcadf775b3a415bd3561e7 /libbcachefs/extents.c | |
parent | 2aed686c235a7d08adf601f147f823eb62e697a1 (diff) |
Update bcachefs sources to 275cba438e bcachefs: Fix inodes pass in fsck
Diffstat (limited to 'libbcachefs/extents.c')
-rw-r--r-- | libbcachefs/extents.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libbcachefs/extents.c b/libbcachefs/extents.c index cb88dd15..792c9c1e 100644 --- a/libbcachefs/extents.c +++ b/libbcachefs/extents.c @@ -9,6 +9,7 @@ #include "bcachefs.h" #include "bkey_methods.h" #include "btree_gc.h" +#include "btree_io.h" #include "btree_iter.h" #include "buckets.h" #include "checksum.h" @@ -214,6 +215,22 @@ void bch2_btree_ptr_to_text(struct printbuf *out, struct bch_fs *c, bch2_bkey_ptrs_to_text(out, c, k); } +void bch2_btree_ptr_v2_compat(enum btree_id btree_id, unsigned version, + unsigned big_endian, int write, + struct bkey_s k) +{ + struct bkey_s_btree_ptr_v2 bp = bkey_s_to_btree_ptr_v2(k); + + compat_bpos(0, btree_id, version, big_endian, write, &bp.v->min_key); + + if (version < bcachefs_metadata_version_inode_btree_change && + btree_node_type_is_extents(btree_id) && + bkey_cmp(bp.v->min_key, POS_MIN)) + bp.v->min_key = write + ? bkey_predecessor(bp.v->min_key) + : bkey_successor(bp.v->min_key); +} + /* KEY_TYPE_extent: */ const char *bch2_extent_invalid(const struct bch_fs *c, struct bkey_s_c k) |