From f9145f9ef1b30339501e2771ff78ce54d62d733f Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Wed, 15 Jun 2016 16:27:24 +0800 Subject: [PATCH] server: drop locks and auth pins before waiting for trunc Signed-off-by: xie xingguo --- src/mds/Server.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index e7ef6251d84..aa6219246e0 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3750,6 +3750,8 @@ void Server::handle_client_setattr(MDRequestRef& mdr) if (truncating_smaller && 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)); mds->mdlog->flush(); return; -- 2.47.3