summaryrefslogtreecommitdiff
path: root/libbcachefs/bkey.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-07-13 00:43:23 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2018-07-13 00:45:28 -0400
commit75c7148e0aff2184c75a52e7c4c58e46e715757b (patch)
treece823d6a7b2a5d3057bd912d00088fc707dec08b /libbcachefs/bkey.h
parent17e2f2775be6e10b966cd958bc0461aab662571a (diff)
Update bcachefs sources to 940d6ca657 bcachefs: acl code improvements
Diffstat (limited to 'libbcachefs/bkey.h')
-rw-r--r--libbcachefs/bkey.h25
1 files changed, 10 insertions, 15 deletions
diff --git a/libbcachefs/bkey.h b/libbcachefs/bkey.h
index 2d6c8a23..2f62bd8e 100644
--- a/libbcachefs/bkey.h
+++ b/libbcachefs/bkey.h
@@ -52,21 +52,6 @@ static inline void set_bkey_val_bytes(struct bkey *k, unsigned bytes)
k->u64s = BKEY_U64s + DIV_ROUND_UP(bytes, sizeof(u64));
}
-/*
- * Mark a key as deleted without changing the size of the value (i.e. modifying
- * keys in the btree in place)
- */
-static inline void __set_bkey_deleted(struct bkey *k)
-{
- k->type = KEY_TYPE_DELETED;
-}
-
-static inline void set_bkey_deleted(struct bkey *k)
-{
- __set_bkey_deleted(k);
- set_bkey_val_u64s(k, 0);
-}
-
#define bkey_deleted(_k) ((_k)->type == KEY_TYPE_DELETED)
#define bkey_whiteout(_k) \
@@ -284,6 +269,16 @@ static inline struct bpos bkey_successor(struct bpos p)
return ret;
}
+static inline struct bpos bkey_predecessor(struct bpos p)
+{
+ struct bpos ret = p;
+
+ if (!ret.offset--)
+ BUG_ON(!ret.inode--);
+
+ return ret;
+}
+
static inline u64 bkey_start_offset(const struct bkey *k)
{
return k->p.offset - k->size;