osd: return ENOENT if pool information is invalid during tier-flush#46866
osd: return ENOENT if pool information is invalid during tier-flush#46866
Conversation
src/osd/PrimaryLogPG.cc
Outdated
| 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; |
There was a problem hiding this comment.
| dout(5) << " pool inforation is invalid: " << result << dendl; | |
| dout(5) << " pool information is invalid: " << result << dendl; |
src/osd/PrimaryLogPG.cc
Outdated
| 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; |
There was a problem hiding this comment.
| 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>
|
jenkins test make check |
|
yuriw-2022-07-13_19:41:18-rados-wip-yuri7-testing-2022-07-11-1631-distro-default-smithi Unrelated failures tracked in: https://tracker.ceph.com/issues/52124 - Invalid read of size 8 in handle_recovery_delete() Dead Jobs: |
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
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. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
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 windows