Project

General

Profile

Actions

Bug #50707

closed

mds: 32bit compilation fixes for PurgeQueue

Added by Duncan Bellamy about 3 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Category:
build
Target version:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
pacific,octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

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:

/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      |                                                                      ^


Related issues 2 (0 open2 closed)

Copied to Ceph - Backport #50850: octopus: mds: 32bit compilation fixes for PurgeQueueResolvedCory SnyderActions
Copied to Ceph - Backport #50851: pacific: mds: 32bit compilation fixes for PurgeQueueResolvedCory SnyderActions
Actions

Also available in: Atom PDF