#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);
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;
}