mirror of
https://github.com/Zygo/bees.git
synced 2025-10-14 14:53:36 +02:00
readahead: size_t is 32 bits on ILP32 platforms
Cast size_t so it matches uint64_t for the std::min template. Fixes: https://github.com/Zygo/bees/issues/323 Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
@@ -255,12 +255,12 @@ bees_readahead_nolock(int const fd, const off_t offset, const size_t size)
|
|||||||
// The btrfs kernel code does readahead with lower ioprio
|
// The btrfs kernel code does readahead with lower ioprio
|
||||||
// and might discard the readahead request entirely.
|
// and might discard the readahead request entirely.
|
||||||
BEESNOTE("emulating readahead " << name_fd(fd) << " offset " << to_hex(offset) << " len " << pretty(size));
|
BEESNOTE("emulating readahead " << name_fd(fd) << " offset " << to_hex(offset) << " len " << pretty(size));
|
||||||
auto working_size = min(size, uint64_t(128 * 1024 * 1024));
|
auto working_size = min(uint64_t(size), uint64_t(128 * 1024 * 1024));
|
||||||
auto working_offset = offset;
|
auto working_offset = offset;
|
||||||
while (working_size) {
|
while (working_size) {
|
||||||
// don't care about multithreaded writes to this buffer--it is garbage anyway
|
// don't care about multithreaded writes to this buffer--it is garbage anyway
|
||||||
static uint8_t dummy[BEES_READAHEAD_SIZE];
|
static uint8_t dummy[BEES_READAHEAD_SIZE];
|
||||||
const size_t this_read_size = min(working_size, sizeof(dummy));
|
const size_t this_read_size = min(working_size, uint64_t(sizeof(dummy)));
|
||||||
// Ignore errors and short reads. It turns out our size
|
// Ignore errors and short reads. It turns out our size
|
||||||
// parameter isn't all that accurate, so we can't use
|
// parameter isn't all that accurate, so we can't use
|
||||||
// the pread_or_die template.
|
// the pread_or_die template.
|
||||||
|
Reference in New Issue
Block a user