Skip to content

src/test: test vectored/buffered sync i/o with buffers exceeding 2GiB in total len#58481

Open
dparmar18 wants to merge 2 commits intoceph:mainfrom
dparmar18:wip-66771
Open

src/test: test vectored/buffered sync i/o with buffers exceeding 2GiB in total len#58481
dparmar18 wants to merge 2 commits intoceph:mainfrom
dparmar18:wip-66771

Conversation

@dparmar18
Copy link
Contributor

@dparmar18 dparmar18 commented Jul 9, 2024

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 x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows
  • jenkins test rook e2e

@github-actions github-actions bot added cephfs Ceph File System tests labels Jul 9, 2024
@dparmar18 dparmar18 requested a review from a team July 9, 2024 14:38
Copy link
Contributor

@vshankar vshankar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this really need to be a unique_ptr?

Copy link
Contributor Author

@dparmar18 dparmar18 Jul 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The abrupt failure is going to crash the process anyway. Are you worried about limit of memory allocation in process stack?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dparmar18
Copy link
Contributor Author

Looks good. Please squash the top 3 (test related) commits.

Doable for 2nd and 3rd but if you see the first one is temp.

@github-actions
Copy link

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

@github-actions
Copy link

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions github-actions bot added the stale label Dec 16, 2024
@dparmar18 dparmar18 removed the stale label Dec 16, 2024
@dparmar18
Copy link
Contributor Author

ping @rishabh-d-dave

Copy link
Contributor

@rishabh-d-dave rishabh-d-dave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions
Copy link

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions
Copy link

github-actions bot commented Mar 3, 2025

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

@dparmar18
Copy link
Contributor Author

jenkins retest this please

@dparmar18
Copy link
Contributor Author

@vshankar @rishabh-d-dave RFR

@dparmar18
Copy link
Contributor Author

@vshankar ping

1 similar comment
@dparmar18
Copy link
Contributor Author

@vshankar ping

@github-actions
Copy link

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

@vshankar
Copy link
Contributor

vshankar commented Jun 3, 2025

@dparmar18 please rebase. @rishabh-d-dave PTAL for review once rebased.

@dparmar18
Copy link
Contributor Author

dparmar18 commented Jun 3, 2025

@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.

@github-actions
Copy link

github-actions bot commented Aug 2, 2025

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions github-actions bot added the stale label Aug 2, 2025
@dparmar18 dparmar18 removed the stale label Aug 4, 2025
@github-actions
Copy link

github-actions bot commented Oct 3, 2025

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions github-actions bot added the stale label Oct 3, 2025
@dparmar18 dparmar18 removed the stale label Oct 3, 2025
@github-actions
Copy link

github-actions bot commented Dec 2, 2025

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions github-actions bot added the stale label Dec 2, 2025
@dparmar18 dparmar18 removed the stale label Dec 2, 2025
@dparmar18 dparmar18 changed the title client: fix int overflow in vectored sync i/o code paths src/test: test vectored/buffered sync i/o with buffers exceeding 2GiB in total len Dec 18, 2025
@dparmar18
Copy link
Contributor Author

@github-actions
Copy link

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.
If you are a maintainer or core committer, please follow-up on this pull request to identify what steps should be taken by the author to move this proposed change forward.
If you are the author of this pull request, thank you for your proposed contribution. If you believe this change is still appropriate, please ensure that any feedback has been addressed and ask for a code review.

@github-actions github-actions bot added the stale label Feb 16, 2026
@dparmar18 dparmar18 removed the stale label Feb 17, 2026
@dparmar18
Copy link
Contributor Author

@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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants