]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't suppress cap on eval following do_cap_update
authorSage Weil <sage@newdream.net>
Mon, 13 Sep 2010 19:52:29 +0000 (12:52 -0700)
committerSage Weil <sage@newdream.net>
Mon, 13 Sep 2010 19:52:29 +0000 (12:52 -0700)
Case in point:
 - client updates wanted, and writes back data.
 - do_cap_update journals something
 - suppress
 - eval issues wanted caps
 - unsuppress
 - do_cap_update does flush

I think this is just old code.  What does the flush_ack have to do with
what eval() does here?  They're unrelated!

src/mds/Locker.cc

index 7f393a93cb425a779bd9495a81c590fa75583de1..91aa2a4918d01a3fa9ca5e3aa2e1278936f5102c 100644 (file)
@@ -1944,10 +1944,8 @@ void Locker::handle_client_caps(MClientCaps *m)
       
     if (in->is_auth() &&
        _do_cap_update(in, cap, m->get_dirty(), follows, m, ack)) {
-      // updated, cap msg is delayed
-      cap->inc_suppress();
+      // updated
       eval(in, CEPH_CAP_LOCKS);
-      cap->dec_suppress();
       
       if (cap->wanted() & ~cap->pending())
        mds->mdlog->flush();