From: Jason Dillaman Date: Sat, 12 Mar 2016 20:43:46 +0000 (-0500) Subject: rbd-mirror: temporarily disable support for cloned images X-Git-Tag: v10.1.0~104^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9465d3b5d764770b9c12e0c886629260232050c8;p=ceph.git rbd-mirror: temporarily disable support for cloned images Signed-off-by: Jason Dillaman --- diff --git a/src/tools/rbd_mirror/image_sync/SnapshotCopyRequest.cc b/src/tools/rbd_mirror/image_sync/SnapshotCopyRequest.cc index ca631cf1a3e6..63202bcc7a00 100644 --- a/src/tools/rbd_mirror/image_sync/SnapshotCopyRequest.cc +++ b/src/tools/rbd_mirror/image_sync/SnapshotCopyRequest.cc @@ -63,6 +63,22 @@ void SnapshotCopyRequest::send() { template void SnapshotCopyRequest::send_snap_remove() { + CephContext *cct = m_local_image_ctx->cct; + // TODO: issue #14937 needs to add support for cloned images + { + RWLock::RLocker snap_locker(m_remote_image_ctx->snap_lock); + if (m_remote_image_ctx->parent_md.spec.pool_id != -1 || + std::find_if(m_remote_image_ctx->snap_info.begin(), + m_remote_image_ctx->snap_info.end(), + [](const std::pair& pair) { + return pair.second.parent.spec.pool_id != -1; + }) != m_remote_image_ctx->snap_info.end()) { + lderr(cct) << "cloned images are not currentl supported" << dendl; + finish(-EINVAL); + return; + } + } + librados::snap_t local_snap_id = CEPH_NOSNAP; while (local_snap_id == CEPH_NOSNAP && !m_local_snap_ids.empty()) { librados::snap_t snap_id = *m_local_snap_ids.begin(); @@ -85,7 +101,6 @@ void SnapshotCopyRequest::send_snap_remove() { m_snap_name = get_snapshot_name(m_local_image_ctx, local_snap_id); - CephContext *cct = m_local_image_ctx->cct; ldout(cct, 20) << ": " << "snap_name=" << m_snap_name << ", " << "snap_id=" << local_snap_id << dendl;