Skip to content

Commit

Permalink
ceph: renew mon subscription before it expires
Browse files Browse the repository at this point in the history
Be conservative: renew subscription once half the interval has expired.

Do not reuse sub expiration to control hunting.

Signed-off-by: Sage Weil <sage@newdream.net>
  • Loading branch information
Sage Weil committed Oct 8, 2009
1 parent e251e28 commit 0656d11
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/ceph/mon_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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 {
Expand Down

0 comments on commit 0656d11

Please sign in to comment.