From: Samuel Just Date: Mon, 23 Dec 2019 01:44:13 +0000 (-0800) Subject: common/buffer: add constructor to create ptr with specified contents X-Git-Tag: v16.1.0~2330^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ef7ab820ace8d5511cd3666ab03ac59cf4968eaf;p=ceph.git common/buffer: add constructor to create ptr with specified contents Signed-off-by: Samuel Just --- diff --git a/src/common/buffer.cc b/src/common/buffer.cc index 7f9acb511e780..65ef5964cfc66 100644 --- a/src/common/buffer.cc +++ b/src/common/buffer.cc @@ -299,6 +299,11 @@ static ceph::spinlock debug_lock; ceph::unique_leakable_ptr buffer::create(unsigned len) { return buffer::create_aligned(len, sizeof(size_t)); } + ceph::unique_leakable_ptr buffer::create(unsigned len, char c) { + auto ret = buffer::create_aligned(len, sizeof(size_t)); + memset(ret->data, c, len); + return ret; + } ceph::unique_leakable_ptr buffer::create_in_mempool(unsigned len, int mempool) { return buffer::create_aligned_in_mempool(len, sizeof(size_t), mempool); diff --git a/src/include/buffer.h b/src/include/buffer.h index c8805cc512059..80e990f30d62e 100644 --- a/src/include/buffer.h +++ b/src/include/buffer.h @@ -157,6 +157,7 @@ inline namespace v15_2_0 { */ ceph::unique_leakable_ptr copy(const char *c, unsigned len); ceph::unique_leakable_ptr create(unsigned len); + ceph::unique_leakable_ptr create(unsigned len, char c); ceph::unique_leakable_ptr create_in_mempool(unsigned len, int mempool); ceph::unique_leakable_ptr claim_char(unsigned len, char *buf); ceph::unique_leakable_ptr create_malloc(unsigned len);