From: "Yan, Zheng" <zheng.z.yan@xxxxxxxxx> Opening remote dentry while holding locks may cause dead lock. For example, 'discover' is blocked by a xlocked dentry, the request holding the xlock is blocked by the locks hold by the readdir request. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> --- src/mds/Server.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 119af98..2531005 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2901,6 +2901,8 @@ void Server::handle_client_readdir(MDRequest *mdr) break; } + mds->locker->drop_locks(mdr); + mdr->drop_local_auth_pins(); mdcache->open_remote_dentry(dn, dnp, new C_MDS_RetryRequest(mdcache, mdr)); return; } -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html