Skip to content

Commit a8958a1

Browse files
author
Kent Overstreet
committed
bcachefs: bkey_copy() is no longer a macro
Signed-off-by: Kent Overstreet <[email protected]>
1 parent 103ffe9 commit a8958a1

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

fs/bcachefs/bkey.h

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,19 +92,15 @@ enum bkey_lr_packed {
9292
#define bkey_lr_packed(_l, _r) \
9393
((_l)->format + ((_r)->format << 1))
9494

95-
#define bkey_copy(_dst, _src) \
96-
do { \
97-
BUILD_BUG_ON(!type_is(_dst, struct bkey_i *) && \
98-
!type_is(_dst, struct bkey_packed *)); \
99-
BUILD_BUG_ON(!type_is(_src, struct bkey_i *) && \
100-
!type_is(_src, struct bkey_packed *)); \
101-
EBUG_ON((u64 *) (_dst) > (u64 *) (_src) && \
102-
(u64 *) (_dst) < (u64 *) (_src) + \
103-
((struct bkey *) (_src))->u64s); \
104-
\
105-
memcpy_u64s_small((_dst), (_src), \
106-
((struct bkey *) (_src))->u64s); \
107-
} while (0)
95+
static inline void bkey_p_copy(struct bkey_packed *dst, const struct bkey_packed *src)
96+
{
97+
memcpy_u64s_small(dst, src, src->u64s);
98+
}
99+
100+
static inline void bkey_copy(struct bkey_i *dst, const struct bkey_i *src)
101+
{
102+
memcpy_u64s_small(dst, src, src->k.u64s);
103+
}
108104

109105
struct btree;
110106

fs/bcachefs/bkey_sort.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ bch2_key_sort_fix_overlapping(struct bch_fs *c, struct bset *dst,
106106
while ((k = sort_iter_peek(iter))) {
107107
if (!bkey_deleted(k) &&
108108
!should_drop_next_key(iter)) {
109-
bkey_copy(out, k);
109+
bkey_p_copy(out, k);
110110
btree_keys_account_key_add(&nr, 0, out);
111111
out = bkey_p_next(out);
112112
}
@@ -137,7 +137,7 @@ bch2_sort_repack(struct bset *dst, struct btree *src,
137137
continue;
138138

139139
if (!transform)
140-
bkey_copy(out, in);
140+
bkey_p_copy(out, in);
141141
else if (bch2_bkey_transform(out_f, out, bkey_packed(in)
142142
? in_f : &bch2_bkey_format_current, in))
143143
out->format = KEY_FORMAT_LOCAL_BTREE;
@@ -191,7 +191,7 @@ unsigned bch2_sort_keys(struct bkey_packed *dst,
191191
memcpy_u64s_small(out, in, bkeyp_key_u64s(f, in));
192192
set_bkeyp_val_u64s(f, out, 0);
193193
} else {
194-
bkey_copy(out, in);
194+
bkey_p_copy(out, in);
195195
}
196196
out->needs_whiteout |= needs_whiteout;
197197
out = bkey_p_next(out);

fs/bcachefs/btree_io.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ static void bch2_sort_whiteouts(struct bch_fs *c, struct btree *b)
184184
k = new_whiteouts;
185185

186186
while (ptrs != ptrs_end) {
187-
bkey_copy(k, *ptrs);
187+
bkey_p_copy(k, *ptrs);
188188
k = bkey_p_next(k);
189189
ptrs++;
190190
}
@@ -260,7 +260,7 @@ static bool bch2_drop_whiteouts(struct btree *b, enum compact_mode mode)
260260
n = bkey_p_next(k);
261261

262262
if (!bkey_deleted(k)) {
263-
bkey_copy(out, k);
263+
bkey_p_copy(out, k);
264264
out = bkey_p_next(out);
265265
} else {
266266
BUG_ON(k->needs_whiteout);

fs/bcachefs/btree_update_interior.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ static inline void push_whiteout(struct bch_fs *c, struct btree *b,
303303
k.needs_whiteout = true;
304304

305305
b->whiteout_u64s += k.u64s;
306-
bkey_copy(unwritten_whiteouts_start(c, b), &k);
306+
bkey_p_copy(unwritten_whiteouts_start(c, b), &k);
307307
}
308308

309309
/*

0 commit comments

Comments
 (0)