summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-03-03 21:14:53 +0100
committerSage Weil <sage@newdream.net>2011-03-03 22:47:40 +0100
commit692d20f576fb26f62c83f80dbf3ea899998391b7 (patch)
tree91b3d1984b2986ea99c2b208de6dc65f1a74c701
parentlibceph: fix handling of short returns from get_user_pages (diff)
downloadlinux-692d20f576fb26f62c83f80dbf3ea899998391b7.tar.xz
linux-692d20f576fb26f62c83f80dbf3ea899998391b7.zip
libceph: retry after authorization failure
If we mark the connection CLOSED we will give up trying to reconnect to this server instance. That is appropriate for things like a protocol version mismatch that won't change until the server is restarted, at which point we'll get a new addr and reconnect. An authorization failure like this is probably due to the server not properly rotating it's secret keys, however, and should be treated as transient so that the normal backoff and retry behavior kicks in. Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--net/ceph/messenger.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 35b36b86d762..6bd5025f6220 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -1248,8 +1248,6 @@ static int process_connect(struct ceph_connection *con)
con->auth_retry);
if (con->auth_retry == 2) {
con->error_msg = "connect authorization failure";
- reset_connection(con);
- set_bit(CLOSED, &con->state);
return -1;
}
con->auth_retry = 1;