From 1a6f43763f0289abf4b35a36c12017596e1abe35 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Wed, 6 Apr 2011 17:05:26 -0700 Subject: [PATCH] MDS: Make _rename_apply inode import auth_pinning more intelligent. We don't want auth_pins on the locallocks (they're never auth_pinned) and we only want new auth_pins that are for locks on the inode that we imported -- not for each xlock that the mdr has everywhere (like, say, on the srcdn)! Signed-off-by: Greg Farnum --- src/mds/Server.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index cc9e17341b0f1..4b253226c08c1 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -5353,7 +5353,9 @@ void Server::_rename_apply(MDRequest *mdr, CDentry *srcdn, CDentry *destdn, CDen for (set::iterator i = mdr->xlocks.begin(); i != mdr->xlocks.end(); ++i) - destdnl->get_inode()->auth_pin(*i); + if (!(*i)->is_locallock() && + (*i)->get_parent() == destdnl->get_inode()) + destdnl->get_inode()->auth_pin(*i); } // hack: fix auth bit -- 2.39.5