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 04/16] mds: allow try_eval to eval unstable locks in freezing object
Date: Mon, 19 Nov 2012 10:43:36 +0800	[thread overview]
Message-ID: <1353293028-15238-5-git-send-email-zheng.z.yan@intel.com> (raw)
In-Reply-To: <1353293028-15238-1-git-send-email-zheng.z.yan@intel.com>

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

Unstable locks hold auth_pins on the object, it prevents the freezing
object become frozen and then unfreeze. So try_eval() should not wait
for freezing object

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

diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc
index c29ac34..7d55940 100644
--- a/src/mds/Locker.cc
+++ b/src/mds/Locker.cc
@@ -845,8 +845,8 @@ void Locker::try_eval(MDSCacheObject *p, int mask)
     return;
   }
 
-  if (p->is_auth() && !p->can_auth_pin()) {
-    dout(7) << "try_eval can't auth_pin, waiting on " << *p << dendl;
+  if (p->is_auth() && p->is_frozen()) {
+    dout(7) << "try_eval frozen, waiting on " << *p << dendl;
     p->add_waiter(MDSCacheObject::WAIT_UNFREEZE, new C_Locker_Eval(this, p, mask));
     return;
   }
-- 
1.7.11.7


  parent reply	other threads:[~2012-11-19  2:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-19  2:43 [PATCH 00/16] Various fixes for mds Yan, Zheng
2012-11-19  2:43 ` [PATCH 01/16] mds: don't expire log segment before it's fully flushed Yan, Zheng
2012-11-19  2:43 ` [PATCH 02/16] mds: fix anchor table update Yan, Zheng
2012-11-19  2:43 ` [PATCH 03/16] mds: don't add not issued caps when confirming cap receipt Yan, Zheng
2012-11-19  2:43 ` Yan, Zheng [this message]
2012-11-19  2:43 ` [PATCH 05/16] mds: Don't acquire replica object's versionlock Yan, Zheng
2012-11-19  2:43 ` [PATCH 06/16] mds: clear lock flushed if replica is waiting for AC_LOCKFLUSHED Yan, Zheng
2012-11-19  2:43 ` [PATCH 07/16] mds: call eval() after caps are exported Yan, Zheng
2012-11-19  2:43 ` [PATCH 08/16] mds: don't forward client request from MDS Yan, Zheng
2012-11-19  2:43 ` [PATCH 09/16] mds: check parent inode's versionlock when propagating rstats Yan, Zheng
2012-11-19  2:43 ` [PATCH 10/16] mds: drop locks if requiring auth pinning new objects Yan, Zheng
2012-11-19  2:43 ` [PATCH 11/16] mds: consider revoking caps in imported caps as issued Yan, Zheng
2012-11-19  2:43 ` [PATCH 12/16] mds: fix open_remote_inode race Yan, Zheng
2012-11-19  2:43 ` [PATCH 13/16] mds: fix assertion in handle_cache_expire Yan, Zheng
2012-11-19  2:43 ` [PATCH 14/16] mds: fix freeze inode deadlock Yan, Zheng
2012-11-19  2:43 ` [PATCH 15/16] mds: allow open_remote_ino() to open xlocked dentry Yan, Zheng
2012-11-19  2:43 ` [PATCH 16/16] mds: use rdlock_try() when checking NULL dentry Yan, Zheng

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=1353293028-15238-5-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.