Actions
Bug #66771
openclient: `ll_writev`/`ll_readv` suffers int overflow if write len exceeds 2GiB
% Done:
0%
Source:
Development
Backport:
reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
Pull request ID:
Tags (freeform):
Merge Commit:
Fixed In:
Released In:
Upkeep Timestamp:
Description
This happens because `Client::ll_writev` calls `Client::_preadv_pwritev_locked` with `clamp_to_int` param value passed as `false` and since the `ObjectCacher::file_write`'s return type is `int`, there is int overflow and the retval from the sync vectored write call is -ve val.
Updated by Venky Shankar over 1 year ago
- Category set to Correctness/Safety
- Assignee set to Dhairya Parmar
- Target version set to v20.0.0
- Backport set to quincy,reef,pacific
Updated by Dhairya Parmar over 1 year ago
So as per https://man7.org/linux/man-pages/man2/write.2.html the max bytes that can be transferred through write() and similar system calls is 2147479552 bytes. Therefore this isn't actually a bug
Updated by Dhairya Parmar over 1 year ago
- Subject changed from client: `ll_writev` suffers int overflow if write len exceeds 2GiB to client: `ll_writev`/`ll_readv` suffers int overflow if write len exceeds 2GiB
Updated by Dhairya Parmar over 1 year ago
- Status changed from New to In Progress
- Pull request ID set to 58481
Updated by Konstantin Shalygin over 1 year ago
- Backport changed from quincy,reef,pacific to quincy,reef
Updated by Konstantin Shalygin about 1 year ago
- Backport changed from quincy,reef to reef
Actions