fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...

This commit is contained in:
2024-12-24 13:59:16 -06:00
parent 12f552b000
commit 80eb1f2a50

View File

@ -358,6 +358,19 @@ auto open_file::native_operation(
return api_error::download_stopped;
}
if (new_file_size > fsi_.size) {
auto res =
cache_size_mgr::instance().expand(new_file_size - fsi_.size, true);
if (res != api_error::success) {
return res;
}
} else if (new_file_size < fsi_.size) {
auto res = cache_size_mgr::instance().shrink(fsi_.size - new_file_size);
if (res != api_error::success) {
return res;
}
}
auto is_empty_file = new_file_size == 0U;
auto last_chunk = is_empty_file
? std::size_t(0U)
@ -525,19 +538,6 @@ auto open_file::resize(std::uint64_t new_file_size) -> api_error {
return api_error::success;
}
if (new_file_size > fsi_.size) {
auto res =
cache_size_mgr::instance().expand(new_file_size - fsi_.size, true);
if (res != api_error::success) {
return res;
}
} else {
auto res = cache_size_mgr::instance().shrink(fsi_.size - new_file_size);
if (res != api_error::success) {
return res;
}
}
return native_operation(
new_file_size, [this, &new_file_size](native_handle) -> api_error {
return nf_->truncate(new_file_size) ? api_error::success