| 502 | } |
| 503 | |
| 504 | bool TFileHandle::FlushData() noexcept { |
| 505 | #if defined(_linux_) |
| 506 | if (!IsOpen()) { |
| 507 | return false; |
| 508 | } |
| 509 | |
| 510 | int ret = ::fdatasync(Fd_); |
| 511 | |
| 512 | // Same loginc in error handling as for fsync above. |
| 513 | return ret == 0 || errno == EROFS || errno == EINVAL; |
| 514 | #else |
| 515 | return Flush(); |
| 516 | #endif |
| 517 | } |
| 518 | |
| 519 | i32 TFileHandle::Read(void* buffer, ui32 byteCount) noexcept { |
| 520 | // FIXME size and return must be 64-bit |