]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: clear out bufferlist prior to listing mirror images 28123/head
authorJason Dillaman <dillaman@redhat.com>
Tue, 23 Apr 2019 12:24:52 +0000 (08:24 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 15 May 2019 19:01:23 +0000 (15:01 -0400)
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 <dillaman@redhat.com>
(cherry picked from commit 7c5dcf63f3b15692fd3f5a19c1562b195cd9ec47)

src/tools/rbd_mirror/pool_watcher/RefreshImagesRequest.cc

index 3b216cc33d818bc26ad84efacae1891fd22954ab..9edd2bed9e5e142acd97e359869dd5d340009696 100644 (file)
@@ -35,6 +35,7 @@ void RefreshImagesRequest<I>::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<I>,
     &RefreshImagesRequest<I>::handle_mirror_image_list>(this);