1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 11:04:59 +00:00

Kernel: Use u64 instead of size_t for BlockBasedFileSystem::write_block

This ensures offsets will not be truncated on large filesystems on i686
This commit is contained in:
Idan Horowitz 2022-01-25 20:23:53 +02:00
parent 664ca58746
commit 0b2e93cf43
2 changed files with 3 additions and 3 deletions

View file

@ -131,7 +131,7 @@ ErrorOr<void> BlockBasedFileSystem::initialize()
return {};
}
ErrorOr<void> BlockBasedFileSystem::write_block(BlockIndex index, const UserOrKernelBuffer& data, size_t count, size_t offset, bool allow_cache)
ErrorOr<void> BlockBasedFileSystem::write_block(BlockIndex index, const UserOrKernelBuffer& data, size_t count, u64 offset, bool allow_cache)
{
VERIFY(m_logical_block_size);
VERIFY(offset + count <= block_size());
@ -147,7 +147,7 @@ ErrorOr<void> BlockBasedFileSystem::write_block(BlockIndex index, const UserOrKe
return m_cache.with_exclusive([&](auto& cache) -> ErrorOr<void> {
if (!allow_cache) {
flush_specific_block_if_needed(index);
auto base_offset = index.value() * block_size() + offset;
u64 base_offset = index.value() * block_size() + offset;
auto nwritten = TRY(file_description().write(base_offset, data, count));
VERIFY(nwritten == count);
return {};