diff options
Diffstat (limited to 'libbcachefs/bkey.h')
-rw-r--r-- | libbcachefs/bkey.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libbcachefs/bkey.h b/libbcachefs/bkey.h index b26f4934..f2d5f300 100644 --- a/libbcachefs/bkey.h +++ b/libbcachefs/bkey.h @@ -33,6 +33,16 @@ struct bkey_s { #define bkey_next(_k) vstruct_next(_k) +static inline struct bkey_packed *bkey_next_skip_noops(struct bkey_packed *k, + struct bkey_packed *end) +{ + k = bkey_next(k); + + while (k != end && !k->u64s) + k = (void *) ((u64 *) k + 1); + return k; +} + #define bkey_val_u64s(_k) ((_k)->u64s - BKEY_U64s) static inline size_t bkey_val_bytes(const struct bkey *k) @@ -554,6 +564,7 @@ BKEY_VAL_ACCESSORS(quota); BKEY_VAL_ACCESSORS(stripe); BKEY_VAL_ACCESSORS(reflink_p); BKEY_VAL_ACCESSORS(reflink_v); +BKEY_VAL_ACCESSORS(inline_data); /* byte order helpers */ |