Project

General

Profile

Bug #10546

Updated by Loïc Dachary about 9 years ago

HI all,

My ceph cluster report clock skew even after time syncing 30min ago, so i'm digging in the src code of ceph0.80.6,
i think the following code in void Monitor::timecheck_start_round() in monitor.cc from line 3160 to 3168 is very strange,

in my opinion, the highligted part should be *curr_time - timecheck_round_start < max* ,

that is: if time elapsed less than max, then keep current round going, else cancel current round.

double max = g_conf->mon_timecheck_interval*3;
if (*curr_time - timecheck_round_start > max*) {
dout(10) << func << " keep current round going" << dendl;
goto out;
} else {
dout(10) << func
<< " finish current timecheck and start new" << dendl;
timecheck_cancel_round();
}

just my opinion, any reply is welcomed!

thanks very much

* hammer commit:2e749599ac6e1060cf553b521761a93fafbf65bb

Back