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
librbd: do write_full for whole object write #5750
Conversation
This is useful when ec is the base tier in the cache tiering setup. The write_full can be proxied from the cache tier to the base tier. So that we don't need to promote the object. Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com> Suggested-by: Nick Fisk<nick@fisk.me.uk>
@fiskn here comes the implementation of what we discussed in the ceph-user mail list yesterday :-) |
Wow, that's quick progress. Couple of questions if its ok?
|
@wonzhq could you run part of the rbd suite to show it passes ? You would have to chose at least one job that walks that code path and link the pulpito result as a comment to this pull request. |
@wonzhq you will need to wait for http://tracker.ceph.com/issues/12903 to be fixed before running a successfull test. |
Yes.
Actually the IO has been split when reaching here. This is done by |
@wonzhq wonzhq-rbd-write-full is building in http://ceph.com/gitbuilder.cgi |
@wonzhq Thanks for the response, all makes sense, really looking forward to giving this a test. |
I'll do the same for the kernel client once this is merged. |
LGTM once tested |
Should this also be considered for the CephFS clients? |
Yes, we should be able to do the same thing for cephfs and rgw. Please let me get familiar with the cephfs and rgw code first. |
lgtm too. rgw already uses write_full when possible I think |
@jdurgin shall we run some rbd tests for it also? |
@tchaikov yes, a rados run doesn't execute this code. I'll schedule an rbd run with this and maybe a few other branches |
librbd: do write_full for whole object write Reviewed-by: Jason Dillaman <dillaman@redhat.com> Reviewed-by: Josh Durgin <jdurgin@redhat.com>
This is useful when ec is the base tier in the cache tiering setup. The
write_full can be proxied from the cache tier to the base tier. So that
we don't need to promote the object.
Signed-off-by: Zhiqiang Wang zhiqiang.wang@intel.com
Suggested-by: Nick Fisknick@fisk.me.uk