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

jewel: osd: also check the exsistence of clone obc for "CEPH_SNAPDIR" requests #17707

Merged
merged 2 commits into from
Feb 20, 2018

Conversation

liewegas
Copy link
Member

@liewegas liewegas commented Sep 13, 2017

Signed-off-by: Xuehan Xu <xuxuehan@360.cn>
(cherry picked from commit 5531b6b)
If the incoming request's snapid is CEPH_SNAPDIR and the object context
of clones of its targeting object doesn't exist, also promote those clones

This cannot be cherry-picked from master because ReplicatedPG::do_op()
in "master" branch has been completely reconstructed.

Fixes: http://tracker.ceph.com/issues/17445
Signed-off-by: Xuehan Xu <xuxuehan@360.cn>
@liewegas liewegas changed the title osd: also check the exsistence of clone obc for "CEPH_SNAPDIR" requests jewel: osd: also check the exsistence of clone obc for "CEPH_SNAPDIR" requests Sep 13, 2017
@liewegas liewegas added this to the jewel milestone Sep 13, 2017
@liewegas liewegas added the core label Sep 13, 2017
@@ -2054,7 +2054,7 @@ void ReplicatedPG::do_op(OpRequestRef& op)
}

ObjectContextRef sobc = get_object_context(clone_oid, false);
if (!sobc) {
if (!sobc || !sobc->obs.exists) {
Copy link
Contributor

Choose a reason for hiding this comment

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

in what operation sobc exists, but sobc->obs.exists is false?

Copy link
Contributor

Choose a reason for hiding this comment

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

This happens after a clone object evicted from the cache tier

tchaikov pushed a commit to tchaikov/ceph that referenced this pull request Nov 3, 2017
…of clone obc for "CEPH_SNAPDIR" requests

Reviewed-by: Nathan Cutler <ncutler@suse.com>
@xxhdx1985126
Copy link
Contributor

Um, hi, can anyone review this PR, please:-)

@liewegas
Copy link
Member Author

The number of failures on kefu's earlier run make me nervous, I think this needs a pass through testing.

@smithfarm
Copy link
Contributor

@liewegas The baseline rados suite (on current "jewel" branch) has lots of failures in it. I'm not sure what to do about that. Yes, this is a plea for help.

@xxhdx1985126
Copy link
Contributor

@smithfarm I'm working on it:-)

@smithfarm
Copy link
Contributor

This PR passed a rados integration run at http://tracker.ceph.com/issues/21742#note-14 with two bugs reproducing:

@xxhdx1985126 @liu-chunmei @jdurgin @tchaikov Do you think it's ready to merge?

@smithfarm smithfarm merged commit a65c17d into ceph:jewel Feb 20, 2018
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.

7 participants