src/test: test vectored/buffered sync i/o with buffers exceeding 2GiB in total len#58481
src/test: test vectored/buffered sync i/o with buffers exceeding 2GiB in total len#58481
Conversation
vshankar
left a comment
There was a problem hiding this comment.
Looks good. Please squash the top 3 (test related) commits.
| ASSERT_LT(0, fd); | ||
|
|
||
| const size_t BUFSIZE = static_cast<size_t>(3) * 1024 * 1024 * 1024; | ||
| auto out_buf = std::make_unique<char[]>(BUFSIZE); |
There was a problem hiding this comment.
Does this really need to be a unique_ptr?
There was a problem hiding this comment.
buffers are large, I cannot allocate such huge memory on stack like it is being done in other test cases where the sizes are tiny like:
char out0[] = "hello ";
char out1[] = "world\n";
For heap, I cannot use new and delete since they might leak in case of a abrupt failure. unique_ptr is safe and release memory when gets out of scope.
There was a problem hiding this comment.
The abrupt failure is going to crash the process anyway. Are you worried about limit of memory allocation in process stack?
There was a problem hiding this comment.
The abrupt failure is going to crash the process anyway. Are you worried about limit of memory allocation in process stack?
yes, that's the only concern, have ran out of stack memory couple of times while testing.
There was a problem hiding this comment.
FYI (for anyone reading this): See #58564 (comment) for discussion on this.
| {out_buf_2.get(), BUFSIZE} | ||
| }; | ||
|
|
||
| auto in_buf_0 = std::make_unique<char[]>(BUFSIZE); |
Doable for 2nd and 3rd but if you see the first one is temp. |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
3ffa633 to
ec6b0ee
Compare
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
ping @rishabh-d-dave |
rishabh-d-dave
left a comment
There was a problem hiding this comment.
Skipped the "temp" commit since it belongs to a different PR and will eventually be removed from this PR. Left few nits, but otherwise this PR looks okay to me.
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
jenkins retest this please |
|
@vshankar ping |
1 similar comment
|
@vshankar ping |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
@dparmar18 please rebase. @rishabh-d-dave PTAL for review once rebased. |
I can, though IMO #54435 should go first. There were some changes made to the helpers recently (based on your review comments) which needs to get a green flag first. |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
@vshankar @rishabh-d-dave ping |
… len (as per posix, write/read calls are limited to transferring ~2GiB) Fixes: https://tracker.ceph.com/issues/66771 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
… len Fixes: https://tracker.ceph.com/issues/66771 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e