]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: add flushing inode to proper list when auth mds changes
authorYan, Zheng <zheng.z.yan@intel.com>
Fri, 21 Feb 2014 05:32:21 +0000 (13:32 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Sat, 1 Mar 2014 05:04:07 +0000 (13:04 +0800)
add flushing inode to the new auth MDS' flushing caps list

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/client/Client.cc

index b243ca1e7164fc48f064ba8669de7d3509854337..5d2bd56ce2162149097c21e8fd2d57f11370488d 100644 (file)
@@ -2926,8 +2926,9 @@ void Client::add_update_cap(Inode *in, MetaSession *mds_session, uint64_t cap_id
     if (in->auth_cap != cap &&
         (!in->auth_cap || ceph_seq_cmp(in->auth_cap->mseq, mseq) < 0)) {
       if (in->auth_cap && in->flushing_cap_item.is_on_list()) {
-       ldout(cct, 10) << "add_update_cap changing auth cap: removing myself from flush_caps list" << dendl;
-       in->flushing_cap_item.remove_myself();
+       ldout(cct, 10) << "add_update_cap changing auth cap: "
+                      << "add myself to new auth MDS' flushing caps list" << dendl;
+       mds_session->flushing_caps.push_back(&in->flushing_cap_item);
       }
       in->auth_cap = cap;
     }