Skip to content

osd: return ENOENT if pool information is invalid during tier-flush#46866

Merged
yuriw merged 1 commit intoceph:mainfrom
myoungwon:wip-fix-53294
Jul 19, 2022
Merged

osd: return ENOENT if pool information is invalid during tier-flush#46866
yuriw merged 1 commit intoceph:mainfrom
myoungwon:wip-fix-53294

Conversation

@myoungwon
Copy link
Member

@myoungwon myoungwon commented Jun 28, 2022

During tier-flush, OSD sends reference increase message to target OSD.
At this point, sending message with invalid pool information (e.g., deleted pool)
causes unexpected behavior.

Therefore, this commit return ENOENT early before sending the message

fixes: https://tracker.ceph.com/issues/53294

Signed-off-by: Myoungwon Oh myoungwon.oh@samsung.com

Contribution Guidelines

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

get_osdmap()->object_locator_to_pg(target_name, target_oloc, raw_pg);
result = get_osdmap()->object_locator_to_pg(target_name, target_oloc, raw_pg);
if (result < 0) {
dout(5) << " pool inforation is invalid: " << result << dendl;
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
dout(5) << " pool inforation is invalid: " << result << dendl;
dout(5) << " pool information is invalid: " << result << dendl;

get_osdmap()->object_locator_to_pg(tgt_name, tgt_oloc, raw_pg);
result = get_osdmap()->object_locator_to_pg(tgt_name, tgt_oloc, raw_pg);
if (result < 0) {
dout(5) << " pool inforation is invalid: " << result << dendl;
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
dout(5) << " pool inforation is invalid: " << result << dendl;
dout(5) << " pool information is invalid: " << result << dendl;

During tier-flush, OSD sends reference increase message to target OSD.
At this point, sending message with invalid pool information (e.g., deleted pool)
causes unexpected behavior.

Therefore, this commit return ENOENT early before sending the message

fixes: https://tracker.ceph.com/issues/53294

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
@yuriw
Copy link
Contributor

yuriw commented Jul 18, 2022

jenkins test make check

@amathuria
Copy link
Contributor

yuriw-2022-07-13_19:41:18-rados-wip-yuri7-testing-2022-07-11-1631-distro-default-smithi

Unrelated failures tracked in:
Failed Jobs:

https://tracker.ceph.com/issues/52124 - Invalid read of size 8 in handle_recovery_delete()
https://tracker.ceph.com/issues/52321 - qa/tasks/rook times out: 'check osd count' reached maximum tries (90) after waiting for 900 seconds
https://tracker.ceph.com/issues/55853 - test_cls_rgw.sh: failures in 'cls_rgw.index_list' and 'cls_rgw.index_list_delimited`
https://tracker.ceph.com/issues/55322 - test-restful.sh: mon metadata unable to be retrieved

Dead Jobs:
Both the rhel8 tests https://shaman.ceph.com/builds/ceph/wip-yuri7-testing-2022-07-11-1631/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants