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)
Wed, Oct 30, 11:57 PM
Unknown Object (File)
Thu, Oct 24, 10:07 AM
Unknown Object (File)
Oct 9 2024, 12:05 PM
Unknown Object (File)
Sep 30 2024, 1:38 PM
Unknown Object (File)
Sep 27 2024, 2:30 PM
Unknown Object (File)
Sep 19 2024, 11:41 AM
Unknown Object (File)
Sep 18 2024, 4:50 PM
Unknown Object (File)
Sep 18 2024, 7:20 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