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

Optimize get object context #6305

merged 2 commits into from Oct 25, 2015


None yet
3 participants
Copy link

majianpeng commented Oct 19, 2015

We create a new object. It will find object context.
1)find head object by get head xattr. But don't found
2)because we can create so alloc context
3)find snapset context by get head xattr or snapdir xattr.
In fact we can remove the second get head xattr.(although one getxattr and because the previous getxattr don't cause other io, but it still need some syscall especial when PG splited)

majianpeng added some commits Oct 16, 2015

osd: optimize get_object_context.
If soid didn't exist and soid is head or snapdir. In
get_snapset_context we can remove the useless objects_get_attr(SS_ATTR).
It mainly for create a new object.

Signed-off-by: Jianpeng Ma <>
osd: remove the useless code.
For get_object_context with can_create is true, we already check
obc->ssc. So don't need other handle

Signed-off-by: Jianpeng Ma <>

@ghost ghost added core performance labels Oct 19, 2015


This comment has been minimized.

Copy link

liewegas commented Oct 19, 2015


liewegas added a commit that referenced this pull request Oct 25, 2015

Merge pull request #6305 from majianpeng/optimize-get-object-context
osd: optimize ReplicatedPG::get_object_context() SnapContext setup

Reviewed-by: Sage Weil <>

@liewegas liewegas merged commit 9f0ecf9 into ceph:master Oct 25, 2015

@majianpeng majianpeng deleted the majianpeng:optimize-get-object-context branch Nov 6, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.