Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
os/bluestore/Blue(FS|Store): uint64_t alloc_size
Compiling on Debian's 32bit architectures failed with <<PKGBUILDDIR>>/src/os/bluestore/BlueStore.cc:5539:37: error: no matching function for call to ‘p2align(size_t&, uint64_t&)’ 5539 | total += p2align(len, alloc_size); | ^ In file included from /<<PKGBUILDDIR>>/src/include/denc.h:42, from /<<PKGBUILDDIR>>/src/include/encoding.h:40, from /<<PKGBUILDDIR>>/src/include/compact_map.h:16, from /<<PKGBUILDDIR>>/src/include/mempool.h:32, from /<<PKGBUILDDIR>>/src/os/bluestore/BlueStore.h:36, from /<<PKGBUILDDIR>>/src/os/bluestore/BlueStore.cc:25: /<<PKGBUILDDIR>>/src/include/intarith.h:57:20: note: candidate: ‘template<class T> constexpr T p2align(T, T)’ 57 | constexpr inline T p2align(T x, T align) { | ^~~~~~~ /<<PKGBUILDDIR>>/src/include/intarith.h:57:20: note: template argument deduction/substitution failed: /<<PKGBUILDDIR>>/src/os/bluestore/BlueStore.cc:5539:37: note: deduced conflicting types for parameter ‘T’ (‘unsigned int’ and ‘long long unsigned int’) 5539 | total += p2align(len, alloc_size); As far as I understand it the available_freespace should at least be able to return the same number as alloc_size, so we should use uint64_t instead of size_t here, similar to 10a953a Fixes: https://tracker.ceph.com/issues/43451 Signed-off-by: Bernd Zeimetz <[email protected]>
- Loading branch information