Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client: stop forwarding the request when exceeding 256 times #45688

Merged
merged 1 commit into from
Apr 17, 2022

Conversation

lxbsz
Copy link
Member

@lxbsz lxbsz commented Mar 29, 2022

The type of 'num_fwd' in ceph 'MClientRequestForward' is 'int32_t',
while in 'ceph_mds_request_head' the type is '__u8'. So in case
the request bounces between MDSes exceeding 256 times, the client
will get stuck.

In this case it's ususally a bug in MDS and continue bouncing the
request makes no sense.

Fixes: https://tracker.ceph.com/issues/55129
Signed-off-by: Xiubo Li xiubli@redhat.com

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

@github-actions github-actions bot added the cephfs Ceph File System label Mar 29, 2022
@lxbsz
Copy link
Member Author

lxbsz commented Mar 29, 2022

Related to PR #45073

src/client/Client.cc Outdated Show resolved Hide resolved
Copy link
Contributor

@luis-henrix luis-henrix left a comment

Choose a reason for hiding this comment

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

This looks good to me, as it seems to follow the same logic as the kernel client.

@lxbsz
Copy link
Member Author

lxbsz commented Mar 30, 2022

This looks good to me, as it seems to follow the same logic as the kernel client.

Yeah, correct. Thanks!

@ajarr
Copy link
Contributor

ajarr commented Mar 31, 2022

@lxbsz I see that the commit message is missing 'Fixes: https://tracker.ceph.com/issues/55129' can you please add that?

@lxbsz
Copy link
Member Author

lxbsz commented Apr 1, 2022

@lxbsz I see that the commit message is missing 'Fixes: https://tracker.ceph.com/issues/55129' can you please add that?

Done. Thanks.

Copy link
Contributor

@ajarr ajarr left a comment

Choose a reason for hiding this comment

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

Thanks, Xiubo!

@vshankar
Copy link
Contributor

jenkins retest this please

The type of 'num_fwd' in ceph 'MClientRequestForward' is 'int32_t',
while in 'ceph_mds_request_head' the type is '__u8'. So in case
the request bounces between MDSes exceeding 256 times, the client
will get stuck.

In this case it's ususally a bug in MDS and continue bouncing the
request makes no sense.

Fixes: https://tracker.ceph.com/issues/55129
Signed-off-by: Xiubo Li <xiubli@redhat.com>
@lxbsz
Copy link
Member Author

lxbsz commented Apr 14, 2022

Nothing changed and just rebased to the latest upstream code.

@vshankar
Copy link
Contributor

jenkins test make check

@vshankar
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cephfs Ceph File System
Projects
None yet
5 participants