summaryrefslogtreecommitdiffstats
path: root/net
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 /net
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>
Diffstat (limited to '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;