Bug #50707
Updated by Kefu Chai almost 3 years ago
files_high_water is defined as uint64_t but when compiling on 32bit these max functions fail as they are both not considered uint64_t by gcc 10 even though they are files_high_water = std::max(files_high_water, static_cast<uint64_t>(in_flight.size())); Compile output: <pre> /builds/a16bitsysop/aports/community/ceph/src/ceph-16.2.3/src/mds/PurgeQueue.cc: In member function 'void PurgeQueue::_execute_item(const PurgeItem&, uint64_t)': 3899/builds/a16bitsysop/aports/community/ceph/src/ceph-16.2.3/src/mds/PurgeQueue.cc:598:70: error: no matching function for call to 'max(size_t&, uint64_t)' 3900 598 | static_cast<uint64_t>(in_flight.size())); 3901 | ^ </pre>