From 367987faff66ff9de98a8d1e004a14698eec68d5 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 26 Mar 2014 14:28:26 +0800 Subject: [PATCH] mds: don't increase nlink when rollback stray reintegration Signed-off-by: Yan, Zheng --- src/mds/Server.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 19fc9140f035d..d2a43c8583292 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -7061,7 +7061,14 @@ void Server::do_rename_rollback(bufferlist &rbl, int master, MDRequest *mdr, ti = target->get_projected_inode(); if (ti->ctime == rollback.ctime) ti->ctime = rollback.orig_dest.old_ctime; - ti->nlink++; + if (MDS_INO_IS_STRAY(rollback.orig_src.dirfrag.ino)) { + if (MDS_INO_IS_STRAY(rollback.orig_dest.dirfrag.ino)) + assert(!rollback.orig_dest.ino && !rollback.orig_dest.remote_ino); + else + assert(rollback.orig_dest.remote_ino && + rollback.orig_dest.remote_ino == rollback.orig_src.ino); + } else + ti->nlink++; } if (srcdn) -- 2.39.5