From: xie xingguo Date: Wed, 28 Sep 2016 07:24:19 +0000 (+0800) Subject: os/bluestore: make allocated space calc a little faster X-Git-Tag: v11.0.1~75^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9caae754bf12677524c6ac3ac4a639197fe8a112;p=ceph.git os/bluestore: make allocated space calc a little faster Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 41db61493342..cd73bef1eedc 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -7317,16 +7317,17 @@ int BlueStore::_do_alloc_write( int r = alloc->alloc_extents(final_length, min_alloc_size, max_alloc_size, hint, &extents, &count); - - need -= final_length; assert(r == 0); + need -= final_length; + txc->statfs_delta.allocated() += final_length; + assert(count > 0); + hint = extents[count - 1].end(); + bluestore_blob_t& dblob = b->dirty_blob(); for (int i = 0; i < count; i++) { bluestore_pextent_t e = bluestore_pextent_t(extents[i]); txc->allocated.insert(e.offset, e.length); - txc->statfs_delta.allocated() += e.length; dblob.extents.push_back(e); - hint = e.end(); } dout(20) << __func__ << " blob " << *b