From aa2b89114034d61dbe80087edfe7073d276c4db3 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 11 Feb 2016 14:59:43 -0500 Subject: [PATCH] buffer: use alignof for raw_combined allocation arithmetic Signed-off-by: Sage Weil --- src/common/buffer.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/buffer.cc b/src/common/buffer.cc index ee274a019f45c..ae1ffbe4b3f3d 100644 --- a/src/common/buffer.cc +++ b/src/common/buffer.cc @@ -261,8 +261,9 @@ static simple_spinlock_t buffer_debug_lock = SIMPLE_SPINLOCK_INITIALIZER; static raw_combined *create(unsigned len, unsigned align=0) { if (!align) align = sizeof(size_t); - size_t rawlen = ROUND_UP_TO(sizeof(buffer::raw_combined), sizeof(size_t)); - size_t datalen = ROUND_UP_TO(len, sizeof(size_t)); + size_t rawlen = ROUND_UP_TO(sizeof(buffer::raw_combined), + alignof(buffer::raw_combined)); + size_t datalen = ROUND_UP_TO(len, alignof(buffer::raw_combined)); #ifdef DARWIN char *ptr = (char *) valloc(rawlen + datalen); -- 2.47.3