From: Jason Dillaman Date: Tue, 23 Apr 2019 12:24:52 +0000 (-0400) Subject: rbd-mirror: clear out bufferlist prior to listing mirror images X-Git-Tag: v13.2.7~275^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=32c82d30400ce6c1f7712c8c235e07c92bd734c3;p=ceph.git rbd-mirror: clear out bufferlist prior to listing mirror images The second call to list mirrored images will fail deep within the msgr code due to a "bad crc in data" error. Fixes: http://tracker.ceph.com/issues/39407 Signed-off-by: Jason Dillaman (cherry picked from commit 7c5dcf63f3b15692fd3f5a19c1562b195cd9ec47) --- diff --git a/src/tools/rbd_mirror/pool_watcher/RefreshImagesRequest.cc b/src/tools/rbd_mirror/pool_watcher/RefreshImagesRequest.cc index 3b216cc33d818..9edd2bed9e5e1 100644 --- a/src/tools/rbd_mirror/pool_watcher/RefreshImagesRequest.cc +++ b/src/tools/rbd_mirror/pool_watcher/RefreshImagesRequest.cc @@ -35,6 +35,7 @@ void RefreshImagesRequest::mirror_image_list() { librados::ObjectReadOperation op; librbd::cls_client::mirror_image_list_start(&op, m_start_after, MAX_RETURN); + m_out_bl.clear(); librados::AioCompletion *aio_comp = create_rados_callback< RefreshImagesRequest, &RefreshImagesRequest::handle_mirror_image_list>(this);