From patchwork Mon Nov 19 02:43:43 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yan, Zheng" X-Patchwork-Id: 1762221 Return-Path: X-Original-To: patchwork-ceph-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id AF9943FCDE for ; Mon, 19 Nov 2012 02:44:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752971Ab2KSCoE (ORCPT ); Sun, 18 Nov 2012 21:44:04 -0500 Received: from mga11.intel.com ([192.55.52.93]:23714 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752929Ab2KSCoD (ORCPT ); Sun, 18 Nov 2012 21:44:03 -0500 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 18 Nov 2012 18:44:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.83,275,1352102400"; d="scan'208";a="251134117" Received: from zyan5-mobl.sh.intel.com ([10.239.36.18]) by fmsmga002.fm.intel.com with ESMTP; 18 Nov 2012 18:44:02 -0800 From: "Yan, Zheng" To: ceph-devel@vger.kernel.org, sage@inktank.com Cc: "Yan, Zheng" Subject: [PATCH 11/16] mds: consider revoking caps in imported caps as issued Date: Mon, 19 Nov 2012 10:43:43 +0800 Message-Id: <1353293028-15238-12-git-send-email-zheng.z.yan@intel.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1353293028-15238-1-git-send-email-zheng.z.yan@intel.com> References: <1353293028-15238-1-git-send-email-zheng.z.yan@intel.com> Sender: ceph-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: ceph-devel@vger.kernel.org From: "Yan, Zheng" The clients may already send caps release message to the exporting MDS, so the importing MDS waits for the release message forever. consider revoking caps as issued can avoid this issue. Signed-off-by: Yan, Zheng --- src/mds/Capability.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mds/Capability.h b/src/mds/Capability.h index f374328..6fe67f4 100644 --- a/src/mds/Capability.h +++ b/src/mds/Capability.h @@ -297,7 +297,8 @@ public: int newpending = other.pending | pending(); if (other.issued & ~newpending) issue(other.issued | newpending); - issue(newpending); + else + issue(newpending); last_issue_stamp = other.last_issue_stamp; client_follows = other.client_follows; @@ -311,7 +312,8 @@ public: int newpending = pending(); if (otherissued & ~newpending) issue(otherissued | newpending); - issue(newpending); + else + issue(newpending); // wanted _wanted = _wanted | otherwanted;