diff options
| author | sath <[email protected]> | 2024-06-20 11:56:38 +0300 |
|---|---|---|
| committer | sath <[email protected]> | 2024-06-20 12:09:26 +0300 |
| commit | 21a06b21f58177b7fce835838bc38d7228ac7e03 (patch) | |
| tree | e6e4e220945e5738038980eec44d0213096c0fae | |
| parent | c17401ef02ee2224b96ff226750565ed5506c3d0 (diff) | |
Implement TFile::Fallocate for Windows.
66f69cf2778ef870c0ddb050d260160ce8be1c3f
| -rw-r--r-- | util/system/file.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/util/system/file.cpp b/util/system/file.cpp index d9acde845d6..30bba71a038 100644 --- a/util/system/file.cpp +++ b/util/system/file.cpp @@ -446,6 +446,12 @@ bool TFileHandle::FallocateNoResize(i64 length) noexcept { } #if defined(_linux_) && (!defined(_android_) || __ANDROID_API__ >= 21) return !fallocate(Fd_, FALLOC_FL_KEEP_SIZE, 0, length); +#elif defined(_win_) + FILE_ALLOCATION_INFO allocInfo = {}; + allocInfo.AllocationSize.QuadPart = length; + + return SetFileInformationByHandle(Fd_, FileAllocationInfo, &allocInfo, + sizeof(FILE_ALLOCATION_INFO)); #else Y_UNUSED(length); return true; |
