ceph: fix ack counter reset on connection reset
authorSage Weil <sage@newdream.net>
Fri, 2 Apr 2010 23:07:19 +0000 (16:07 -0700)
committerSage Weil <sage@newdream.net>
Fri, 2 Apr 2010 23:07:19 +0000 (16:07 -0700)
If in_seq_acked isn't reset along with in_seq, we don't ack received
messages until we reach the old count, consuming gobs memory on the other
end of the connection and introducing a large delay when those messages
are eventually deleted.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/messenger.c

index a32f0f896d9f3c8d29b6d5758df000ae556b8683..f35b4945a9c3a322090c427d118a13e4dd9d1a8a 100644 (file)
@@ -332,6 +332,7 @@ static void reset_connection(struct ceph_connection *con)
                con->out_msg = NULL;
        }
        con->in_seq = 0;
+       con->in_seq_acked = 0;
 }
 
 /*