From 1bc326ec4fff2127c42f8e6beed9a80dc4a72046 Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Sun, 30 Aug 2020 21:20:27 +0200 Subject: [PATCH] main: only active peers shall count for usable features --- kernel/sy_old/mars_main.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kernel/sy_old/mars_main.c b/kernel/sy_old/mars_main.c index be811242..42757243 100644 --- a/kernel/sy_old/mars_main.c +++ b/kernel/sy_old/mars_main.c @@ -3245,12 +3245,15 @@ int _make_peer(struct mars_global *global, struct mars_dent *dent) /* at least one digest must remain usable */ peer->available_mask |= MREF_CHKSUM_MD5_OLD; - _tmp_digest_mask &= peer->available_mask; - _tmp_compression_mask &= peer->available_mask; - if (peer->features_version < _tmp_features_version) - _tmp_features_version = peer->features_version; - if (peer->strategy_version < _tmp_strategy_version) - _tmp_strategy_version = peer->strategy_version; + /* only active peers shall count for usable masks */ + if (peer->do_communicate) { + _tmp_digest_mask &= peer->available_mask; + _tmp_compression_mask &= peer->available_mask; + if (peer->features_version < _tmp_features_version) + _tmp_features_version = peer->features_version; + if (peer->strategy_version < _tmp_strategy_version) + _tmp_strategy_version = peer->strategy_version; + } // create or stop communication thread when necessary if (peer->do_communicate | peer->do_additional) {