}
in_seq++;
- if (in_seq != m->get_seq()) {
+ if (in_seq == 1)
+ policy = rank.policy_map[m->get_source().type()]; /* apply policy */
+
+ if (!policy.is_lossy() && in_seq != m->get_seq()) {
dout(0) << "reader got bad seq " << m->get_seq() << " expected " << in_seq
<< " for " << *m << " from " << m->get_source() << dendl;
derr(0) << "reader got bad seq " << m->get_seq() << " expected " << in_seq
continue;
}
- if (in_seq == 1)
- policy = rank.policy_map[m->get_source().type()]; /* apply policy */
-
cond.Signal(); // wake up writer, to ack this
lock.Unlock();