summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2012-11-19 10:43:43 +0800
committerSage Weil <sage@inktank.com>2012-12-01 12:52:23 -0800
commit3fa2582b0b4164320180462a57115d2a2d1c4deb (patch)
treea89bd40c83c80b3f9a570485b213fcaf7f032754
parent4cd8ea927e4fb00fac2c92553e0ce9494b248d2a (diff)
downloadceph-3fa2582b0b4164320180462a57115d2a2d1c4deb.tar.gz
mds: consider revoking caps in imported caps as issued
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 <zheng.z.yan@intel.com>
-rw-r--r--src/mds/Capability.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mds/Capability.h b/src/mds/Capability.h
index f3743281c90..6fe67f45b1d 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;