[Drbd-dev] request_timer continuous loop if there is disk-timeout
Lars Ellenberg
lars.ellenberg at linbit.com
Mon Mar 14 11:23:16 CET 2016
On Mon, Mar 14, 2016 at 02:37:21PM +0900, 박경민 wrote:
> I have known more request_timer_fn(). Thanks
>
> I think helper function *time_min_in_future() *function will return the
> nearest future time, right?
> And, next_trigger_time is initialize now value, so always is same.
> void request_timer_fn(unsigned long data)
> {
> if (dt) {
> ...
> if (device->disk_state[NOW] > D_FAILED) {
> next_trigger_time = *time_min_in_future*(now,
> next_trigger_time, oldest_submit_jif + dt); //
> 1st assign
> restart_timer = true;
> }
> ...
> }
> for_each_connection(connection, device->resource) {
> ...
> next_trigger_time = *time_min_in_future*(now,
> next_trigger_time, pre_send_jif + ent); //
> 2nd assign
> ...
> }
> ...
> if (restart_timer) {
> next_trigger_time = *time_min_in_future*(now, next_trigger_time,
> now + et); // 3rd assign
> ...
> }
> }
> Maybe, 3 assignments are always same, because now == next_trigger_time,
> which is the nearest. So, if restart_timer 's value is true, then
> loop continuously even dt or ent exists.
No.
> I don't know how to put the different thing.
Me neither.
Also, you have seen this?
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of drbd-dev digest..."
More information about the drbd-dev
mailing list