From 6cd044acdfec5d208e8932202d17e29b1e4da946 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 19 Dec 2014 15:30:48 +0800 Subject: [PATCH] mds: properly project past snaprealm parent while renaming files Signed-off-by: Yan, Zheng --- src/mds/Server.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 0ef3fea243e..3af913259ad 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -6401,7 +6401,7 @@ void Server::_rename_prepare(MDRequestRef& mdr, if (destdnl->is_primary()) { if (destdn->is_auth()) { // project snaprealm, too - if (oldin->snaprealm || src_realm->get_newest_seq() + 1 > srcdn->first) + if (oldin->snaprealm || dest_realm->get_newest_seq() + 1 > destdn->first) oldin->project_past_snaprealm_parent(straydn->get_dir()->inode->find_snaprealm()); straydn->first = MAX(oldin->first, next_dest_snap); metablob->add_primary_dentry(straydn, oldin, true, true); @@ -6447,7 +6447,7 @@ void Server::_rename_prepare(MDRequestRef& mdr, } } else if (srcdnl->is_primary()) { // project snap parent update? - if (destdn->is_auth() && + if (destdn->is_auth() && src_realm != dest_realm && (srci->snaprealm || src_realm->get_newest_seq() + 1 > srcdn->first)) srci->project_past_snaprealm_parent(dest_realm); -- 2.47.3