From aeb9192011000bbecc7afa64fb6b7b4e58b5c448 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Tue, 26 Mar 2019 15:09:58 +0000 Subject: [PATCH] librbd: do not allow to deep copy migrating image Fixes: https://tracker.ceph.com/issues/38661 Signed-off-by: Mykola Golub --- src/librbd/api/Image.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/librbd/api/Image.cc b/src/librbd/api/Image.cc index 48bec35da0c..13c5a90d8c5 100644 --- a/src/librbd/api/Image.cc +++ b/src/librbd/api/Image.cc @@ -520,6 +520,12 @@ int Image::deep_copy(I *src, librados::IoCtx& dest_md_ctx, uint64_t src_size; { RWLock::RLocker snap_locker(src->snap_lock); + + if (!src->migration_info.empty()) { + lderr(cct) << "cannot deep copy migrating image" << dendl; + return -EBUSY; + } + features = (src->features & ~RBD_FEATURES_IMPLICIT_ENABLE); src_size = src->get_image_size(src->snap_id); } -- 2.39.5