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
osd: avoid push raw clone when head missing #27273
Conversation
if we are missing head, the snaps of clone will not present. push raw clone will cause peer's SnapMapper cheat. Fixes: http://tracker.ceph.com/issues/23030 Signed-off-by: Zengran Zhang <zhangzengran@sangfor.com.cn>
@liewegas would you have a look? thanks. |
See https://tracker.ceph.com/issues/24396 (#22396 seems to be a work-around rather than a fixer, though) |
@xiexingguo thanks pointed out, i think there still may be some cases that we can avoid crash or inconsistent, i mean the cases different with the "unexpected clone". like the head object is really missing? i think Sage and David had decided to tolerate such an error in the hope that a repair can be performed instead of crash peer. is this reliable when we removing snapshot? because the snapmapper will cheat.. |
In general we should recover the head object first before trying to recover any descendant clone objects... |
yes, this is why i think return -EINVAL is ok.. but seems that "unexpected clone" will cause head objecte be deleted and leave the stray clone object... |
is this obsolete with the assert/fix added in #27575? |
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. |
Let's run this through a rados run to see how it does. |
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 closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
if we are missing head, the snaps of clone will not present.
push raw clone will cause peer's SnapMapper cheat.
Fixes: http://tracker.ceph.com/issues/23030
Signed-off-by: Zengran Zhang zhangzengran@sangfor.com.cn