Page MenuHomeFreeBSD

Fix carp being unable to recover from demotion due to send errors
ClosedPublic

Authored by marius.h_lden.org on Dec 17 2021, 6:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 2, 7:29 PM
Unknown Object (File)
Wed, May 1, 8:47 AM
Unknown Object (File)
Fri, Apr 26, 3:01 AM
Unknown Object (File)
Fri, Apr 26, 3:00 AM
Unknown Object (File)
Fri, Apr 26, 3:00 AM
Unknown Object (File)
Thu, Apr 25, 8:57 PM
Unknown Object (File)
Fri, Apr 5, 7:22 AM
Unknown Object (File)
Jan 15 2024, 6:45 AM

Details

Summary

When carp becomes demoted due to send errors it's supposed to recover and decrement the demotion counter after a certain number of successful sends. This was not working as the send error counter which is doubling as a flag for demotion was reset on the first successful send without taking its value into account. Due to this the code which would actually decrement the demotion counter would never be run.

Test Plan

Test case attached to bug 260499

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable