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!
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();