]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: relax seq checking on lossy channels (incomplete fix)
authorSage Weil <sage@newdream.net>
Tue, 9 Sep 2008 23:11:30 +0000 (16:11 -0700)
committerSage Weil <sage@newdream.net>
Tue, 9 Sep 2008 23:11:34 +0000 (16:11 -0700)
src/msg/SimpleMessenger.cc

index d63ad532e8f401971099c2b33699bcb7583b10d4..21f30f32dd6dd49c3cea57c1d3fe442653d52e4b 100644 (file)
@@ -1423,7 +1423,10 @@ void Rank::Pipe::reader()
       }
       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
@@ -1434,9 +1437,6 @@ void Rank::Pipe::reader()
        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();