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

radosstriper #623

Open
aep opened this issue Dec 20, 2021 · 3 comments
Open

radosstriper #623

aep opened this issue Dec 20, 2021 · 3 comments

Comments

@aep
Copy link

aep commented Dec 20, 2021

would it make sense to include the radosstriper api?
i'm a bit confused about the multiple incompatible ways ceph stores things, so i'm hoping at least rados_stripe is compatible with rgw?

@phlogistonjohn
Copy link
Collaborator

Could you link to an example of this API please? Either code or docs would be suitable.

Also, I'm not clear what you mean by "multiple incompatible ways". Do you mean like rbd vs. cephfs vs. rgw?

@aep
Copy link
Author

aep commented Dec 20, 2021

there's no docs, so i have no idea how it works either. I spotted it when trying to figure out how to access rgw objects without going through the AWS api, which requires a SeekReader.

https://github.com/ceph/ceph/blob/master/src/include/radosstriper/libradosstriper.h

Do you mean like rbd vs. cephfs vs. rgw?

yeah, it's confusing why they're all different implementations on top of rados objects. I'm not sure if radosstriper uses the same object format as rbd or rgw.

@phlogistonjohn
Copy link
Collaborator

there's no docs, so i have no idea how it works either. I spotted it when trying to figure out how to access rgw objects without going through the AWS api, which requires a SeekReader.

https://github.com/ceph/ceph/blob/master/src/include/radosstriper/libradosstriper.h

Thanks. It certainly appears that this is designed to help build striped objects on top of rados, but I don't see much that uses it. There are very few PRs I see that refer to it by name. @tchaikov might know a bit more about it as one of the last people to make changes to those files.

Do you mean like rbd vs. cephfs vs. rgw?

yeah, it's confusing why they're all different implementations on top of rados objects. I'm not sure if radosstriper uses the same object format as rbd or rgw.

They're all trying to meet the needs of different use cases while using rados as a common layer. If they didn't use rados each one would need to (re)invent it's own back end storage [1]. The cephfs subsystem implements posix file system semantics where rgw is an http object store. I've not been involved with ceph a very long time so I'm probably not the best to explain this though. If you're interesting on delving deeper into this topic I suggest emailing the ceph list.

I'm skeptical that the rgw layer uses radosstriper because very few PRs in ceph seem to reference it. ceph is a very active repo so I'd assume I'd see more if it was a component of a hot topic like rgw. But I only looked for a couple of minutes so take what I say here with a grain of salt.

[1] - There are both upsides and downsides to this I'm sure, but that's how ceph does it. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants