From: Josh Durgin Date: Thu, 12 Feb 2015 23:57:12 +0000 (-0800) Subject: Merge remote-tracking branch 'origin/wip-10785' into hammer X-Git-Tag: v0.93~19^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=161d3982a9285c47c37acc8ed8b7bbf44c97ffb9;p=ceph.git Merge remote-tracking branch 'origin/wip-10785' into hammer Reviewed-by: Josh Durgin Conflicts: src/librbd/ImageWatcher.cc --- 161d3982a9285c47c37acc8ed8b7bbf44c97ffb9 diff --cc src/librbd/ImageWatcher.cc index 3d55b5e71973,30e0a1961851..60b4756affa8 --- a/src/librbd/ImageWatcher.cc +++ b/src/librbd/ImageWatcher.cc @@@ -184,21 -184,7 +184,21 @@@ int ImageWatcher::try_lock() } } + md_config_t *conf = m_image_ctx.cct->_conf; + if (conf->rbd_blacklist_on_break_lock) { + ldout(m_image_ctx.cct, 1) << "blacklisting client: " << locker << "@" + << locker_address << dendl; + librados::Rados rados(m_image_ctx.md_ctx); + r = rados.blacklist_add(locker_address, + conf->rbd_blacklist_expire_seconds); + if (r < 0) { + lderr(m_image_ctx.cct) << "unable to blacklist client: " + << cpp_strerror(r) << dendl; + return r; + } + } + - ldout(m_image_ctx.cct, 1) << "breaking exclusive lock: " << locker << dendl; + ldout(m_image_ctx.cct, 5) << "breaking exclusive lock: " << locker << dendl; r = rados::cls::lock::break_lock(&m_image_ctx.md_ctx, m_image_ctx.header_oid, RBD_LOCK_NAME, locker_cookie, locker);