> wrapper->ptr = source;
> - wrapper->refcount = (int *)((char *)wrapper->ptr + refcount_offset);
> + refcount_pos = (char *)wrapper->ptr + refcount_offset;
> + wrapper->refcount = (int *) DISCARD_ALIGN(refcount_pos);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It looks like macro DISCARD_ALIGN can be extended to in similar way like a
talloc_zero(const void *ptr, #type);
LS
Makes sense. Patch 2 adds this parameter.
Michal