Skip to content

Commit

Permalink
fix(serialization): Don't accumulate os.pwrite results <= 0
Browse files Browse the repository at this point in the history
  • Loading branch information
Eta0 committed Nov 27, 2024
1 parent 9d35e68 commit 11231b6
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tensorizer/serialization.py
Original file line number Diff line number Diff line change
Expand Up @@ -3526,13 +3526,15 @@ def _pwrite_syscall(
verify if isinstance(verify, int) else self._buffer_size(data)
)
bytes_just_written: int = os.pwrite(self._fd, data, offset)
bytes_written += bytes_just_written
if bytes_just_written > 0:
bytes_written += bytes_just_written
while bytes_written < expected_bytes_written and bytes_just_written > 0:
# Writes larger than ~2 GiB may not complete in a single pwrite call
offset += bytes_just_written
with self._mv_suffix(data, bytes_written) as mv:
bytes_just_written = os.pwrite(self._fd, mv, offset)
bytes_written += bytes_just_written
if bytes_just_written > 0:
bytes_written += bytes_just_written
if isinstance(verify, int) or verify:
self._verify_bytes_written(bytes_written, expected_bytes_written)
return bytes_written
Expand Down

0 comments on commit 11231b6

Please sign in to comment.