From b22db12390509757c56b19a81dcefca3a3db8fbc Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Sat, 7 Jul 2018 21:33:43 -0400 Subject: [PATCH] context: log dedups with single unbroken log message When BEESLOGINFO is called multiple times it generates separate log records that can be mixed up when multiple threads dedup. Use a single BEESLOGINFO call for each dedup to prevent this. Signed-off-by: Zygo Blaxell --- src/bees-context.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bees-context.cc b/src/bees-context.cc index a6d3ba7..231da5d 100644 --- a/src/bees-context.cc +++ b/src/bees-context.cc @@ -183,8 +183,8 @@ BeesContext::dedup(const BeesRangePair &brp) BeesAddress first_addr(brp.first.fd(), brp.first.begin()); BeesAddress second_addr(brp.second.fd(), brp.second.begin()); - BEESLOGINFO("dedup: src " << pretty(brp.first.size()) << " [" << to_hex(brp.first.begin()) << ".." << to_hex(brp.first.end()) << "] {" << first_addr << "} " << name_fd(brp.first.fd())); - BEESLOGINFO(" dst " << pretty(brp.second.size()) << " [" << to_hex(brp.second.begin()) << ".." << to_hex(brp.second.end()) << "] {" << second_addr << "} " << name_fd(brp.second.fd())); + BEESLOGINFO("dedup: src " << pretty(brp.first.size()) << " [" << to_hex(brp.first.begin()) << ".." << to_hex(brp.first.end()) << "] {" << first_addr << "} " << name_fd(brp.first.fd()) << "\n" + << " dst " << pretty(brp.second.size()) << " [" << to_hex(brp.second.begin()) << ".." << to_hex(brp.second.end()) << "] {" << second_addr << "} " << name_fd(brp.second.fd())); if (first_addr.get_physical_or_zero() == second_addr.get_physical_or_zero()) { BEESLOGTRACE("equal physical addresses in dedup");