From 1dd597b1587b57a4e72edc258639db356818b8fa Mon Sep 17 00:00:00 2001 From: songweibin Date: Mon, 28 Aug 2017 16:50:58 +0800 Subject: [PATCH] librbd: cannot set self as remote peer Signed-off-by: songweibin --- src/librbd/api/Mirror.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/librbd/api/Mirror.cc b/src/librbd/api/Mirror.cc index 8661e7a73a3..5b63e0f83c0 100644 --- a/src/librbd/api/Mirror.cc +++ b/src/librbd/api/Mirror.cc @@ -765,6 +765,11 @@ int Mirror::peer_set_cluster(librados::IoCtx& io_ctx, ldout(cct, 20) << "uuid=" << uuid << ", " << "cluster=" << cluster_name << dendl; + if (cct->_conf->cluster == cluster_name) { + lderr(cct) << "cannot set self as remote peer" << dendl; + return -EINVAL; + } + int r = cls_client::mirror_peer_set_cluster(&io_ctx, uuid, cluster_name); if (r < 0) { lderr(cct) << "failed to update cluster '" << uuid << "': " -- 2.47.3