]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: update cap->implemented when handling revoke
authorYan, Zheng <zheng.z.yan@intel.com>
Fri, 29 Mar 2013 18:23:27 +0000 (11:23 -0700)
committerNoah Watkins <noahwatkins@gmail.com>
Fri, 29 Mar 2013 18:26:01 +0000 (11:26 -0700)
Fixes #4578

Tested-by: Noah Watkins <noahwatkins@gmail.com>
src/client/Client.cc

index 58ae234842868eeea140b4cb57499e7e150f0143..c24d3e773e3045d28c6fa615f62e1850dcfc982f 100644 (file)
@@ -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);