[Drbd-dev] [CASE-41] After re-connected, despite of OOS remaining primary does not start re-synchronization or continues AHEAD mode.

Jaeheon Kim jhkim at mantech.co.kr
Thu Apr 21 16:01:56 CEST 2016


Hi,

We wrote some temporary solution to avoid "continues AHEAD mode problem".
We cleared AHEAD_TO_SYNC_SOURCE and forced drbd_uuid_new_current
at conn_disconnect.

Please check following codes;


1. drbd_disconnected()
{

 .....

drbd_md_sync(device);

if (get_ldev(device)) {
    drbd_bitmap_io(device, &drbd_bm_write_copy_pages, "write from
disconnected",
                 BM_LOCK_BULK | BM_LOCK_SINGLE_SLOT, peer_device);
    put_ldev(device);
}

#ifdef _WIN32_V9 // temporary patch (clear AHEAD_TO_SYNC_SOURCE flag)
clear_bit(AHEAD_TO_SYNC_SOURCE, &device->flags); //  Windows DRBD
#endif

}



2. conn_disconnect()
{

... at the end of this function.

#ifdef _WIN32_V9 // (don't create uuid when primary is
drbdadm-disconnected) temporary patch

 if( (resource->role[NOW] == R_PRIMARY)
 {
        test_and_clear_bit(NEW_CUR_UUID, &device->flags);
        mutex_lock(&resource->conf_update);
        drbd_uuid_new_current(device, false);
        mutex_unlock(&resource->conf_update);
 }
#endif

}

What do you think about this idea?

But we have no idea to resolve "OOS remaining problem" yet.
Please check "despite of OOS remaining primary does not start
re-synchronization" problem.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-dev/attachments/20160421/44a846b8/attachment.htm>


More information about the drbd-dev mailing list