Commit 0656d11b authored by Sage Weil's avatar Sage Weil
Browse files

ceph: renew mon subscription before it expires



Be conservative: renew subscription once half the interval has expired.

Do not reuse sub expiration to control hunting.

Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent e251e288
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ static void handle_subscribe_ack(struct ceph_mon_client *monc,
		monc->hunting = false;
	}
	dout("handle_subscribe_ack after %d seconds\n", seconds);
	monc->sub_renew_after = monc->sub_sent + seconds*HZ - 1;
	monc->sub_renew_after = monc->sub_sent + (seconds >> 1)*HZ - 1;
	monc->sub_sent = 0;
	mutex_unlock(&monc->mutex);
	return;
@@ -512,7 +512,7 @@ static void delayed_work(struct work_struct *work)
	if (monc->want_mount) {
		__request_mount(monc);
	} else {
		if (__sub_expired(monc)) {
		if (monc->hunting) {
			__close_session(monc);
			__open_session(monc);  /* continue hunting */
		} else {