From c94a2c429e0a08e89248cf457cffacfde34d977a Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 23 Dec 2016 19:12:18 +0800 Subject: [PATCH] mds: cleanup Server::rdlock_path_xlock_dentry Signed-off-by: Yan, Zheng --- src/mds/Server.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 1e8f4177711..88ded97796f 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2661,13 +2661,14 @@ CDentry* Server::rdlock_path_xlock_dentry(MDRequestRef& mdr, int n, } mdr->dn[n].push_back(dn); - mdr->in[n] = dn->get_projected_linkage()->get_inode(); + CDentry::linkage_t *dnl = dn->get_linkage(client, mdr); + mdr->in[n] = dnl->get_inode(); // -- lock -- // NOTE: rename takes the same set of locks for srcdn for (int i=0; i<(int)mdr->dn[n].size(); i++) rdlocks.insert(&mdr->dn[n][i]->lock); - if (alwaysxlock || dn->get_linkage(client, mdr)->is_null()) + if (alwaysxlock || dnl->is_null()) xlocks.insert(&dn->lock); // new dn, xlock else rdlocks.insert(&dn->lock); // existing dn, rdlock -- 2.47.3