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)
Tue, Aug 5, 9:20 PM
Unknown Object (File)
Sat, Aug 2, 2:39 PM
Unknown Object (File)
Mon, Jul 28, 3:59 AM
Unknown Object (File)
Jul 18 2025, 11:52 AM
Unknown Object (File)
Jul 13 2025, 12:42 PM
Unknown Object (File)
Jul 9 2025, 12:52 AM
Unknown Object (File)
Jul 7 2025, 11:49 AM
Unknown Object (File)
Jun 30 2025, 4:16 PM

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 Skipped
Unit
Tests Skipped