-
Notifications
You must be signed in to change notification settings - Fork 256
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
Missing rbd API components: function rbd_read_iterate2 #279
Comments
hi, any progress on this? |
No, generally you can assume something has not been investigated yet when there's no assignee, other comments or PR. However, comments like yours help us know there is interest in a feature and help get things prioritized. By the way, what's your use case for this function? |
@phlogistonjohn We maintain many ceph clusters in the cloud. A dedicated component continuously exports selected RBD images for external long-term storage and imports them back when needed. The lack of rbd-cli-like "export" (both volume contents and metadata) forces us to fork rbd cli processes from go code. Since we have to fork the cli anyway we ended up not using go-ceph at all. |
I started looking into this and it doesn't look too challenging. In many ways it's similar to our existing diff iterate support. However, what's not clear to me is why you need this particular call versus an existing api like Read/ReadAt. I'm guessing it could be related to hole detection but it'd be nice to know for sure if that's the use case. Regardless, we'll probably add it, but I'm nosy and like to know why someone picks one interface over another. :-) |
I've created a preliminary implementation at #624. In the meantime you may just want to look into using Read and/or ReadAt calls unless you strongly need hole detection at the ceph layer. |
Thanks for the quick response @phlogistonjohn ! |
https://tracker.ceph.com/issues/3619 It appears that the sparse file "hole" detection does not work properly. And it has not for a while. I can implement it without unit tests to verify hole detection works and "just hope" that ceph rbd team fixes the issue at some point. But I'm not clear if that's valuable to our users. |
It's been over two weeks since I checked up on the requirement to detect "holes". Thanks! |
The rbd API implements function(s) below but go-ceph does not:
This issue has been filed to track implementing this missing
functionality in the appropriate package within go-ceph.
Please refer to the Ceph C API for details about the function(s)
in question.
NOTE: This issue was generated by a script.
If the content is innacurate or wording seems a bit odd
please excuse the script and blame the creator @phlogistonjohn
The text was updated successfully, but these errors were encountered: