From: Sage Weil Date: Sun, 21 Jan 2018 20:19:01 +0000 (-0600) Subject: osd/SnapMapper: clean up broken snapmapper entry if present X-Git-Tag: v12.2.5~75^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6655f48cc9aabb6aec5882579fc6ffd56657c754;p=ceph.git osd/SnapMapper: clean up broken snapmapper entry if present Better to clean up than to crash the OSD. Signed-off-by: Sage Weil (cherry picked from commit fc378a0dc2aafbeee44871a304717b916a3f9f88) --- diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index 81c5485100452..c88b7ea1565b6 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -243,7 +243,12 @@ void SnapMapper::add_oid( { object_snaps out; int r = get_snaps(oid, &out); - assert(r == -ENOENT); + if (r != -ENOENT) { + derr << __func__ << " found existing snaps mapped on " << oid + << ", removing" << dendl; + assert(!cct->_conf->osd_debug_verify_snaps); + remove_oid(oid, t); + } } object_snaps _snaps(oid, snaps);