From 3541c5448118df710e8c5d00d8c7ad2a900c0cd3 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 24 Apr 2024 10:18:07 +0200 Subject: [PATCH] BUG/MEDIUM: peers: Automatically start to learn on local peer The previous fix (c0b2015aae "BUG/MEDIUM: peers: Don't set PEERS_F_RESYNC_PROCESS flag on a peer") was made due to lack of knowledge on the peers. A local peer, when assigned to learn, must start to learn immediately without sending any request. This happens on reload. Thus, in this case, the PEER_F_LEARN_PROCESS flag must be set with PEER_F_LEARN_ASSIGN flag from the sync task. This patch must only be backported if the above commit is backported. --- src/peers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/peers.c b/src/peers.c index 833106888..55af75853 100644 --- a/src/peers.c +++ b/src/peers.c @@ -3404,7 +3404,7 @@ static void __process_peer_state(struct peers *peers, struct peer *peer) if ((peers->flags & PEERS_RESYNC_STATEMASK) == PEERS_RESYNC_FROMLOCAL && !(peers->flags & PEERS_F_RESYNC_ASSIGN)) { /* assign local peer for a lesson, consider lesson already requested */ - peer->flags |= PEER_F_LEARN_ASSIGN; + peer->flags |= (PEER_F_LEARN_ASSIGN|PEER_F_LEARN_PROCESS); peers->flags |= (PEERS_F_RESYNC_ASSIGN|PEERS_F_RESYNC_PROCESS); peers->flags |= PEERS_F_RESYNC_LOCALASSIGN; }