All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yan, Zheng" <zheng.z.yan@intel.com>
To: ceph-devel@vger.kernel.org, sage@inktank.com
Cc: "Yan, Zheng" <zheng.z.yan@intel.com>
Subject: [PATCH 07/29] mds: don't trim ambiguous imports in MDCache::trim_non_auth_subtree
Date: Fri,  4 Jan 2013 17:01:58 +0800	[thread overview]
Message-ID: <1357290140-17044-8-git-send-email-zheng.z.yan@intel.com> (raw)
In-Reply-To: <1357290140-17044-1-git-send-email-zheng.z.yan@intel.com>

From: "Yan, Zheng" <zheng.z.yan@intel.com>

Trimming ambiguous imports in MDCache::trim_non_auth_subtree() confuses
MDCache::disambiguate_imports() and causes infinite loop.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
---
 src/mds/MDCache.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc
index 5014b5d..da0c7f1 100644
--- a/src/mds/MDCache.cc
+++ b/src/mds/MDCache.cc
@@ -5802,7 +5802,7 @@ bool MDCache::trim_non_auth_subtree(CDir *dir)
         for (list<CDir*>::iterator subdir = subdirs.begin();
             subdir != subdirs.end();
             ++subdir) {
-          if ((*subdir)->is_subtree_root()) {
+          if ((*subdir)->is_subtree_root() || my_ambiguous_imports.count((*subdir)->dirfrag())) {
             keep_inode = true;
             dout(10) << "trim_non_auth_subtree(" << dir << ") subdir " << *subdir << "is kept!" << dendl;
           }
-- 
1.7.11.7


  parent reply	other threads:[~2013-01-04  9:02 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-04  9:01 [PATCH 00/29] Various fixes for MDS Yan, Zheng
2013-01-04  9:01 ` [PATCH 01/29] mds: don't renew revoking lease Yan, Zheng
2013-01-04  9:01 ` [PATCH 02/29] mds: fix Locker::simple_eval() Yan, Zheng
2013-01-04  9:01 ` [PATCH 03/29] mds: don't trigger assertion when discover races with rename Yan, Zheng
2013-01-04  9:01 ` [PATCH 04/29] mds: xlock stray dentry when handling rename or unlink Yan, Zheng
2013-01-04  9:01 ` [PATCH 05/29] mds: don't journal null dentry for overwrited remote linkage Yan, Zheng
2013-01-04  9:01 ` [PATCH 06/29] mds: use null dentry to find old parent of renamed directory Yan, Zheng
2013-01-04  9:01 ` Yan, Zheng [this message]
2013-01-04  9:01 ` [PATCH 08/29] mds: only export directory fragments in stray to their auth MDS Yan, Zheng
2013-01-04  9:02 ` [PATCH 09/29] mds: mark rename inode as ambiguous auth on all involved MDS Yan, Zheng
2013-01-04  9:02 ` [PATCH 10/29] mds: skip frozen inode when assimilating dirty inodes' rstat Yan, Zheng
2013-01-04  9:02 ` [PATCH 11/29] mds: fix anchor table commit race Yan, Zheng
2013-01-04  9:02 ` [PATCH 12/29] mds: fix on-going two phrase commits tracking Yan, Zheng
2013-01-04  9:02 ` [PATCH 13/29] mds: indroduce DROPLOCKS slave request Yan, Zheng
2013-01-04  9:02 ` [PATCH 14/29] mds: fix lock state transition check Yan, Zheng
2013-01-04  9:02 ` [PATCH 15/29] mds: remove unnecessary is_xlocked check Yan, Zheng
2013-01-04  9:02 ` [PATCH 16/29] mds: don't defer processing caps if inode is auth pinned Yan, Zheng
2013-01-04  9:02 ` [PATCH 17/29] mds: call maybe_eval_stray after removing a replica dentry Yan, Zheng
2013-01-04  9:02 ` [PATCH 18/29] mds: fix rename inode exportor check Yan, Zheng
2013-01-04  9:02 ` [PATCH 19/29] mds: disable concurrent remote locking Yan, Zheng
2013-01-04  9:02 ` [PATCH 20/29] mds: forbid creating file in deleted directory Yan, Zheng
2013-01-04  9:02 ` [PATCH 21/29] mds: keep dentry lock in sync state as much as possible Yan, Zheng
2013-01-04  9:02 ` [PATCH 22/29] mds: fix replica state for LOCK_MIX_LOCK Yan, Zheng
2013-01-04  9:02 ` [PATCH 23/29] mds: fix cap mask for ifile lock Yan, Zheng
2013-01-04  9:02 ` [PATCH 24/29] mds: rdlock prepended dest trace when handling rename Yan, Zheng
2013-01-04  9:02 ` [PATCH 25/29] mds: check null context in CDir::fetch() Yan, Zheng
2013-01-04  9:02 ` [PATCH 26/29] mds: drop locks when opening remote dentry Yan, Zheng
2013-01-04  9:02 ` [PATCH 27/29] mds: check if stray dentry is needed Yan, Zheng
2013-01-04  9:02 ` [PATCH 28/29] mds: don't issue caps while inode is exporting caps Yan, Zheng
2013-01-04  9:02 ` [PATCH 29/29] mds: optimize C_MDC_RetryOpenRemoteIno Yan, Zheng
2013-01-17  0:28 ` [PATCH 00/29] Various fixes for MDS Sage Weil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1357290140-17044-8-git-send-email-zheng.z.yan@intel.com \
    --to=zheng.z.yan@intel.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=sage@inktank.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.