From: Radoslaw Zarzynski Date: Wed, 19 Aug 2020 10:56:21 +0000 (+0200) Subject: os/bluestore: avoid temporary bufferlist in _flush_range(). X-Git-Tag: v16.1.0~780^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b24454abfeb99d962a3f710bb9db357d0e69d2a8;p=ceph.git os/bluestore: avoid temporary bufferlist in _flush_range(). `bufferlist::splice()` is already piecewise -- it uses the variant of `bufferlist::appned()` that merges adjacent bptrs. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 15b0c10e8b8..90cb9239efc 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -2759,9 +2759,7 @@ ceph::bufferlist BlueFS::FileWriter::flush_buffer( /* in case of inital allocation and need to zero, limited flush is unacceptable */ bl.claim_append_piecewise(buffer); } else { - bufferlist t; - buffer.splice(0, length, &t); - bl.claim_append_piecewise(t); + buffer.splice(0, length, &bl); dout(20) << " leaving 0x" << std::hex << buffer.length() << std::dec << " unflushed" << dendl; }