Merge pull request #39303 from dillaman/wip-49173

librbd/io: conditionally disable move optimization

Reviewed-by: Mykola Golub <mgolub@suse.com>
This commit is contained in:
Mykola Golub 2021-02-06 11:23:45 +02:00 committed by GitHub
commit 7bafcfbb01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -527,7 +527,8 @@ ObjectDispatchSpec *ImageWriteRequest<I>::create_object_request(
I &image_ctx = this->m_image_ctx;
bufferlist bl;
if (single_extent && object_extent.buffer_extents.size() == 1) {
if (single_extent && object_extent.buffer_extents.size() == 1 &&
m_bl.length() == object_extent.length) {
// optimization for single object/buffer extent writes
bl = std::move(m_bl);
} else {