From: xie xingguo Date: Wed, 15 Jun 2016 09:39:00 +0000 (+0800) Subject: Server: drop locks and auth pins if wait for pending truncate X-Git-Tag: ses5-milestone5~309^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8fbefddd36d08dfb77db9a13dcac6bd6106e9599;p=ceph.git Server: drop locks and auth pins if wait for pending truncate Signed-off-by: xie xingguo --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index e7ef6251d844..a62ff2816d87 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2977,6 +2977,8 @@ void Server::handle_client_open(MDRequestRef& mdr) if (pi->is_truncating()) { dout(10) << " waiting for pending truncate from " << pi->truncate_from << " to " << pi->truncate_size << " to complete on " << *cur << dendl; + mds->locker->drop_locks(mdr.get()); + mdr->drop_local_auth_pins(); cur->add_waiter(CInode::WAIT_TRUNC, new C_MDS_RetryRequest(mdcache, mdr)); return; }