summaryrefslogtreecommitdiff
path: root/libbcachefs/inode.c
diff options
context:
space:
mode:
authorJustin Husted <sigstop@gmail.com>2019-10-31 19:10:19 -0700
committerKent Overstreet <kent.overstreet@gmail.com>2019-11-03 23:17:43 -0500
commit36e4b3147e22143ffaa8caca56507d4ca9fb5aeb (patch)
treebee653c9adf88f4dbaca18851d6cab22477bc111 /libbcachefs/inode.c
parent37899250f3b02dcca9969aae765454b937a47931 (diff)
Temporary import of valgrind fixes for bcachefs branch.
Diffstat (limited to 'libbcachefs/inode.c')
-rw-r--r--libbcachefs/inode.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libbcachefs/inode.c b/libbcachefs/inode.c
index e953b78..59653b9 100644
--- a/libbcachefs/inode.c
+++ b/libbcachefs/inode.c
@@ -95,6 +95,7 @@ void bch2_inode_pack(struct bkey_inode_buf *packed,
u8 *end = (void *) &packed[1];
u8 *last_nonzero_field = out;
unsigned nr_fields = 0, last_nonzero_fieldnr = 0;
+ unsigned bytes;
bkey_inode_init(&packed->inode.k_i);
packed->inode.k.p.inode = inode->bi_inum;
@@ -117,10 +118,9 @@ void bch2_inode_pack(struct bkey_inode_buf *packed,
out = last_nonzero_field;
nr_fields = last_nonzero_fieldnr;
- set_bkey_val_bytes(&packed->inode.k, out - (u8 *) &packed->inode.v);
- memset(out, 0,
- (u8 *) &packed->inode.v +
- bkey_val_bytes(&packed->inode.k) - out);
+ bytes = out - (u8 *) &packed->inode.v;
+ set_bkey_val_bytes(&packed->inode.k, bytes);
+ memset_u64s_tail(&packed->inode.v, 0, bytes);
SET_INODE_NR_FIELDS(&packed->inode.v, nr_fields);