aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-04-02 16:07:19 -0700
committerSage Weil <sage@newdream.net>2010-04-02 16:07:19 -0700
commit0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579 (patch)
tree66013a33ad1f46b258d55289adf12cac463d43f9 /fs/ceph
parent819ccbfa448403992ceafc05d6d7097aaa74d4c3 (diff)
downloadkernel_goldelico_gta04-0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579.zip
kernel_goldelico_gta04-0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579.tar.gz
kernel_goldelico_gta04-0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579.tar.bz2
ceph: fix ack counter reset on connection reset
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>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/messenger.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c
index a32f0f8..f35b494 100644
--- a/fs/ceph/messenger.c
+++ b/fs/ceph/messenger.c
@@ -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;
}
/*