From: Yan, Zheng Date: Fri, 29 Mar 2013 18:23:27 +0000 (-0700) Subject: client: update cap->implemented when handling revoke X-Git-Tag: v0.62~138 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3cbd0366b7411f1a392128de71da72ec7b7067a8;p=ceph.git client: update cap->implemented when handling revoke Fixes #4578 Tested-by: Noah Watkins --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 58ae2348428..c24d3e773e3 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -3567,6 +3567,7 @@ void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, MClient if (old_caps & ~new_caps) { ldout(cct, 10) << " revocation of " << ccap_string(~new_caps & old_caps) << dendl; cap->issued = new_caps; + cap->implemented |= new_caps; if ((~cap->issued & old_caps) & CEPH_CAP_FILE_CACHE) _release(in);