From 44777b74043f57590ce553953214379a225711f3 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 17 Jan 2017 11:17:38 -0500 Subject: [PATCH] os/bluestore: prealloc/reserve extent vector for common alloc path No need to worry about the gift/reclaim path--those are very rare. Signed-off-by: Sage Weil (cherry picked from commit b0c243875fe963e2958828bef62f3ba55e123434) --- src/os/bluestore/BlueFS.cc | 1 + src/os/bluestore/BlueStore.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index fa3a4fa6b6eb6..b9d7bf0568726 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -1763,6 +1763,7 @@ int BlueFS::_allocate(uint8_t id, uint64_t len, } AllocExtentVector extents; + extents.reserve(4); int64_t alloc_len = alloc[id]->allocate(left, min_alloc_size, hint, &extents); if (alloc_len < (int64_t)left) { diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 33d6a780f0ca6..36004808e84ed 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -7873,6 +7873,7 @@ int BlueStore::_do_alloc_write( } AllocExtentVector extents; + extents.reserve(4); int64_t got = alloc->allocate(final_length, min_alloc_size, max_alloc_size, hint, &extents); assert(got == (int64_t)final_length); -- 2.39.5