diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-08-15 19:41:24 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-08-15 20:00:21 -0400 |
commit | cef2f30ae2a25df41704b9b06fc13882d737cc27 (patch) | |
tree | 245f69c300067dc638eff7c6bc5bbc545fdf81f1 /libbcachefs/bkey_methods.c | |
parent | 9c62b2b4f11374cbffe88e0c31b9b1ab32a2863a (diff) |
Update bcachefs sources to 15f6e66e86 bcachefs: pass around bset_tree less
Diffstat (limited to 'libbcachefs/bkey_methods.c')
-rw-r--r-- | libbcachefs/bkey_methods.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/libbcachefs/bkey_methods.c b/libbcachefs/bkey_methods.c index e4f62f90..bbe9af67 100644 --- a/libbcachefs/bkey_methods.c +++ b/libbcachefs/bkey_methods.c @@ -122,16 +122,27 @@ void bch2_bkey_debugcheck(struct bch_fs *c, struct btree *b, struct bkey_s_c k) #define p(...) (out += scnprintf(out, end - out, __VA_ARGS__)) +int bch2_bpos_to_text(char *buf, size_t size, struct bpos pos) +{ + char *out = buf, *end = buf + size; + + if (!bkey_cmp(pos, POS_MIN)) + p("POS_MIN"); + else if (!bkey_cmp(pos, POS_MAX)) + p("POS_MAX"); + else + p("%llu:%llu", pos.inode, pos.offset); + + return out - buf; +} + int bch2_bkey_to_text(char *buf, size_t size, const struct bkey *k) { char *out = buf, *end = buf + size; p("u64s %u type %u ", k->u64s, k->type); - if (bkey_cmp(k->p, POS_MAX)) - p("%llu:%llu", k->p.inode, k->p.offset); - else - p("POS_MAX"); + out += bch2_bpos_to_text(out, end - out, k->p); p(" snap %u len %u ver %llu", k->p.snapshot, k->size, k->version.lo); @@ -159,7 +170,7 @@ int bch2_val_to_text(struct bch_fs *c, enum bkey_type type, break; default: if (k.k->type >= KEY_TYPE_GENERIC_NR && ops->val_to_text) - ops->val_to_text(c, buf, size, k); + out += ops->val_to_text(c, out, end - out, k); break; } |