diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-17 20:36:59 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-17 20:36:59 -0500 |
commit | 8c20176f2ce40fc8b0151e5a7d17561dd0eda0b5 (patch) | |
tree | 18c678ddb5aa1842acfbe28021bace8828c8ab7c /libbcachefs/bkey_methods.c | |
parent | 1f7098c22213bbe66896f390a529223468a3986e (diff) |
Update bcachefs sources to d372ddcbfa bcachefs: Reorganize extents.c
Diffstat (limited to 'libbcachefs/bkey_methods.c')
-rw-r--r-- | libbcachefs/bkey_methods.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/libbcachefs/bkey_methods.c b/libbcachefs/bkey_methods.c index f01405dd..5312184c 100644 --- a/libbcachefs/bkey_methods.c +++ b/libbcachefs/bkey_methods.c @@ -63,6 +63,23 @@ static const char *key_type_cookie_invalid(const struct bch_fs *c, .key_invalid = empty_val_key_invalid, \ } +static const char *key_type_inline_data_invalid(const struct bch_fs *c, + struct bkey_s_c k) +{ + return NULL; +} + +static void key_type_inline_data_to_text(struct printbuf *out, struct bch_fs *c, + struct bkey_s_c k) +{ + pr_buf(out, "(%zu bytes)", bkey_val_bytes(k.k)); +} + +static const struct bkey_ops bch2_bkey_ops_inline_data = { + .key_invalid = key_type_inline_data_invalid, + .val_to_text = key_type_inline_data_to_text, +}; + static const struct bkey_ops bch2_bkey_ops[] = { #define x(name, nr) [KEY_TYPE_##name] = bch2_bkey_ops_##name, BCH_BKEY_TYPES() @@ -83,9 +100,8 @@ const char *__bch2_bkey_invalid(struct bch_fs *c, struct bkey_s_c k, if (k.k->u64s < BKEY_U64s) return "u64s too small"; - if ((btree_node_type_is_extents(type) || - type == BKEY_TYPE_BTREE) && - bkey_val_u64s(k.k) > BKEY_EXTENT_VAL_U64s_MAX) + if (type == BKEY_TYPE_BTREE && + bkey_val_u64s(k.k) > BKEY_BTREE_PTR_VAL_U64s_MAX) return "value too big"; if (btree_node_type_is_extents(type)) { |