From: lixiaoy1 Date: Thu, 22 Oct 2020 14:44:43 +0000 (-0400) Subject: librbd/deep_copy: skip reading data from image cache X-Git-Tag: v16.1.0~751^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b1f11939d617f3f9abef89d2a5cd7129ca3bf61a;p=ceph.git librbd/deep_copy: skip reading data from image cache Signed-off-by: Li, Xiaoyan --- diff --git a/src/librbd/cache/WriteLogImageDispatch.cc b/src/librbd/cache/WriteLogImageDispatch.cc index bf1831cbacfb..3fa04aac6fd0 100644 --- a/src/librbd/cache/WriteLogImageDispatch.cc +++ b/src/librbd/cache/WriteLogImageDispatch.cc @@ -2,6 +2,7 @@ // vim: ts=8 sw=2 smarttab #include "common/dout.h" +#include "include/neorados/RADOS.hpp" #include "librbd/cache/pwl/AbstractWriteLog.h" #include "librbd/cache/pwl/ShutdownRequest.h" #include "librbd/cache/WriteLogImageDispatch.h" @@ -54,6 +55,10 @@ bool WriteLogImageDispatch::read( auto cct = m_image_ctx->cct; ldout(cct, 20) << "image_extents=" << image_extents << dendl; + if (io_context->read_snap().value_or(CEPH_NOSNAP) != CEPH_NOSNAP) { + return false; + } + *dispatch_result = io::DISPATCH_RESULT_COMPLETE; if (preprocess_length(aio_comp, image_extents)) { return true;