From: Mykola Golub Date: Wed, 2 Nov 2016 10:43:45 +0000 (+0200) Subject: rbd-mirror: snap protect of non-layered image results in split-brain X-Git-Tag: v10.2.6~36^2~20^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3d27a50cc7801a5c494db7577218dc249e514171;p=ceph.git rbd-mirror: snap protect of non-layered image results in split-brain Fixes: http://tracker.ceph.com/issues/16962 Signed-off-by: Mykola Golub (cherry picked from commit 8e1cc88e068fe57e9bbfa1ebbc6bbf89fb62aaac) --- diff --git a/src/librbd/Operations.cc b/src/librbd/Operations.cc index f3e92a767159..31a503f4d4f1 100644 --- a/src/librbd/Operations.cc +++ b/src/librbd/Operations.cc @@ -951,6 +951,11 @@ int Operations::snap_protect(const char *snap_name) { return -EROFS; } + if (!m_image_ctx.test_features(RBD_FEATURE_LAYERING)) { + lderr(cct) << "image must support layering" << dendl; + return -ENOSYS; + } + int r = m_image_ctx.state->refresh_if_required(); if (r < 0) { return r;