summaryrefslogtreecommitdiffstats
path: root/src/mds
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2012-11-19 03:43:43 +0100
committerSage Weil <sage@inktank.com>2012-12-01 21:52:23 +0100
commit3fa2582b0b4164320180462a57115d2a2d1c4deb (patch)
treea89bd40c83c80b3f9a570485b213fcaf7f032754 /src/mds
parentmds: drop locks if requiring auth pinning new objects. (diff)
downloadceph-3fa2582b0b4164320180462a57115d2a2d1c4deb.tar.xz
ceph-3fa2582b0b4164320180462a57115d2a2d1c4deb.zip
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>
Diffstat (limited to 'src/mds')
-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;