diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-12-30 22:54:04 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-01-03 20:31:37 -0500 |
commit | 1f79cf3825e94fcb146d417b6dda9b94c93c7a53 (patch) | |
tree | 152d89dcb9217e1dbe18594d038a077e0d6f822c /libbcachefs/darray.c | |
parent | 3054e5debba5ccf842346bd202921f08e43d1e84 (diff) |
Update bcachefs sources to 2a6125decb43 bcachefs: bch_sb_field_downgrade
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/darray.c')
-rw-r--r-- | libbcachefs/darray.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libbcachefs/darray.c b/libbcachefs/darray.c index 4c900c85..ac35b8b7 100644 --- a/libbcachefs/darray.c +++ b/libbcachefs/darray.c @@ -4,7 +4,7 @@ #include <linux/slab.h> #include "darray.h" -int __bch2_darray_resize(darray_void *d, size_t element_size, size_t new_size, gfp_t gfp) +int __bch2_darray_resize(darray_char *d, size_t element_size, size_t new_size, gfp_t gfp) { if (new_size > d->size) { new_size = roundup_pow_of_two(new_size); @@ -14,7 +14,8 @@ int __bch2_darray_resize(darray_void *d, size_t element_size, size_t new_size, g return -ENOMEM; memcpy(data, d->data, d->size * element_size); - kvfree(d->data); + if (d->data != d->preallocated) + kvfree(d->data); d->data = data; d->size = new_size; } |